用戶組管理
1 useradd # 添加用戶 2 userdel # 刪除用戶 3 usermod # 修改用戶資訊 # 創建用戶 [root@localhost ~]# useradd user1 # 查看用戶 [root@localhost ~]# id user1 uid=1002(user1) gid=1003(user1) 組=1003(user1) [root@localhost ~]# who # 查看所有登錄的⽤戶資訊 [root@localhost ~]# whoami # 查看當前登錄的⽤戶名 '注意': 當創建⼀個⽤戶時,如果沒有指定⽤戶的主組,將會創建⼀個同名的組作為⽤戶的主組 # 刪除用戶 [root@localhost ~]# userdel user1 # 刪除⽤戶user1,但不刪除⽤戶家⽬錄和mail [root@localhost ~]# userdel -r user1 # 要想刪徹底,加-r選項
1.1 useradd命令
# 怎樣在Linux系統中添加⼀個新的⽤戶賬戶 1) 掌握useradd命令的功能:新增⼀個⽤戶。 2) 了解useradd命令的常⽤選項: 3) –u:指定⽤戶的UID 4) –g:指定⽤戶所屬的主群 –G:指定⽤戶所屬的附加群 5) –d:指定⽤戶的家⽬錄 6) –c:指定⽤戶的備註資訊 7) –s:指定⽤戶所⽤的shell 8) -e:修改過期時間 9) -M: 不創建家⽬錄 10) -r: 創建系統賬戶,uid處於系統⽤戶範圍內,默認就沒有家⽬錄 #靈活應⽤useradd命令的舉例: a) 例如:在系統中新增⼀個fox(狐狸)⽤戶的命令:useradd fox b) 例如:在系統中新增⼀個⽤戶user01,屬組為police以及uid為600的命令: useradd –u 600 –g police user01 ==================================================================== # 其他練習 [root@root ~]# useradd user01 [root@root ~]# useradd user02 -u 503 # 創建⽤戶usr02,指定uid [root@root ~]# useradd user03 -d /aaa # 創建⽤戶user03 指定家⽬錄 [root@root ~]# useradd user04 -M # 創建⽤戶user04,不創建家⽬錄 [root@root ~]# useradd user05 -s /sbin/nologin # 創建⽤戶並指定shell [root@root ~]# useradd user06 -g hr # 創建⽤戶,指定主組 [root@root ~]# useradd user07 -G sale # 創建⽤戶,指定附加組 [root@root ~]# useradd user08 -e 2014-04-01 # 指定過期時間 [root@root ~]# useradd user10 -u 4000 -s /sbin/nologin [root@aliyum ~]# useradd xxx -M -s /sbin/nologin # 創建普通⽤戶,但是沒有家⽬錄,不能登錄系統 [root@aliyum ~]# useradd -r yyy -s /sbin/nologin # yyy屬於系統⽤戶,uid處於系統⽤戶uid範圍內
1.2 usermod命令
# 同useradd參數基⼀致,只不過useradd是添加,usermod是修改 -u # 指定要修改⽤戶的UID -g # 指定要修改⽤戶基本組 -a # 將⽤戶添加到補充組。僅與-G選項⼀起使⽤ -G # 指定要修改⽤戶附加組,使⽤逗號隔開多個附加組, 覆蓋原有的附加組 -d # 指定要修改⽤戶家⽬錄 -c # 指定要修改⽤戶注釋資訊 -s # 指定要修改⽤戶的bash shell [root@root ~]# usermod -e 2013-02-11 user1000 # 修改過期時間 [root@root ~]# usermod -g group1 jj # 修改主組 [root@root ~]# usermod -a -G group2 jj # 修改附加組,-a添加,不加-a代表覆蓋 其他選項 -m # 將⽤戶主⽬錄的內容移動到新位置。如果當前主⽬錄不存在,則不會創建新的主⽬錄 -l # 指定要修改⽤戶的登陸名 -L # 指定要鎖定的⽤戶 -U # 指定要解鎖的⽤戶
1.3 設定與修改密碼
passwd # 默認給當前⽤戶設定密碼 passwd ⽤戶名 # root⽤戶可以給⾃⼰以及所有其他⽤戶設定密碼,普通⽤戶只能設定⾃⼰的密碼 echo "密碼" | passwd --stdin ⽤戶名 # ⾮互動式 # 補充:可以利⽤系統內置變數⽣成隨機字元串來充當密碼 [root@aliyum ~] # echo $RANDOM|md5sum|cut -c 1-10 70ba11a74b
2 組管理
1 創建組:groupadd 2 修改組:groupmod 3 刪除組:groupdel
2.1 groupadd命令
[root@aliyum ~] # groupadd gg1 #創建基本組, 不指定gid [root@aliyum ~] # tail -1 /etc/group gg1:x:2005: [root@aliyum ~] # groupadd -g 5555 gg2 #創建基本組, 指定gid為5555 [root@aliyum ~] # tail -1 /etc/group gg2:x:5555: [root@aliyum ~] # groupadd -r gg3 # 創建系統組,gid從201-999 [root@aliyum ~] # tail -1 /etc/group gg3:x:991:
2.2 groupmod命令
[root@aliyum ~] # groupmod -g 1111 gg3 [root@aliyum ~] # tail -1 /etc/group gg3:x:1111: [root@aliyum ~] # groupmod -n new_gg3 gg3 # -n 修改組名稱 [root@aliyum ~] # tail -1 /etc/group new_gg3:x:1111:
2.3 groupdel命令
# 如果⼀個組是⼀個⽤戶的主組,那麼該組不能被刪除,刪掉⽤戶會默認⼀起刪掉他的主組 [root@aliyum ~] # useradd egon1 [root@aliyum ~] # groupadd devops [root@aliyum ~] # usermod -G devops egon1 [root@aliyum ~] # id egon1 uid=2004(egon1) gid=2004(egon1) groups=2004(egon1),5556(devops) [root@aliyum ~] # groupdel devops # 附加組可以刪除 [root@aliyum ~] # id egon1 # 查看⽤戶,發現他的附加組沒有了 uid=2004(egon1) gid=2004(egon1) groups=2004(egon1) [root@aliyum ~] # groupdel egon1 # ⽆法刪除組egon1,因為組egon1屬於egon1⽤戶的主組 groupdel: cannot remove the primary group of user 'egon1'

總結
# 許可權管理與用戶組管理 RBAC 許可權管理 可讀許可權組 可寫許可權組 可執行許可權組 # id 獲取當前用戶的資訊 # whoami 獲取當前用戶 ps:用戶uid小於1000的是系統用戶 用戶uid大於等於1000的是普通用戶 創建用戶:useradd 刪除用戶:userdel 修改用戶:usermod 修改密碼:passwd 創建組:groupadd 修改組:groupmod 刪除組:groupdel /etc/passwd 用戶配置文件 /etc/shadow 用戶的密碼文件 /etc/group 用戶組 /etc/gshadow 用戶組密碼文件 # 手動創建用戶 1、創建用戶組:/etc/group 2、創建用戶組密碼文件:/etc/gshadow 3、創建用戶:/etc/passwd 4、創建用戶密碼:/etc/shadow 5、創建家目錄 6、修改許可權,複製隱藏文件 # 許可權 自己 自己組 其他 rwx rwx rwx 421 421 421 # 用戶組可以關聯多個用戶 文件默認初始:666 # 偶數位直接相減,奇數位相減後加1 目錄默認初始:777 # 直接相減即可 root :umask 022 文件:644 目錄:755 user1:umask 002 文件:422 目錄:422