用户和组管理密码

创建用户

格式

useradd    [选项]
 
 -u UID
  -o 配合-u 选项,不检查UID的唯一性 
  -g GID 指明用户所属基本组,可为组名
  -d HOME_DIR 以指定的路径(不存在)为家目录 
  -s SHELL 指明用户的默认shell程序,可用列表在/etc/shells文件中
  -G GROUP1[,GROUP2,...] 为用户指明附加组,组须事先存在 
  -N 不创建私用组做主组,使用users组做主组 
  -r 创建系统用户 CentOS 6之前: ID<500,CentOS7 以后: ID<1000 
  -m 创建家目录,用于系统用户 
  -M 不创建家目录,用于非系统用户 
  -p 指定加密的密码

范例:

  • 创建用户及密码
[root@centos ~]#useradd jason
[root@centos ~]#passwd jason
Changing password for user jason.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.

useradd命令默认值由/etc/default/useradd定义

[root@centos ~]#cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1           用户密码过期的宽限期
EXPIRE=               用户账号有效期
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

修改用户属性

格式

usermod    [选项]
 
  -u    新UID
  -g    新主组
  -G    GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项
  -s    SHELL
  -d    新家目录
  -l    新的名字

范例:

  • 更改用户UID
[root@centos ~]#id lin
uid=1001(lin) gid=1001(lin) groups=1001(lin)
[root@centos ~]#usermod -u 1006 lin
[root@centos ~]#id lin
uid=1006(lin) gid=1001(lin) groups=1001(lin)
  • 更该GID(必须是已经存在的GID)
[root@centos ~]#id lin
uid=1006(lin) gid=1000(lee) groups=1000(lee)
[root@centos ~]#usermod -g 999 lin
[root@centos ~]#id lin
uid=1006(lin) gid=999(input) groups=999(input)

删除用户

格式

userdel    [选项]
  
  -f       强制删除
  -r       删除用户和家目录

查看用户相关ID信息

格式

id      [选项]
   
  -u      UID
  -g      GID
  -G      显示用户所属组的id

切换用户

格式

su      [选项]

  -c    执行完指令后即恢复原来的身份
  -l    切换用户后,同时也改变工作目录
  -m    变更用户时,不改变环境变量

切换密码

passwd    [选项]
 
  -d      删除指定用户密码
  -l      锁定指定用户
  -u      解锁指定用户
  -e      强制用户下次登录修改密码
  -f      强制操作
  -n mindays指定最短使用期限 
  -x maxdays最大使用期限 
  -w warndays:提前多少天开始警告 
  -i inactivedays:非活动期限 
  --stdin:从标准输入接收用户密码,Ubuntu无此选项
  • 非交互式修改用户密码
[root@centos ~]#echo '0078' | passwd sun
Changing password for user sun.
New password: BAD PASSWORD: The password is shorter than 8 characters
Retype new password: Password change aborted.
New password: Password change aborted.
New password: Password change aborted.
passwd: Have exhausted maximum number of retries for service

修改用户密码策略

格式

chage     [选项]

  -m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。
  -M:密码保持有效的最大天数。
  -w:用户密码到期前,提前收到警告信息的天数。
  -E:帐号到期的日期。过了这天,此帐号将不可用。
  -d:上一次更改的日期。
  -i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
  -l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
[root@centos ~]#chage sun
Changing the aging information for sun
Enter the new value, or press ENTER for the default

	Minimum Password Age [0]: 
	Maximum Password Age [99999]: 
	Last Password Change (YYYY-MM-DD) [2022-04-28]: 
	Password Expiration Warning [7]: 
	Password Inactive [-1]: 
	Account Expiration Date (YYYY-MM-DD) [-1]: 

创建组

格式

groupadd    [选项]
 
  -g        指明GID号
  -r        创建系统组

范例

[root@centos ~]#groupadd -g 898 -r k

修改组

格式

group    [选项]

  -n      新名字
  -g      新的GID

删除组

gaoupdel    [选项]
  
  -f        强制删除。可以删除用户的主组,但会导致无主组的用户无法登录

更改密码

  • gpasswd命令,可以更改组密码,也可以修改附加组的成员关系

格式

gpasswd      [选项]

  -a user 将user添加至指定组中 
  -d user 从指定附加组中移除用户user 
  -A user1,user2,... 设置有管理权限的用户列表
  • 增加组成员
[root@centos etc]#groupadd add
[root@centos etc]#id lee
uid=1000(lee) gid=1000(lee) groups=1000(lee)
[root@centos etc]#gpasswd -a lee add
Adding user lee to group add
[root@centos etc]#id lee
uid=1000(lee) gid=1000(lee) groups=1000(lee),1009(add)
  • 删除组成员
[root@centos ~]#gpasswd -d lee add
Removing user lee from group add
[root@centos ~]#id lee
uid=1000(lee) gid=1000(lee) groups=1000(lee)
posted @ 2022-04-28 23:20  Eiji-Lee  阅读(221)  评论(0)    收藏  举报