用户和组管理命令

Posted f-h-j-11-7

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用户和组管理命令相关的知识,希望对你有一定的参考价值。

一、用户管理命令
1.useradd
             useradd 用户名
              useradd -u xxx 用户名 指定被创建用户的uid为多少

                    -g      gid 指明用户所属基本组
                     -c      用户的注释信息
                     -M     创建非系统用户,不建家目录
                      -s       指定用户的默认shell
                      -e      用户过期时间
                      -G     为用户指明附加组,组须事先存在

            创建用户时默认值设定存放于/etc/default/useradd 
            [[email protected] ~]#cat /etc/default/useradd
            # useradd defaults file
            GROUP=100                       
           HOME=/home #把用户的家目录建在/home中         
           INACTIVE=-1 #是否启用帐号过期停权,-1表示不启用
           EXP  IRE= #帐号终止日期,不设置表示不启用
           SHELL=/bin/bash #新用户默认所用的shell类型
           SKEL=/etc/skel #配置新用户家目录的默认存放路径。当我们用useradd添加用户时,用户家目录下的文件,都是从这里配置的目录中复制过去的。
           CREATE_MAIL_SPOOL=yes #创建mail文件

案例1:创建用户gentpp,附加组为bin和root,默认shell为/bin/csh,注释信息为”Gentoo Distribution”。

[[email protected] ~]#useradd gentpp -G bin,root -s /bin/csh -c “Gentoo Distribution”
[[email protected] ~]#cat /etc/passwd|tail -n1  #查看/etc/passwd最后一行
[[email protected] ~]#id gentpp
uid=1007(gentpp) gid=1008(gentpp) groups=1008(gentpp),0(root),1(bin)

                 /etc/login.defs文件是用来定义创建用户时所需要的一些用户的配置信息。如创建用户时,是否需要家目录,UID和GID的范围,用户及密码的有效期限等等。

2.usermod
                   -u          UID: 新UID
                   -g           GID: 新主组
                   -G          新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项
                   - s          新的默认SHELL
                   -c            新的注释信息
                   -d            HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项
                  -l              login_name: 新的名字
                  -L            lock指定用户,在/etc/shadow 密码栏的增加!
                  -U            unlock指定用户,将/etc/shadow 密码栏取消!centos7不可以解锁

案例:修改gentpp的默认shell和描述信息

[[email protected] ~]#cat /etc/passwd | tail -n1
gentpp:x:1007:1008:Gentoo Distribution:/home/gentpp:/bin/csh
[root@centos7 ~]#usermod -s /bin/sh gentpp
[[email protected] ~]#cat /etc/passwd | tail -n1
gentpp:x:1007:1008:new world:/home/gentpp:/bin/sh

 3.userdel

                 -r           删除用户时,连同其家目录,mail一同删除

    getent passwd ==cat /etc/passwd #查看用户信息,后面可直接跟用户名
   

 [[email protected] ~]#getent passwd fan
 fan:x:1000:1000:ma:/home/ma:/bin/bash

 

 4.ID
               显示当前用户自身的信息
                id 用户名  显示指定用户的信息
               id -u 用户名 显示指定用户的uid
               id -g 用户名 显示指定用户的主组的gid
               id -un 用户名 显示指定用户的名字
               id -gn 用户名 显示指定用的的主组的组名

案例:

[[email protected] ~]#id gentpp
uid=1007(gentpp) gid=1008(gentpp) groups=1008(gentpp),0(root),1(bin)
[root@centos7 ~]#id -u gentpp
1007
[root@centos7 ~]#id -g gentpp
1008
[root@centos7 ~]#id -G gentpp
1008 0 1
[root@centos7 ~]#id -nG gentpp
gentpp root bin

 

5.su 切换用户或以其他用户身份执行命令
              su 非登录式切换,不会读取目标用户的部分配置文件,不改变当前工作目录
              su – 登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换
              root使用su切换至其他用户无须密码,其他用户之间切换或者切换到root需要密码

6.passwd 修改指定用户的密码,仅root用户权限
               -l:锁定指定用户
              -u:解锁指定用户
              -e:强制用户下次登录修改密码
              -n mindays: 指定最短使用期限
              -x maxdays:最大使用期限
             -w warndays:提前多少天开始警告
              -i inactivedays:非活动期限
              –stdin:从标准输入接收用户密码

案例:修改fan的密码

[[email protected] ~]#echo fanhj |passwd –stdin fan
Changing password for user fan.
passwd: all authentication tokens updated successfully.

 

注意:一次只能修改一个用户密码,不能批量修改

二、组帐号管理命令

1.groupadd
-g 创建指定gid的组
-r 创建系统组 CentOS 6: ID<500
CentOS 7: ID<1000

2.groupmod
-n newgrpname oldgrpname 修改组名
-g newgid groupname 修改gid 

3.groupdel
groupdel 组名 删除组 

4.gpasswd
-a user 将user添加至指定组中
-d user 从指定组中移除用户user

5.groupmems[options] [action]
options
-g 更改为指定组
actions
-a 指定用户加入组
-d 从组中删除用户
-p 从组中清除所有成员
-l 显示组成员列表

[email protected] ~]#groupmems -g admins -a f
[[email protected] ~]#groupmems -g admins -a h #将ma和zhu用户添加到admins中
[[email protected] ~]#groupmems -g admins -l #查看admins中的用户列表
fan  h
[root@centos7 ~]#groupmems -g admins -d f #将ma从admins中删除
[[email protected] ~]#groupmems -g admins -l
h
[root@centos7 ~]#groupmems -g admins -p #清空admins中的所有组成员
[[email protected] ~]#groupmems -g admins –l

6.groups 查看用户所属组列表

[[email protected] ~]#groups fan
fan : fan
root@centos7 ~]#groups h
h : h

 



























































以上是关于用户和组管理命令的主要内容,如果未能解决你的问题,请参考以下文章

30.用户和组管理命令

linux 用户和组管理命令

linux入门之用户和组管理类命令

Linux常用命令账号和组管理

用户和组的简单命令介绍

用户和组管理命令