“满招损,谦受益。——《尚书》”
图片来源:中国·北京
【目录】
一 useradd
二 passwd
三 usermod
四 userdel
1 useradd
1.1 参数说明
[root@achao ~]# useradd --help
用法:useradd [选项] 登录名
useradd -D
useradd -D [选项]
选项:
--badname do not check for bad names
-b, --base-dir BASE_DIR 新账户的主目录的基目录
--btrfs-subvolume-home use BTRFS subvolume for home directory
-c, --comment COMMENT 新账户的 GECOS 字段
-d, --home-dir HOME_DIR 新账户的主目录
-D, --defaults 显示或更改默认的 useradd 配置
-e, --expiredate EXPIRE_DATE 新账户的过期日期
-f, --inactive INACTIVE 新账户的密码不活动期
-g, --gid GROUP 新账户主组的名称或 ID
-G, --groups GROUPS 新账户的附加组列表
-h, --help 显示此帮助信息并退出
-k, --skel SKEL_DIR 使用此目录作为骨架目录
-K, --key KEY=VALUE 不使用 /etc/login.defs 中的默认值
-l, --no-log-init 不要将此用户添加到最近登录和登录失败数据库
-m, --create-home 创建用户的主目录
-M, --no-create-home 不创建用户的主目录
-N, --no-user-group 不创建同名的组
-o, --non-unique 允许使用重复的 UID 创建用户
-p, --password PASSWORD 加密后的新账户密码
-r, --system 创建一个系统账户
-R, --root CHROOT_DIR chroot 到的目录
-P, --prefix PREFIX_DIR prefix directory where are located the /etc/* files
-s, --shell SHELL 新账户的登录 shell
-u, --uid UID 新账户的用户 ID
-U, --user-group 创建与用户同名的组
-Z, --selinux-user SEUSER 为 SELinux 用户映射使用指定 SEUSER
1.2 使用默认选项创建用户
[root@achao ~]# useradd achao
[root@achao ~]# ll -d /home/achao/
drwx------. 3 achao achao 78 6月 26 02:04 /home/achao/
[root@achao ~]# grep achao /etc/passwd /etc/shadow /etc/group
/etc/passwd:achao:x:1003:1003::/home/achao:/bin/bash
/etc/shadow:achao:!!:19899:0:99999:7:::
/etc/group:achao:x:1003:
解释:
-
在/etc/passwd里边建立一行与账户相关的数据,包括建立UID,GID,家目录等。
-
在/etc/shadow里边将此账号的密码相关参数写入,此时无密码。
-
在/etc/group里边加入一个与账号名称一摸一样的组名。
-
在/home目录下边建立一个与账号同名的目录作为用户的家目录,权限为700
1.3 已知用户组achao,使用UID=1016创建一个名为yezi的账号
[root@achao ~]# useradd -u 1016 -g achao yezi
[root@achao ~]# ll -d /home/yezi/
drwx------. 3 yezi achao 78 6月 26 02:15 /home/yezi/
[root@achao ~]# grep yezi /etc/passwd /etc/shadow /etc/group
/etc/passwd:yezi:x:1016:1003::/home/yezi:/bin/bash
/etc/shadow:yezi:!!:19899:0:99999:7:::
1.4 创建系统账号
[root@achao ~]# useradd -r huohuazi1016
[root@achao ~]# ll -d /home/huohuazi1016
ls: 无法访问 '/home/huohuazi1016': 没有那个文件或目录
[root@achao ~]# grep huohuazi1016 /etc/passwd /etc/shadow /etc/group
/etc/passwd:huohuazi1016:x:980:979::/home/huohuazi1016:/bin/bash
/etc/shadow:huohuazi1016:!!:19899::::::
/etc/group:huohuazi1016:x:979:
发现,系统账户的UID值小于1000。因为系统账号主要用来执行系统所需要的服务的权限设置,所以系统账号默认都不会主动建立家目录。
以上是个别参数的使用,还有很多参数供同学们自行研究,这里不做展开说明。
2 passwd
使用useradd创建账号以后,默认默认情况下,该账号是无法登录的。要向使用此账号登录,就需要设置密码。
2.1 参数选项说明
[ ]
用法: passwd [选项...] <帐号名称>
-k, --keep-tokens 保持身份验证令牌不过期
-d, --delete 删除命名帐户的密码(仅限 root 用户);也删除密码锁(如果有)
-l, --lock 锁定指名帐户的密码(仅限 root 用户)
-u, --unlock 解锁指名帐户的密码(仅限 root 用户)
-e, --expire 终止指名帐户的密码(仅限 root 用户)
-f, --force 强制执行操作
-x, --maximum=DAYS 密码的最长有效时限(只有 root 用户才能进行此操作)
-n, --minimum=DAYS 密码的最短有效时限(只有 root 用户才能进行此操作)
-w, --warning=DAYS 在密码过期前多少天开始提醒用户(只有 root 用户才能进行此操作)
-i, --inactive=DAYS 当密码过期后经过多少天该帐号会被禁用(只有 root 用户才能进行此操作)
-S, --status 报告已命名帐号的密码状态(只有 root 用户才能进行此操作)
--stdin 从标准输入读取令牌(只有 root 用户才能进行此操作)
2.2 给achao账户设置密码
[ ]
更改用户 achao 的密码 。
新的密码:
重新输入新的密码:
passwd:所有的身份验证令牌已经成功更新。
修改密码的时候用root也同样可以的。
2.3 使用achao账户登录并修改密码
[achao@achao ~]$ passwd
更改用户 achao 的密码 。
当前的密码:#输入旧密码
新的密码:#第一次输入新密码
重新输入新的密码:#第二次再次确认新密码
passwd:所有的身份验证令牌已经成功更新。
特别提醒:如果使用root给普通用户修改密码,一定记得在passwd后边加上要修改用户的用户名,如果不加,则会是修改root用户的密码。
2.4 使用--stdin修改用户密码
[ ]
更改用户 achao 的密码 。
passwd:所有的身份验证令牌已经成功更新。
此命令的优点是不会反复确认,缺点是此命令会留在历史命令中,如果将history命令关闭使用,这样修改用户密码无疑是最简洁高效的办法了。
2.6 设置密码的有效时间和密码过期后的失效时间设置
[ ]
achao PS 2024-06-25 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
解释:密码建立时间2024-06-25,0最小天数,99999修改天数,警告天数7与“-1”密码不会失效
[ ]
调整用户密码老化数据achao。
passwd: 操作成功
[ ]
achao PS 2024-06-25 0 30 7 10 (密码已设置,使用 SHA512 算法。)
2.7 参数-l是账户失去登录功能
[ ]
锁定用户 achao 的密码 。
passwd: 操作成功
[ ]
achao LK 2024-06-25 0 30 7 10 (密码已被锁定。)
[ ]
achao:!!$6$/2pPAO6DHEhng5Nv$5ASYic64q7W1Cx.4GcGTzsJxEQvy1wu7uNJ1xk06si7vgvtLdvs1nI6isKBjn.dHUeGlF35y8Q6IaVafD9wFX1:19899:0:30:7:10::
[ ]
解锁用户 achao 的密码。
passwd: 操作成功
[ ]
achao:$6$/2pPAO6DHEhng5Nv$5ASYic64q7W1Cx.4GcGTzsJxEQvy1wu7uNJ1xk06si7vgvtLdvs1nI6isKBjn.dHUeGlF35y8Q6IaVafD9wFX1:19899:0:30:7:10::
发现密码前边加了!,此时的密码就是不可用的。
3 usermod
[root@achao ~]# usermod --help
用法:usermod [选项] 登录名
选项:
-b, --badname allow bad names
-c, --comment 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 中提到的附加组中,
并不从其它组中删除此用户
-h, --help 显示此帮助信息并退出
-l, --login NEW_LOGIN 新的登录名称
-L, --lock 锁定用户帐号
-m, --move-home 将家目录内容移至新位置 (仅于 -d 一起使用)
-o, --non-unique 允许使用重复的(非唯一的) UID
-p, --password PASSWORD 将加密过的密码 (PASSWORD) 设为新密码
-R, --root CHROOT_DIR chroot 到的目录
-P, --prefix PREFIX_DIR prefix directory where are located the /etc/* files
-s, --shell SHELL 该用户帐号的新登录 shell
-u, --uid UID 用户帐号的新 UID
-U, --unlock 解锁用户帐号
-v, --add-subuids FIRST-LAST 添加子 UID 范围
-V, --del-subuids FIRST-LAST 移除子 UID 范围
-w, --add-subgids FIRST-LAST 添加子 GID 范围
-W, --del-subgids FIRST-LAST 移除子 GID 范围
-Z, --selinux-user SEUSER 用户的新的 SELinux 用户映射
选项很多,这次阿超安装了汉语版本,同学们自己练习便可以掌握。
4 userdel
[root@achao ~]# userdel --help
用法:userdel [选项] 登录名
选项:
-f, --force force some actions that would fail otherwise
e.g. removal of user still logged in
or files, even if not owned by the user
-h, --help 显示此帮助信息并退出
-r, --remove 删除主目录和信件池
-R, --root CHROOT_DIR chroot 到的目录
-P, --prefix PREFIX_DIR prefix directory where are located the /etc/* files
-Z, --selinux-user 为用户删除所有的 SELinux 用户映射
删除用户dufu
[root@achao ~]# grep dufu /etc/passwd /etc/shadow /etc/group /etc/gshadow /home/dufu/
/etc/passwd:dufu:x:1002:1002::/home/dufu:/bin/bash
/etc/shadow:dufu:!!:19899:0:99999:7:::
/etc/group:dufu:x:1002:
/etc/gshadow:dufu:!::
grep: /home/dufu/: 是一个目录
[root@achao ~]# userdel -r dufu
[root@achao ~]# grep dufu /etc/passwd /etc/shadow /etc/group /etc/gshadow /home/dufu/
grep: /home/dufu/: 没有那个文件或目录
发现删除的很是干净,此命令也是简单。
注意:实际生产环境中,一定要确保该用户在操作系统上边不在使用任何数据了。
---结束
点赞关注分享宝子们如果觉得还OK,可以动动可爱的小手分享给身边的好朋友!我们一起进步,每一个点赞关注分享都是小编前进的动力!
【往期回顾】
Linux中将shell脚本放入后台运行还在用&符号吗?nohup表示不答应
原文始发于微信公众号(网络安全与取证研究):Linux中用户管理命令---详解
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论