Linux用戶與組的管理命令主要有useradd、usermod、userdel、groupadd、groupmod、groupdel、groupmems、gpasswd、passwd、newgrp等等(詳見上篇Linux用戶與組的管理詳解),其中每條命令也都有很多的可選項,對于初學者來說很容易造成混淆;此外,這些命令之間有很多相重合的用法,即:擁有多種命令可實現相同的需求的情況。
接下來,我們來把這些混淆和重合點進行下梳理:
一、易混淆點:關于GID的改變
命令1:usermod -g ????? 改變一個用戶的gid
[root@CentOS6 ~]#id wangx
uid=1666(wangx) gid=1235(wangx) groups=1235(wangx)
[root@CentOS6 ~]#usermod -g 4322 wangx
[root@CentOS6 ~]#id wangx
uid=1666(wangx) gid=4322(mage) groups=4322(mage)
此條命令改變了用戶的主組,需注意的是新改變的主組需已存在
命令2:newgrp????????? 臨時改變一個用戶的gid
[wangx@CentOS6 ~]$id
uid=1666(wangx) gid=1235(wangx) groups=1235(wangx),4322(mage) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[wangx@CentOS6 ~]$newgrp mage
[wangx@CentOS6 ~]$id
uid=1666(wangx) gid=4322(mage) groups=4322(mage),1235(wangx) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[wangx@CentOS6 ~]$id wangx
uid=1666(wangx) gid=1235(wangx) groups=1235(wangx),4322(mage)
此條命令作用為切換當前登錄用戶的主組,注意是臨時切換,重新登錄后失效,使用id ?user命令看到的還是切換前的主組
命令3:groupmod -g???? 改變組的gid
[root@CentOS6 ~]#id wangx
uid=1666(wangx) gid=1235(wangx) groups=1235(wangx)
[root@CentOS6 ~]#groupmod -g 1236 wangx
[root@CentOS6 ~]#id wangx
uid=1666(wangx) gid=1236(wangx) groups=1236(wangx)
此條命令僅僅是改變了組的ID,組成員還是原來的組成員,沒有變化。
二、增、刪輔助組的多種方式
1.為一個用戶添加一個輔助組有三種方式:(這里暫以添加一個輔助組為例,暫不考慮添加多個輔助組的情況)
命令1:groupmems -a user -g group????? ?? 指定用戶user加入組group
[root@CentOS6 ~]#id wangx
uid=1666(wangx) gid=1235(wangx) groups=1235(wangx)
[root@CentOS6 ~]#groupmems -a wangx -g mage
[root@CentOS6 ~]#id wangx
uid=1666(wangx) gid=1235(wangx) groups=1235(wangx),4322(mage)
命令2:gpasswd -a user group????????? 將用戶user添加至指定組group中:
[root@CentOS6 ~]#gpasswd -a wangx mage
Adding user wangx to group mage
[root@CentOS6 ~]#id wangx
uid=1666(wangx) gid=1235(wangx) groups=1235(wangx),4322(mage)
命令3:usermod -G ????? 為user用戶添加輔助組,注意:新的輔助組覆蓋原輔助組:
[root@CentOS6 ~]#id wangx
uid=1666(wangx) gid=1235(wangx) groups=1235(wangx)
[root@CentOS6 ~]#usermod -G mage wangx
[root@CentOS6 ~]#id wangx
uid=1666(wangx) gid=1235(wangx) groups=1235(wangx),4322(mage)
2.從一個輔助組中刪除一個用戶也有三種方式:
命令1:groupmems ?-d ?user ?-g ?group ? 從group組中刪除用戶user
[root@CentOS6 ~]#id wangx
uid=1666(wangx) gid=1235(wangx) groups=1235(wangx),4322(mage)
[root@CentOS6 ~]#groupmems -d wangx -g mage
[root@CentOS6 ~]#id wangx
uid=1666(wangx) gid=1235(wangx) groups=1235(wangx)
命令2:gpasswd????? -d ? user ?group??? 將用戶user從group組中刪除
[root@CentOS6 ~]#id wangx
uid=1666(wangx) gid=1235(wangx) groups=1235(wangx),4322(mage)
[root@CentOS6 ~]#gpasswd -d wangx mage
Removing user wangx from group mage
[root@CentOS6 ~]#id wangx
uid=1666(wangx) gid=1235(wangx) groups=1235(wangx)
命令3:usermod -G ? “” ? user
usermod -G user user ? ? ? 兩種方法均可刪除所有輔助組
[root@CentOS6 ~]#id wangx
uid=1666(wangx) gid=1235(wangx) groups=1235(wangx),4322(mage)
[root@CentOS6 ~]#usermod -G wangx wangx
[root@CentOS6 ~]#id wangx
uid=1666(wangx) gid=1235(wangx) groups=1235(wangx)
三、其他的一些擁有多種命令可實現相同需求的情況:
1.修改一個用戶的shell類型(2種方法):
命令1:chsh???????????? 修改用戶的shell
命令2:usermod -s? 新的默認shell
2.修改一個用戶的描述信息(2種方法):
命令1:chfn????????????? 修改用戶描述信息
命令2:usermod -c? 新的用戶描述信息
3.修改一個賬號下次登錄自動修改密碼(2種方法):
命令1:chage -l wang??? 使wang賬戶口令立馬失效,下次登錄自動修改
命令2:passwd -e wang 使wang賬戶口令立馬失效,下次登錄自動修改
4.給一個賬號加鎖(2種方法):
命令1:usermod -L
命令2:passwd -l
5.給一個賬號解鎖(2種方法):
命令1:usermod -U
命令2:passwd -u
6.給一個賬號指定最短使用期限(mindays)(2種方法):
命令1:passwd -n
命令2:chage -m
7.最大使用期限(maxdays)(2種方法):
命令1:passwd -x
命令2:chage -M
8.設置一個賬號提前多少天開始警告(warndays)(2種方法):
命令1:passwd -w
命令2:chage -W
9.設置一個賬號非活動期限(inactivedays)(3種方法):
命令1:passwd -i
命令2:usermod -f
命令3:chage -I
10.設置一個賬號的有效期(expiredate)(2種方法):
命令1:usermod -e YYYY-MM-DD??? 設置用戶賬號過期時間
命令2:chage -E YYYY-MM-DD 設置用戶賬號過期時間
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/94830
電信大佬 666