用戶和組管理命令
一、用戶管理命令
1.useradd
useradd 用戶名
useradd -u xxx 用戶名 指定被創建用戶的uid為多少
-g gid 指明用戶所屬基本組
-c 用戶的註釋信息
-M 創建非系統用戶,不建家目錄
-s 指定用戶的默認shell
-e 用戶過期時間
-G 為用戶指明附加組,組須事先存在
創建用戶時默認值設定存放於/etc/default/useradd
[root@centos7 ~]#cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home #把用戶的家目錄建在/home中
INACTIVE=-1 #是否啟用帳號過期停權,-1表示不啟用
EXP IRE= #帳號終止日期,不設置表示不啟用
SHELL=/bin/bash #新用戶默認所用的shell類型
SKEL=/etc/skel #配置新用戶家目錄的默認存放路徑。當我們用useradd添加用戶時,用戶家目錄下的文件,都是從這裏配置的目錄中復制過去的。
CREATE_MAIL_SPOOL=yes #創建mail文件
案例1:創建用戶gentpp,附加組為bin和root,默認shell為/bin/csh,註釋信息為”Gentoo Distribution”。
[root@centos7 ~]#useradd gentpp -G bin,root -s /bin/csh -c “Gentoo Distribution” [root@centos7 ~]#cat /etc/passwd|tail -n1 #查看/etc/passwd最後一行 [root@centos7 ~]#id gentpp uid=1007(gentpp) gid=1008(gentpp) groups=1008(gentpp),0(root),1(bin)
/etc/login.defs
2.usermod
-u UID: 新UID
-g GID: 新主組
-G 新附加組,原來的附加組將會被覆蓋;若保留原有,則要同時使用-a選項
- s 新的默認SHELL
-c 新的註釋信息
-d HOME: 新家目錄不會自動創建;若要創建新家目錄並移動原家數據,同時使用-m選項
-l login_name: 新的名字
-L lock指定用戶,在/etc/shadow 密碼欄的增加!
-U unlock指定用戶,將/etc/shadow 密碼欄取消!centos7不可以解鎖
案例:修改gentpp的默認shell和描述信息
[root@centos7 ~]#cat /etc/passwd | tail -n1 gentpp:x:1007:1008:Gentoo Distribution:/home/gentpp:/bin/csh [root@centos7 ~]#usermod -s /bin/sh gentpp [root@centos7 ~]#cat /etc/passwd | tail -n1 gentpp:x:1007:1008:new world:/home/gentpp:/bin/sh
3.userdel
-r 刪除用戶時,連同其家目錄,mail一同刪除
getent passwd ==cat /etc/passwd #查看用戶信息,後面可直接跟用戶名
[root@centos7 ~]#getent passwd fan fan:x:1000:1000:ma:/home/ma:/bin/bash
4.ID
顯示當前用戶自身的信息
id 用戶名 顯示指定用戶的信息
id -u 用戶名 顯示指定用戶的uid
id -g 用戶名 顯示指定用戶的主組的gid
id -un 用戶名 顯示指定用戶的名字
id -gn 用戶名 顯示指定用的的主組的組名
案例:
[root@centos7 ~]#id gentpp uid=1007(gentpp) gid=1008(gentpp) groups=1008(gentpp),0(root),1(bin) [root@centos7 ~]#id -u gentpp 1007 [root@centos7 ~]#id -g gentpp 1008 [root@centos7 ~]#id -G gentpp 1008 0 1 [root@centos7 ~]#id -nG gentpp gentpp root bin
5.su 切換用戶或以其他用戶身份執行命令
su 非登錄式切換,不會讀取目標用戶的部分配置文件,不改變當前工作目錄
su – 登錄式切換,會讀取目標用戶的配置文件,切換至家目錄,完全切換
root使用su切換至其他用戶無須密碼,其他用戶之間切換或者切換到root需要密碼
6.passwd 修改指定用戶的密碼,僅root用戶權限
-l:鎖定指定用戶
-u:解鎖指定用戶
-e:強制用戶下次登錄修改密碼
-n mindays: 指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天開始警告
-i inactivedays:非活動期限
–stdin:從標準輸入接收用戶密碼
案例:修改fan的密碼
[root@centos7 ~]#echo fanhj |passwd –stdin fan Changing password for user fan. passwd: all authentication tokens updated successfully.
註意:一次只能修改一個用戶密碼,不能批量修改。
二、組帳號管理命令
1.groupadd
-g 創建指定gid的組
-r 創建系統組 CentOS 6: ID<500
CentOS 7: ID<1000
2.groupmod
-n newgrpname oldgrpname 修改組名
-g newgid groupname 修改gid
3.groupdel
groupdel 組名 刪除組
4.gpasswd
-a user 將user添加至指定組中
-d user 從指定組中移除用戶user
5.groupmems[options] [action]
options
-g 更改為指定組
actions
-a 指定用戶加入組
-d 從組中刪除用戶
-p 從組中清除所有成員
-l 顯示組成員列表
root@centos7 ~]#groupmems -g admins -a f [root@centos7 ~]#groupmems -g admins -a h #將ma和zhu用戶添加到admins中 [root@centos7 ~]#groupmems -g admins -l #查看admins中的用戶列表 fan h [root@centos7 ~]#groupmems -g admins -d f #將ma從admins中刪除 [root@centos7 ~]#groupmems -g admins -l h [root@centos7 ~]#groupmems -g admins -p #清空admins中的所有組成員 [root@centos7 ~]#groupmems -g admins –l
6.groups 查看用戶所屬組列表
[root@centos7 ~]#groups fan fan : fan root@centos7 ~]#groups h h : h
用戶和組管理命令