用戶和權限管理shell
用戶、組是計算機實現資源分配和安全的一種機制。安全
組管理:bash
添加組:groupadd [選項] group ide
-g GID:指明GID;ui
-r, --system:系統組;加密
修改組信息:groupmod [選項] GROUP spa
-g GID 遞歸
-n NEW_NAME:修改組名;進程
組刪除:groupdel [選項] GROUP資源
組解析庫文件:/etc/group
GRPNAME:x:GID:user1, user2, ...
組名:密碼點位符:GID:以此組爲附加組的用戶列表,以逗號分隔
gpasswd命令:爲組添加密碼 組密碼文件:/etc/gshadow
組中用戶管理:gpasswd [選項] group
-a USERNAME:把用戶添加至組中;
-d USERNAME:今後組中移除此用戶;
newgrp命令:登陸到一個新組
用戶管理
添加用戶:useradd [選項] 登陸名
-c, --comment COMMENT:註釋信息,通常爲Full Name;
-d, --home /PATH/TO/HOME_DIR:家目錄路徑;目標路徑不能事先存在,不然會有警告,不會得利skel相關的文件給用戶;
-g, --gid GROUP:用戶的基本組組名或GID;
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:用戶所屬的附加組列表,彼此間用逗號隔開,中間沒有空格;
-m, --create-home:強制建立家目錄;
-M:不建立用戶主目錄,即便系統在 /etc/login.defs 中的設置 (CREATE_HOME) 爲 yes; -r, --system:建立一個系統帳戶
-s, --shell SHELL:用戶的登陸 shell 名,默認爲留空,讓系統根據 /etc/default/useradd 中的 SHELL 變量選擇默認的登陸shell;
-u, --uid UID:用戶 ID 的數字值。此值必須爲惟一的,除非使用了 -o 選項。此值必須非負,默認使用大於等於UID_MIN,且大於任何其餘用戶 ID 最小值。
注意:建立登陸用戶時,爲其自定義的shell程序必須爲可登陸shell,且要位於/etc/shells文件中;
useradd -D:顯示建立用戶時的默認設定
-e, --expiredate EXPIRE_DATE:用戶帳號的過時期限;過時後會被鎖定;日期以 YYYY-MM-DD 格式指定
-f, --inactive INACTIVE:密碼過時後,帳戶被完全禁用以前的天數。0 表示當即禁用,-1 表示禁用這個功能。
爲用戶提供默認配置的配置文件:/etc/login.defs, /etc/default/useradd
修改用戶信息:usermod 選項 用戶名
-c, --comment COMMENT
-d, --home HOME_DIR:修改家目錄爲新的位置,但通常應該同時使用-m選項以保證原家目錄中的文件會移動到新目錄中;
-g, --gid GROUP
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改時會覆蓋原有的附加組;一同使用-a選項,表示爲用戶添加新的附加組;
-l, --login NEW_LOGIN:修改當前用戶的用戶名;
-s, --shell SHELL
-u, --uid UID
-L, --lock:鎖定用戶的密碼。這會在用戶加密的密碼以前放置一個「!」
-U, --unlock:解鎖用戶的密碼。這將移除加密的密碼以前的「!」
刪除用戶帳號:userdel [選項] 登陸名
-r, --remove:用戶主目錄中的文件將隨用戶主目錄和用戶郵箱一塊兒刪除
passwd命令:密碼管理命令
passwd [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [--stdin] [username]
選項:
-l:鎖定密碼 -e DATE:過時期限 -x DATE:密碼的最長使用期限
-u:解鎖解密 -i DATE:非活動期限 -w DATE:警告期限
-d:清除密碼 -n DATE:密碼的最短使用期限 --stdin:標準輸入
(1) passwd:修改本身的密碼;(2) passwd username:修改其它用戶的密碼,僅root有此權限;
密碼存放位置:/etc/shadow
登陸名:密碼:最近一次的修改時間:密碼的最短使用期限:密碼最長使用期限:提早警告的天數:非活動期限:帳號的禁用日期:保留字段
權限管理
進程安全上下文:
進程:運行一個程序文件而產生,一般由一個用戶發起;進程則以發起者的身份運行;
判斷進程的發起者是否與文件屬主相同,若是是,則以屬主的身份來訪問,從而應用屬主權限;不然
判斷進程的發起者是否屬於文件的屬組,若是是,則應用屬組權限;不然應用「其它」權限。
文件系統文件權限有三類用戶owner、group、other,他們分別有r(讀)、w(寫)、x(執行)能夠指派
權限表示: 8進制
owner: rwx 4(r) 2(w) 1(x) 例如:rwxr-xr-x:755
group: rwx
other: rwx
chmod命令:做用:change file mode bits
chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... --reference=RFILE FILE...
MODE:賦權表示法:直接操做一類用戶的全部權限位rwx;
一、u= g= o= a=
二、兩類用戶權限相同:ug=, go=
不一樣類的用戶權限不一樣:u=,g=,o=
受權表示法:操做一類用戶一位或多位權限;
三、u+, u- g+, g- o+, o- a+, a-
兩類用戶權限收授機制相同:ug+, ug-, ...
四、不一樣類的用戶權限不一樣:u+,g+,o+
--reference=RFILE:RFILE表示參考其權限模型;
經常使用選項:-R, --recursive:遞歸修改;
文件屬主修改chown命令:
chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown [OPTION]... --reference=RFILE FILE...
經常使用選項:-R, --recursive:遞歸修改;
文件屬組修改:chgrp命令:
chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE...
umask:顯示或設定文件模式掩碼 永久生效在/etc/bashrc 中修改
文件:666-umask
目錄:777-umask
注意:之因此文件用666去減,表示文件默認不能有執行權限;若是減得的結果中,u,g或o有執行權限時,則須要加1;
顯示:umask 設定:umask MASK 注意:此設定僅對當前shell進程有效;