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

Linux用户与组的管理命令,对于初学者来说很容易造成混淆,此外,这些命令之间有很多相重合的用法,即:拥有多种命令可实现相同的需求的情况。

2

 

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.178linux.com/94830

评论列表(0条)

  • 小孜然 2018-04-16 15:04

    电信大佬 666

联系我们

400-080-6560

在线咨询

工作时间:周一至周五,9:30-18:30,节假日同时也值班

QR code