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

(8)
wangxczwangxcz
上一篇 2018-04-03
下一篇 2018-04-03

相关推荐

  • Linux入门知识

    #Linux基础入门 用户登录 终端(terminal) 什么是shell? bash shell是什么? 命令提示符 shell内部可执行程序有两类 Hash 缓存表 alias 命令的别名 命令格式 linux常用命令 bash 的快捷键 用户登录 root 用户 一个特殊的管理帐户 也被称为超级用户 root 已接近完整的系统控制 对系统损害几乎有无限…

    Linux笔记 2018-05-07
  • if,case,for 脚本练习

    shell脚本练习

    2018-05-06
  • 出来马哥教育

    18年到马哥教育学校Linux

    Linux笔记 2018-07-19
  • nginx实现请求转发

    反向代理适用于很多场合,负载均衡是最普遍的用法。 nginx 作为目前最流行的web服务器之一,可以很方便地实现反向代理。 nginx 反向代理官方文档: NGINX REVERSE PROXY 当在一台主机上部署了多个不同的web服务器,并且需要能在80端口同时访问这些web服务器时,可以使用 nginx 的反向代理功能: 用 nginx 在80端口监听所…

    Linux笔记 2018-07-08
  • SHELL编程

    2018-03-21
  • 进程管理工具

    进程管理工具

    Linux笔记 2018-04-20

评论列表(1条)

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

    电信大佬 666