Shell编程---批量创建用户并为每个用户设置随机密码

题目要求:批量创建10个系统账号yuki01-yuki10并为每个账户设置8位随机密码
分析:
  1. 注意:用户名中的数字不足两位前面用0补全的问题
    参考之前的博客:https://blog.csdn.net/yuki5233/article/details/83824107
  2. 难点:linux下如何生成8位随机数码?
    参考之前的博客:https://blog.csdn.net/yuki5233/article/details/82997001
  3. 建议:批量创建系统账号时由于用户量多最好就不要创建用户家目录了(使用参数-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(选项)(参数)
  1. -f:强制删除用户,即使用户当前已登录;
  2. -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

猜你喜欢

转载自blog.csdn.net/yuki5233/article/details/83857486