用戶組管理
1.用戶必須屬於一個且只有一個主組,一個用戶可以屬於零個或多個輔助組。
配置文件和格式
/etc/passwd:login name:passwd:UID:GID:註釋(finger username 查看註釋):用戶家目錄:shell
/etc/group:群組名:群組密碼(記錄在gshadow):GID:以當前組為附加組的用戶列表:(分隔符為逗號)
/etc/shadow: login name:passwd:last changed:min:max:warn:inact:expire
/etc/gshadow:群組名:群組密碼:組管理員列表:以當前組為附加組的用戶列表: (分隔符為逗號)
group與gshadow
2.useradd命令
* -u UID; -ou 不檢查uid唯一性; -g 指明用戶基本組; -c 註釋信息; -s shell程序; -G 附加組;-r 系統用戶
如[[email protected] ~]# useradd -r -s /sbin/nologinmysql ----新增用戶mysql shelll類型為sbin/nologin(不可交互式登陸)
系統用戶 -r ----有兩個特征:UID為1000內系統賬戶(centos7)以及家目錄以及郵箱不會自動生成
*在/home 目錄下創建新家目錄,系統會將/etc/shel目錄下的隱藏文件拷貝到家目錄下
* -d ----以指定的目錄路徑(不存在)創建家目錄,則需手動創建家目錄
*如果一個用戶賬號被刪除,為了訪問該以前該家目錄。可以設置指定uid跟該賬號一樣的用戶,就可以訪問該被刪除用戶的家目錄
[[email protected]~]# ll /home
total 8
drwx------.14 beings beings 4096 Jul 14 12:51 beings
drwx------. 3 liu liu 74 Jul 23 10:26 liu
drwx------. 5 wang wang 4096 Jul 23 10:49 wang
drwx------. 3 1002 wang
[[email protected]~]# useradd -u 1002 li
[[email protected]~]# ll /home
total 8
drwx------.14 beings beings 4096 Jul 14 12:51 beings
drwx------. 3 li li 74 Jul 23 11:41 li
drwx------. 3 liu liu 74 Jul 23 10:26 liu
drwx------. 5 wang wang 4096 Jul 23 10:49 wang
drwx------. 3 li wang 74 Jul 23 10:14 zhang
3.usermod 命令
此處著重介紹 -G ; -d
*-G ----新附加組,原來的附加組將會被覆蓋;若保留原有,則要同時使用-a選項
*-d ----新家目錄不會自動創建;若要創建新家目錄並移動原家數據,同時使用-m選項
[[email protected] app]# ll /home
total 4
drwx------. 4 zab zab 4096 Jul 22 15:10 zab
[[email protected] app]# usermod -d /app/homezab -m zab ----把zab的家目錄改為/app/homezab
[[email protected] app]# ll /app
total 20
drwx------. 4 zab zab 4096 Jul 22 15:10 homezab
*清空附加組三種方法:
[[email protected]~]# id wang
uid=1001(wang)gid=1001(wang) groups=1001(wang),1002(zhang)
[[email protected]~]# usermod -G wang wang
[[email protected]~]# id wang
uid=1001(wang) gid=1001(wang) groups=1001(wang)
[[email protected] ~]# usermod -aG liu wang ----添加liu為wang的附加組,不添加-a則原有附加組將被覆蓋
[[email protected]~]# id wang
uid=1001(wang)gid=1001(wang) groups=1001(wang),1003(liu)
[[email protected] ~]# usermod -G‘‘ wang ----‘‘表示空格
[[email protected]~]# id wang
uid=1001(wang)gid=1001(wang) groups=1001(wang
[[email protected]~]# id wang
uid=502(wang)gid=504(wang) groups=504(wang),500(zab)
[[email protected] ~]# groupmems -d wang -g zab
[[email protected]~]# id wang
uid=502(wang)gid=504(wang) groups=504(wang)
*newgrp命令
[[email protected]]$ id wang
uid=1001(wang)gid=1001(wang) groups=1001(wang),1003(liu)
[[email protected] root]$ newgrp liu ----wang以liu為附加組臨時切換不需要組密碼
[[email protected]]$ id
uid=1001(wang)gid=1003(liu) groups=1003(liu),1001(wang)
4.userdel命令
*-r ----刪除用戶家目錄以及郵箱 userdel username 只刪除username用戶名未刪除家目錄可使用rm -rf 刪除
5.passwd命令
僅root用戶權限
*-e ----強制用戶下次登錄修改密碼
*echo “密碼” | passwd --stidin用戶名----一次修改用戶名密碼不用重復輸入兩次
*chage 修改密碼
[[email protected] app]# chage zab ---修改密碼時間配置信息
Changingthe aging information for zab
Enterthe new value, or press ENTER for the default
Minimum Password Age [0]:
Maximum Password Age [99999]:
Last Password Change (YYYY-MM-DD) [2017-07-22]:
Password Expiration Warning [7]:
Password Inactive [-1]:
Account Expiration Date (YYYY-MM-DD) [-1]:
[[email protected]]# chage -m 0 -M 42 -W 14 -I 7 zab
[[email protected] app]# getent shadow zab ----getent 查看系統數據庫相關記錄
zab:!!:17369:0:42:14:7::
[[email protected] app]# chfn zab ----修改個人信息
Changingfinger information for zab.
Name[]:
Office[]:
OfficePhone []:
HomePhone []:
Fingerinformation not changed.
[[email protected] app]# chsh zab ----修改shell類型
Changingshell for zab.
Newshell [/bin/bash]:
6.組
*groups username ----查看屬於什麽組
*groupmems username ----查看組成員
* groupmems ----參數與-g配合使用
options:
-g, --group groupname更改為指定組 (只有root)
actions:
-a,--add username 指定用戶加入組
-d,--delete username 從組中刪除用戶
-p,--purge 從組中清除所有成員
-l,--list 顯示組成員列表
*gpasswd [OPTION] GROUP
-a ----將user添加至指定組中
*增加附加組三種方法:
[[email protected] ~]# id wang
uid=502(wang) gid=504(wang) groups=504(wang)
[[email protected] ~]# usermod -aGli wang ----在wang裏增加li這個組
[[email protected] ~]# id wang
uid=502(wang) gid=504(wang) groups=504(wang),503(li)
[[email protected] ~]# id wang
uid=502(wang) gid=504(wang) groups=504(wang)
[[email protected] ~]# gpasswd -awang li ----增加wang到li這個組裏
Adding user wang to group li
[[email protected] ~]# id wang
uid=502(wang) gid=504(wang) groups=504(wang),503(li)
[[email protected] ~]# id wang
uid=502(wang) gid=504(wang) groups=504(wang)
[[email protected] ~]# groupmems-a wang -g li ----增加wang到li這個組裏
[[email protected] ~]# id wang
uid=502(wang) gid=504(wang) groups=504(wang),503(li)
如果要更多了解和學習用戶組管理的命令,可查詢man幫助!
用戶組管理