题目要求:批量创建10个系统账号yuki01-yuki10并为每个账户设置8位随机密码
分析:
- 注意:用户名中的数字不足两位前面用0补全的问题
参考之前的博客:https://blog.csdn.net/yuki5233/article/details/83824107 - 难点:linux下如何生成8位随机数码?
参考之前的博客:https://blog.csdn.net/yuki5233/article/details/82997001 - 建议:批量创建系统账号时由于用户量多最好就不要创建用户家目录了(使用参数-M)
#!/bin/sh
source /etc/profile
#%后面指定数字的位数,默认是%g,%2g那么数字位数不足部分是空格。
for num in `seq -f '%02g' 1 10`
do
useradd yuki${num} -M
definePasswd=`echo $RANDOM |md5sum|cut -c 1-8`
echo ${definePasswd} | passwd --stdin yuki${num}
echo yuki${num} definePasswd is ${definePasswd} >> /home/savePasswd.log
done
题目要求:批量删除刚刚创建的所有系统用户。
分析:
userdel(选项)(参数)
- -f:强制删除用户,即使用户当前已登录;
- -r:删除用户的同时,删除与用户相关的所有文件。
建议1:生产环境中,如果某个人运维人员离职,我们在删除他登录服务器的账户时一般都不会用 -r参数将与他账户相关的所有文件删除,因为毕竟在短时间内你还不确认与其账户相关的所有文件是否有用。
建议2: 生产环境中,删除某账户(使其无法登录)可以直接去/etc/passwd 文件中将此用户的信息注释掉即可,一旦日后发现有误便可以直接取消注释恢复。
这里我们只做测试,所以不用考虑以上问题。
#!/bin/sh
source /etc/profile
for num in `seq -f '%02g' 1 10`
do
userdel -r yuki${num}
done