Part1 Linux系統賬號和許可權管理
useradd
/etc/passwd 使用者名稱:密碼佔位符:UID:GID:註釋資訊:家目錄:預設shell
定製使用者屬性
/etc/group 使用者名稱:x:GID:以此組為額外組的使用者列表:
/etc/shadow登入名:加密密碼:最近以此密碼修改的時間:密碼最短使用期限:密碼最長使用期限:密碼到期警告天數:賬號的非活動天數:賬號過期期限:預留段
從1970年1月1日開始至上次修改密碼時的天數
-u UID,有效範圍0-65535 例:useradd -u UID Ubuntu
-g GID,有效範圍已有的GID
-c COMMENT
-d /path/to/somewhere
-r 建立系統使用者,ID範圍1-499之間的使用者
-M 不為使用者建立家目錄
-m 必須為使用者建立家目錄
usermod:
-u UID
-g GID
-a -G GID -a保留原來的額外組,增加新增的額外組 -G修改額外組會覆蓋原有的額外組 append,追加
-c COMMENT
-s /PATH/TO/SHELL
-l New_NAME:修改使用者登入名稱
-m -d /path/to/somewhere -d只修改家目錄指向,同時使用-m選項可實現將原來家目錄移動為新的目錄
groupadd
-g GID
-r 建立系統組
密碼管理
passwd:修改自己的密碼
-l:鎖定使用者賬號
-u 解鎖使用者賬號
shadow 使用者名稱:密碼
密碼安全策略:
足夠複雜:
1、密碼長度至少5位:
2、包含大小寫、數字和特殊字元至少三類
3、定期更換:不要重複只用此前用過的密碼
groupmod 修改屬性
-g GID
-n NEW_NAME
加密方法:
對稱加密:加密和解密使用同一個金鑰:3DES,AES(Advanced Encrption Standard):金鑰管理及分發功能很差
公鑰加密:也叫非對稱加密:私鑰/公鑰(s/p),公鑰可以從私鑰中提取得到:加密速度慢:通常用於金鑰分發:RSA, DSA
單項加密:只能加密不能解密,提取資料特徵碼,特性
1、無論輸入是多大,其輸出是定長的:
2、如果輸入的資料一樣,其結果一定一樣;反之,輸入資料的微小改變,將引起結果的巨大改變,雪崩效應
3、演算法:md5(message digest),SHA(Secure Hash Algorithm),SHA1
Md5:128bits,sha1:160bits, sha-256:256bits, sha-512:512bits
openssl passwd -1 -salt 12345678 pa55word
金鑰屬性的修改:
passwd
-e
-n: 密碼最短使用天數
-x: 最長使用天數
-w: 警告天數
-I:非活動時長
chage
-d:修改密碼的最近一次修改時間
-m: 密碼最短使用期限
-M: 密碼最長使用期限
-W:警告天數
-I:非活動天數
-E:過期時間
chmod
-e YYYY-MM-DD
-f 0過期 -1表示永不過期
gpasswd:為組設定密碼
newgrp GROUP:臨時設定指定的組為自己的基本組
許可權:
r:read,4
w:write,2
x:execute,1檔案可發起的程序,目錄表示可ls,-l,cd
檔案系統安全模型:
屬主,屬組,其他人
改變檔案許可權(mode)
chmod:change mode
chmod [選項] 許可權 檔案
許可權定義方式:
1.同時修改三類使用者的許可權:8進位制數字方式
2.修改某一類或某些使用者的許可權:u,g,o , a
3.只操作某類使用者的某位或某些位許可權:u,g , o ,a
選項:
-R:遞迴修改許可權:
--reference=/path/to/somefile
例:chmod --reference=/etc cups/
修改檔案的屬主和屬組:
chown[選項] 使用者 檔案
chgrp [選項] 組 檔案
chown mongodb a.txt
chgrp mongodb a.txt
chown 使用者:組 檔案
chown 使用者.組 檔案
只更改檔案組 chown :redis a.txt
chown --reference=b.txt a.txt
刪除使用者
userdel USERNAME
-r 刪除家目錄
刪除組
group GROUPNAME
管理員和普通使用者建立檔案或目錄的預設許可權:
umask:遮罩碼
建立檔案:666-umask
檔案預設不能有執行許可權
建立目錄:777-umask
設定umask
umask 002 僅對當前shell生效退出後還原
shell環境設定:
shell也是應用程式,工作於使用者模式;執行為程序:
shell程序使用者提供命令列介面;提供一些列工作特性,有些特性可以自行設定:
/etc/shells: tcsh, dash,
/sbin/nologin: 不能登入
useradd -s /sbin/nologin mongodb