用户和组管理命令

用户和组管理

1、用户和组管理命令

用户管理命令:useradd、usermod、userdel、passwd、id
组账号维护命令:groupadd、groupmod、groupdel、gpasswd、
其他相关命令:groups、groupmems、newusers、chpasswd、chage、newgrp、su、chsh、getent、finger、chfn…

2、useradd

  • useradd - 创建新用户或者更改默认新用户的信息
  • usage - useradd [options] LOGIN
  • 新用户创建时默认家目录模板文件:/etc/skel/*
  • 新建用户相关的默认配置文件:/etc/default/useradd
  • 新建用户相关的默认配置文件:/etc/login.defs
  • newusers 批量创建用户
  • chpasswd 批量修改用户口令
1、默认相关配置文件:
    [root@centos7 ~]# cat /etc/default/useradd 
    # useradd defaults file
    GROUP=100 
        useradd -N此时创建用户默认主组为user组(GID100),
        不创建与其同名的用户组
    HOME=/home
    INACTIVE=-1
        口令过期活跃天数,默认-1表示不做处理
    EXPIRE=
        账户有效时长
    SHELL=/bin/bash
    SKEL=/etc/skel
    CREATE_MAIL_SPOOL=yes
        创建邮箱

    [root@centos7 ~]# cat /etc/login.defs (详请去查阅文档)
    
    [root@centos7 ~]# ll -a /etc/skel/
    -rw-r--r--.   1 root root   18 Oct 31  2018 .bash_logout
    -rw-r--r--.   1 root root  193 Oct 31  2018 .bash_profile
    -rw-r--r--.   1 root root  231 Oct 31  2018 .bashrc
    drwxr-xr-x.   4 root root   39 Jul 17 16:52 .mozilla
    -rw-r--r--.   1 root root  658 Oct 31  2018 .zshrc

2、要求掌握的选项有:
    [root@centos7 ~]# rpm -q --scripts httpd
    preinstall scriptlet (using /bin/sh):
    # Add the "apache" group and user
    /usr/sbin/groupadd -g 48 -r apache 2> /dev/null || :
    /usr/sbin/useradd -c "Apache" -u 48 -g apache \
    s /sbin/nologin -r -d /usr/share/httpd apache 2> /dev/null...
    
    httpd的安装前执行脚本中,创建apache用户中的选项。
    useradd -c|-s|-r|-g|-u|

3、useradd选项: 
  -c,用户注释
  -d, 指定家目录路径;不存在的目录
  -g,GID
  -G,为用户指明附加组,附加组必须事先存在
  -m,创建家目录,用于系统用户
  -M,不创建家目录,用于非系统用户
  -N,不创建私用组做主组,使用user做主组
  -o,配合-u不检查UID的唯一性
  -r, 系统用户
  -s,shell
  -u,UID
示例:
    [root@centos7 ~]# useradd -s /bin/zsh -u 1111  \
        -G zheng -d /data/xm -c 'xiaoming'  xm   
        (一般使用''表面字符串)    
    [root@centos7 ~]# getent passwd xm
    xm:x:1111:1111:xiaoming:/data/xm:/bin/zsh
    [root@centos7 ~]# ll -d /data/xm
    drwx------. 3 xm xm 92 Jul 26 19:53 /data/xm

3、newusers | chpasswd

newusers 批量创建用户 | chpasswd批量修改用户口令

    newusers userfile(userfile文件格式与/etc/passwd格式保持一致)
    chpasswd passwdfile(passwdfile文件格式为 user_name:password)
示例:
newusers:
    [root@centos7 tmp]# getent passwd mage
    mage:x:1001:1001::/home/mage:/bin/bash
    [root@centos7 tmp]# cat newusers.txt 
    user1:x:1005:1005::/home/user1:/bin/zsh
    user2:x:1006:1006::/home/user2:/bin/zsh
    [root@centos7 tmp]# newusers newusers.txt 
    [root@centos7 tmp]# tail -2 /etc/passwd
    user1:x:1005:1005::/home/user1:/bin/zsh
    user2:x:1006:1006::/home/user2:/bin/zsh
    [root@centos7 tmp]# id user1
    uid=1005(user1) gid=1005(user1) groups=1005(user1)
chpasswd:
    [root@centos7 tmp]# cat password.txt 
    user1:centos
    user2:centos
    [root@centos7 tmp]# chpasswd <password.txt
    [root@centos7 tmp]#

4、usermod

  • usermod - 修改用户属性
  • Usage: usermod [options] LOGIN
Options:
  -c 'COMMENT',修改注释
  -d HOME,新的家目标不会自动创建,若要创建新家目录并且原家目录数据;
    同时使用-m选项
  -e YY-MM-DD,指明用户账户过期日期
  -f INACTIVE,设定非活动期限
  -g GID,新主组 
  -G GROUP1,[GROUP2]...,新附加组(覆盖修改),配个-a使用,新增附加组
  -a,配个-G使用
  -l login_name,新用户名
  -o,不匹配UID的唯一性,与-u连用
  -s SHELL,新的默认shell,与chsh命令一样
  -u UID,新的UID
  -U,unlock 解锁用户
  -L,lock 锁定用户

示例: 
    [root@centos7 tmp]# usermod -aG user1 user2
        将user2加入至user1组中
    [root@centos7 tmp]# usermod -G '' mage
        删除mage的附加组
    [root@centos7 tmp]# id user2
    uid=1003(user2) gid=1003(user2) groups=1003(user2),1005(user1)

5、userdel

  • userdel - 删除用户和相关文件
  • Usage: userdel [options] LOGIN
Options:  
    -r, 删除家目录和邮箱。

6、passwd

  • passwd - 更改用户密码
  • Usage: passwd [OPTION…]
选项:
  -d,删除指定用户口令(root only)
  -l,锁定指定用户(root only)
  -u,解锁指定用户(root only)
  -e,强制要求用户下次用户登录时修改口令(root only)
  -f,强制执行
  -x,口令最长使用期(root only)
  -n,口令最短使用期(root only)
  -w,口令过期前多长时间警告(root only)
  -i,口令过期后活跃时长(root only)
  --stdin,从STDIN中读取口令(root only)

7、id

  • id - 显示用户相关信息
  • Usage: id [OPTION]… [USER]
选项:
    -g,显示GID
    -G,显示所属组GID
    -n,配合-ugG显示名相应名称
    -u,显示UID
示例:
    [root@centos7 ~]# id -nu
    root
    [root@centos7 ~]#
    id可用来判断用户是否存在
    [root@centos7 ~]# id user1
    id: user1: no such user

8、groupadd

  • groupadd - 创建新组
  • Usage: groupadd [options] GROUP
Options:
    -g GID,指定创建组的GID
    -r,系统组

9、groupmod

  • groupmod修改组属性
  • Usage: groupmod [options] GROUP
Options:
    -g GID:更改组的GID
    -n name:更改组名

10、groupdel

  • groupdel - 删除组
  • Usage: groupdel [options] GROUP

11、gpasswd

  • gpasswd - 管理/etc/group和/etc/gshadow
  • Usage: gpasswd [option] GROUP
Options:
    -a user,将user添加至指定用户
    -d user,从指定组中移除用户
    -A user1,user2..设置组管理员
    -r,删除组密码
        组默认无密码,无密码时由root管理该组
        若设置密码,任何人可以凭密码加入该组

12、groups

  • groups - 打印用户所在的组
  • Usage: groups [OPTION]… [USERNAME]…
示例:
    [root@centos7 ~]# gpasswd -a mage user1
    Adding user mage to group user1
    [root@centos7 ~]# groups mage root
    mage : mage user1
    root : root

13、groupmems

  • groupmems - 管理组成员
  • Usage: groupmems [options] [action]
Options:
  -g groupname,对指定组名执行action(root only)

Actions:
  -a, --add username 指定用户加入该组
  -d, --delete username 该组移除指定用户
  -l, --list 列出该组成员
Example:
    [root@centos7 ~]# groupmems -g user1 -a zheng
    [root@centos7 ~]# groupmems -g user1 -l
    mage  zheng 
    [root@centos7 ~]# 

14、chage

  • chage - 更改用户密码的到期信息
  • Usage: chage [options] LOGIN
Options:
    -d, --lastday LAST_DAY
    -E, --expiredate EXPIRE_DATE
    -I, --inactive INACTIVE
    -l, --list 显示用户到期信息
    -m, --mindays MIN_DAYS
    -M, --maxdays MAX_DAYS
    -W, --warndays WARN_DAYS 
Example:
    [root@centos7 ~]# chage user1
    ...
    (以下信息回车为默认;默认为[#]表示的信息)
	Minimum Password Age [0]: 
	Maximum Password Age [99999]: 
	Last Password Change (YYYY-MM-DD) [2019-07-27]: 
	Password Expiration Warning [7]: 
	Password Inactive [-1]: 
	Account Expiration Date (YYYY-MM-DD) [-1]: 

15、newgrp

  • newgrp - 临时切换主组
  • Usage: newgrp [-] [group]

16、su

  • su - 切换用户或以其他用户身份执行命令
  • Usage [options] [-] [USER [arg]…]
Options:
    -, -l, --login  使shell成为一个登陆shell(完全切换)
    -c cmd,su [-] User -c 'COMMAND' 指定用户身份执行命令
登录式切换(完全切换):su - user
    不读取切换用户的配置文件,不改变当前工作目录
非登录式切换(不完全切换):su user
    读取切换用户的配置文件,切换至用户家目录

17、getent

  • getent - get entries from Name Service Switch libraries
  • getent - 从名称服务交换机库中获取条目
  • Usage: getent [OPTION…] database [key …]
Example:
    getent passwd|shadow|group|gshadow[user]
    [root@centos7 ~]# getent passwd user1
    user1:x:1002:1003::/home/user1:/bin/bash
    [root@centos7 ~]# getent group user1
    user1:x:1003:mage,zheng
    [root@centos7 ~]# getent gshadow user1
    user1:!::mage,zheng
    [root@centos7 ~]# 

18、finger

  • finger - 显示用户描述信息
  • usage:finger [user …]
Example:
    [root@centos7 ~]# finger user1
    Login: user1            Name: 
    Directory: /home/user1  Shell: /bin/bash
    Never logged in.
    No mail.
    No Plan.
    [root@centos7 ~]#

19、chfn

  • chfn - 更改用户描述信息
  • chfn [option] [username]
options:
    -f,全名,描述信息
    -o,办公室
    ...
example:
    [root@centos7 ~]# chfn user1
    Changing finger information for user1.
    Name []: xigua
    Office []: wu
    Office Phone []: wu
    Home Phone []: 10086
    Finger information changed.
    [root@centos7 ~]# finger user1
    Login: user1                Name: xigua
    Directory: /home/user1      Shell: /bin/bash
    Office: wu, wu	        Home Phone: x1-0086
    Never logged in.
    No mail.
    No Plan.
    [root@centos7 ~]# getent passwd user1
    user1:x:1002:1003:xigua,wu,wu,10086:/home/user1:/bin/bash
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值