TangWei's Studio

Linux用户与组管理命令的易混淆点和重合点

Word count: 1,075 / Reading time: 5 min
2018/04/03 Share

Linux用户与组管理命令的易混淆点和重合点

Linux用户与组的管理命令主要有useradd、usermod、userdel、groupadd、groupmod、groupdel、groupmems、gpasswd、passwd、newgrp等等(详见上篇Linux用户与组的管理详解),其中每条命令也都有很多的可选项,对于初学者来说很容易造成混淆;此外,这些命令之间有很多相重合的用法,即:拥有多种命令可实现相同的需求的情况。

一、易混淆点:关于GID的改变

1.改变一个用户的gid

usermod -g

[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.临时改变一个用户的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.改变组的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.指定用户user加入组group

groupmems -a user -g 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.将用户user添加至指定组group中

gpasswd -a 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.为user用户添加辅助组

注意:新的辅助组覆盖原辅助组
usermod -G

[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)

4.从group组中删除用户user

groupmems -d user -g group

[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)

5.将用户user从group组中删除

gpasswd -d 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)

6.两种方法均可删除所有辅助组

usermod -G user user
usermod -G “” 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.给一个账号加锁(4种方法)

命令1:usermod -L

命令2:passwd -l

命令3:usermod -U

命令4:passwd -u

5.给一个账号指定最短使用期限(mindays)(2种方法)

命令1:passwd -n

命令2:chage -m

6.最大使用期限(maxdays)(2种方法)

命令1:passwd -x

命令2:chage -M

7.设置一个账号提前多少天开始警告(warndays)(2种方法)

命令1:passwd -w

命令2:chage -W

8.设置一个账号非活动期限(inactivedays)(3种方法)

命令1:passwd -i

命令2:usermod -f

命令3:chage -I

9.设置一个账号的有效期(expiredate)(2种方法)

命令1:usermod -e YYYY-MM-DD 设置用户账号过期时间

命令2:chage -E YYYY-MM-DD 设置用户账号过期时间

CATALOG
  1. 1. Linux用户与组管理命令的易混淆点和重合点