管理本地用户和组、密码

目标

  创建、修改和删除本地用户账户,并且管理密码。

实操演示

  • 1.创建用户

命令:useradd

常用选项:
用法:useradd [选项] 登录

选项:
-d, –home-dir HOME_DIR 新账户的主目录
-e, –expiredate EXPIRE_DATE 新账户的过期日期
-g, –gid GROUP 新账户主组的名称或 ID
-G, –groups GROUPS 新账户的附加组列表
-m, –create-home 创建用户的主目录
-M, –no-create-home 不创建用户的主目录
-N, –no-user-group 不创建同名的组
-o, –non-unique 允许使用重复的 UID 创建用户
-p, –password PASSWORD 加密后的新账户密码
-s, –shell SHELL 新账户的登录 shell
-u, –uid UID 新账户的用户 ID
-U, –user-group 创建与用户同名的组

useradd mark
#默认情况下,创建用户时,用户默认家目录为/home/用户名,默认空密码。
#用户信息存放文件路径:/etc/passwd
#用户密码存放文件路径:/etc/shadow

[root@jenkins ~]# vim /etc/shadow
mark:!!:19030:0:99999:7:::

##以冒号做分割符,每列分别对应关系如下:
用户名:密码:创建时间:密码修改时间限制:密码过期时间:密码到期提醒时间:密码过期后可使用时间:密码指定过期时间:空闲

创建时间=当前时间减去197071号的后的天数

 

  • 2.修改用户属性

命令:usermod

常用选项:
用法:usermod [选项] 登录
选项:
-c, –comment 注释 GECOS 字段的新值
-d, –home HOME_DIR 用户的新主目录
-e, –expiredate EXPIRE_DATE 设定帐户过期的日期为 EXPIRE_DATE
-f, –inactive INACTIVE 过期 INACTIVE 天数后,设定密码为失效状态
-g, –gid GROUP 强制使用 GROUP 为新主组
-G, –groups GROUPS 新的附加组列表 GROUPS
-a, –append GROUP 将用户追加至上边 -G 中提到的附加组中,并不从其它组中删除此用户
-L, –lock 锁定用户帐号
-m, –move-home 将家目录内容移至新位置 (仅于 -d 一起使用)
-o, –non-unique 允许使用重复的(非唯一的) UID
-s, –shell SHELL 该用户帐号的新登录 shell
-u, –uid UID 用户帐号的新 UID
-U, –unlock 解锁用户帐号


[root@jenkins ~]# tail -1 /etc/passwd
mark:x:1001:1002::/home/mark:/bin/bash
##用户默认shell登陆方式

[root@jenkins ~]# usermod -s /sbin/nologin mark
[root@jenkins ~]# tail -1 /etc/passwd
mark:x:1001:1002::/home/mark:/sbin/nologin
##修改用户登陆方式为不登陆shell


[root@jenkins ~]# usermod -G nginx mark
##给mark用户指定附加的用户组nginx

[root@jenkins ~]# id mark
uid=1001(mark) gid=1002(mark) 组=1002(mark),1001(nginx

命令:userdel

常用选项:
用法:userdel [选项] 登录
选项:
-r, –remove 删除主目录和邮件池
-R, –root CHROOT_DIR chroot 到的目录
-P, –prefix PREFIX_DIR prefix directory where are located the /etc/* files
-Z, –selinux-user 为用户删除所有的 SELinux 用户映射

[root@jenkins ~]# userdel -r mark
##删除mark用户并且删除目录文件

  • 3.创建、修改用户组属性

命令:groupadd

常用选项
用法:groupadd [选项] 组
选项:
-f, –force 如果组已经存在则成功退出
并且如果 GID 已经存在则取消 -g
-g, –gid GID 为新组使用 GID
-o, –non-unique 允许创建有重复 GID 的组

[root@jenkins ~]# groupadd -g 1001 nginx
##创建nginx组并指定GID

命令:groupmod

常用选项
用法:groupmod [选项] 组
选项:
-g, –gid GID 将组 ID 改为 GID
-n, –new-name NEW_GROUP 改名为 NEW_GROUP
-o, –non-unique 允许使用重复的 GID

[root@jenkins ~]# groupadd -g 1002 nginx
##修改nginx组GID

命令:groupmems

常用选项
用法:groupmems [选项] [动作]
选项:
-g, –group groupname 更改组 groupname,而不是用户的组(只 root)
-R, –root CHROOT_DIR chroot 到的目录
动作:
-a, –add username 将用户 username 添加到组成员中
-d, –delete username 从组的成员中删除用户 username
-h, –help 显示此帮助信息并推出
-p, –purge 从组中移除所有成员
-l, –list 列出组中的所有成员

[root@jenkins ~]# groupmems -d mark -g nginx
##删除nginx组中的mark用户

[root@jenkins ~]# id mark
uid=1001(mark) gid=1002(mark) 组=1002(mark)
  • 4.创建用户密码与修改

命令:passwd

常用选项
用法: passwd [选项…] <帐号名称>
-k, –keep-tokens 保持身份验证令牌不过期
-d, –delete 删除已命名帐号的密码(只有根用户才能进行此操作)
-l, –lock 锁定指名帐户的密码(仅限 root 用户)
-u, –unlock 解锁指名账户的密码(仅限 root 用户)
-e, –expire 终止指名帐户的密码(仅限 root 用户)
-f, –force 强制执行操作
-x, –maximum=DAYS 密码的最长有效时限(只有根用户才能进行此操作)
-n, –minimum=DAYS 密码的最短有效时限(只有根用户才能进行此操作)
-w, –warning=DAYS 在密码过期前多少天开始提醒用户(只有根用户才能进行此操作)
-i, –inactive=DAYS 当密码过期后经过多少天该帐号会被禁用(只有根用户才能进行此操作)
-S, –status 报告已命名帐号的密码状态(只有根用户才能进行此操作)
–stdin 从标准输入读取令牌(只有根用户才能进行此操作)

[root@jenkins ~]# passwd mark 
更改用户 mark 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

[root@jenkins ~]# echo 123123 | passwd mark --stdin
更改用户 mark 的密码 。
passwd:所有的身份验证令牌已经成功更新。
##使用标准输入修改用户密码

文档更新时间: 2022-02-07 13:24   作者:xiubao yan