添加用户账号
问题
- 添加一个用户账号tarena01
- 指定uid为580
- 指定附加组为root组
- 指定家目录为/opt/tarena01
- 指定登陆shell为/sbin/nologin
- 用标准式输入的方式用passwd给tarena01设置密码为example
- 锁定tarena01用户密码
- 解锁tarena01用户
方案
在Linux同添加一个用户账户的命令为useradd,常用的选项较多。可以利用man命令查看其帮助信息。
本题涉及的选项: - -u:设置 UID 标记号
- -d:指定宿主目录,缺省为 /home/用户名
- -g:指定所属的基本组
- -G:指定所属的附加组
- -e:指定账号失效时间
- -s:指定用户的登录Shell
为账户设置密码的命令为passwd,管理员root可以修改任何用户的口令,所有用户(包括普通用户)都可以修改自己的口令。
常用命令选项: - -d:清空用户的密码,使之无需密码即可登录
- -l:锁定用户账号 【在shadow中的对应密码串前加两个叹号 !! 】
- -S:查看用户账号的状态(是否被锁定)
- -u:解锁用户账号 【解除锁定时添加的两个叹号 !】
- –stdin:从标准输入(比如管道)取密码
查看结果可以利用grep命令,从/etc/passwd与/etc/shadow筛选。
步骤
实现此案例需要按照如下步骤进行。
步骤一:添加一个用户账号tarena01
命令操作如下所示:
[root@localhost ~]# useradd -u 580 -G root -d /opt/tarena01 -s /sbin/nologin tarena01
[root@localhost ~]# grep tarena01 /etc/passwd /etc/shadow //查看是否创建成功
/etc/passwd:tarena01❌580:580::/opt/tarena01:/sbin/nologin
/etc/shadow:tarena01:!!:16450:0:99999:7:::
[root@localhost ~]# ls /opt/ //查看家目录是否创建成功
man.config nsd.txt passwd tarena01
[root@localhost ~]#
步骤二:用标准式输入的方式用passwd给tarena01设置密码为example
注意加密前后/etc/shadow第二个字段值的变化,命令操作如下所示:
[root@localhost ~]# grep tarena01 /etc/shadow //没有加密前第二个字段为”!!”
tarena01:!!:16448:0:99999:7:::
[root@localhost ~]# echo example | passwd --stdin tarena01
更改用户 tarena01 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
[root@localhost ~]# grep tarena01 /etc/shadow //加密后第二字段为加密字符串
tarena01:$6 6 Y H O n r N i 6YHOnrNi 6YHOnrNitn7ULJ78LLFvukzqOClyOh45epZkV2vEo.O46hEJiaqWud4TN.iTwmJtue6Loa94WPNenofqtwSutwOG4bGJL0:16448:0:99999:7:::
[root@localhost ~]#
步骤三:锁定tarena01用户密码
注意锁定前后/etc/shadow第二个字段值的变化,命令操作如下所示:
[root@localhost ~]# grep tarena01 /etc/shadow //没有锁定前,第二字段没有”!”
tarena01: 6 6 6AB/uup2/$/Iz9MqkqKKd7NhF9Dm4nCdBc8VjfLH.DF.4xBKHPAPt8onfVBE7JwxR9bw8V1wWK5thgXCctdAEf0T9ymeor70:16450:0:99999:7:::
[root@localhost ~]# passwd -l tarena01
锁定用户 tarena01 的密码 。
passwd: 操作成功
[root@localhost ~]# passwd -S tarena01 //查看用户状态,已锁定
tarena01 LK 2015-01-15 0 99999 7 -1 (密码已被锁定。)
[root@localhost ~]# grep tarena01 /etc/shadow //锁定后,第二字段前多出”!!”
tarena01:!! 6 6 6AB/uup2/$/Iz9MqkqKKd7NhF9Dm4nCdBc8VjfLH.DF.4xBKHPAPt8onfVBE7JwxR9bw8V1wWK5thgXCctdAEf0T9ymeor70:16450:0:99999:7:::
[root@localhost ~]#
步骤四:解锁tarena01用户
注意解锁前后/etc/shadow文件第二个字段值的变化,命令操作如下所示:
[root@localhost ~]# grep tarena01 /etc/shadow //解锁前,第二个字段前有”!!”
tarena01:!! 6 6 6AB/uup2/$/Iz9MqkqKKd7NhF9Dm4nCdBc8VjfLH.DF.4xBKHPAPt8onfVBE7JwxR9bw8V1wWK5thgXCctdAEf0T9ymeor70:16450:0:99999:7:::
[root@localhost ~]# passwd -u tarena01
解锁用户 tarena01 的密码 。
passwd: 操作成功
[root@localhost ~]# passwd -S tarena01 //查看用户状态,密码可以使用
tarena01 PS 2015-01-15 0 99999 7 -1 (密码已设置,使用 SHA512 加密。)
[root@localhost ~]# grep tarena01 /etc/shadow //解锁后,第二个字段前面的”!!”消失
tarena01: 6 6 6AB/uup2/$/Iz9MqkqKKd7NhF9Dm4nCdBc8VjfLH.DF.4xBKHPAPt8onfVBE7JwxR9bw8V1wWK5thgXCctdAEf0T9ymeor70:16450:0:99999:7:::
[root@localhost ~]#