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 14:34
下一篇 2018-04-03 16:14

相关推荐

  • liunx笔记

    操作系统 :硬件驱动    进程管理    内存管理   网络管理   安全管理 文件管理 。 编程语言   :低级语言   机器语言  :0和1   中级语言:c    高级语言 :java  python       php . 服务器三大操作系统  :windows      liunx    unix. liunx 内核  :住版本号   次版本号 …

    Linux笔记 2018-04-01
  • Linux的学习之旅

    Linux的文件系统层级结构标准FHS image.png /etc=====和主机相关的系统配置文件 edit the configure /home===== 用户家目录 /usr======二层分层的目录。默认是最大的。 /dev=====设备文件 /media======挂载点和可移动的设备, /mnt=====临时挂载点 /var=======可变…

    Linux笔记 2018-04-01
  • linux基础

    计算机的组成及其功能 计算机初始设计出的时候,就遵循冯诺依曼体系,主要有四部分组成,cpu(中央处理器;运算器和控制器),存储器,输入设备和输出设备 cpu: 运算器、控制器、寄存器,缓存(为了提高cpu性能的加速部件) 存储器:内存,RAM(随机访问存储器) 输入:对计算机下指令,提供让机器操作的数据等;不如键盘,鼠标 输出:输出数据加工后的结果;比如显示…

    Linux笔记 2018-06-24
  • sed

    用法: sed  [选项]… ‘script’ inputfile 其中script是脚本基于sed语法的脚本                 inputfile文件内容 常用选项 -n   :不输出模式空间内容到屏幕,即不自动打印 -e   :多点编辑 -f    :   /PATH/SCRIPT_FILE:从指定文件中…

    Linux笔记 2018-04-14
  • 基于Memcached的session server

    session server:将Tomcat的session信息保存在Memcached中,实现session server 前提: 两个Tomcat节点,两个Memcached节点,一个nginx节点;Tomcat需要使用到Memcached-session-manager这个Java类,即上面所说的调用了Memcached提供的API的模块,以达到Mem…

    Linux笔记 2018-03-31
  • N30-bash特性以及Linux文件管理常用命令汇总

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 文件管理类命令:cat,tac,head,tail,more,less 分屏查看命令:more,less more:more FILE特点,翻盘至文件尾部后自动退出 less FILE head:查看文件的前n行head [options] FILE-n 数字-数字 tail:查看…

    Linux笔记 2018-05-26

评论列表(1条)

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

    电信大佬 666