shell批量创建和删除10个系统帐号密码(密码为随机10位字符串)
本站寻求有缘人接手,详细了解请联系站长QQ1493399855
1、添加10个用户和密码,并把账号和密码保存到指定的文件里
# vim create_user.sh
#/bin/bash
#
for jiangjj in {1..10}; do
if id user$jiangjj &> /dev/null; then
echo "user$jiangjj is exists."
else
password=`echo $[$RANDOM]|md5sum|cut -c 1-10`
useradd user$jiangjj
echo "user$jiangjj $password" >> /home/shell/passwd.log
echo "$password" |passwd --stdin user$jiangjj &> /dev/null
echo "add user user$jiangjj finished"
fi
done
授权
# chmod +x create_user.sh
#执行
# ./create_user.sh
#查看账号密码
# cat /home/shell/passwd.log
注意:
1.设置密码最好不要使用echo "password" |passwd --stdin user 这条命令,一是不安全,通过history可以看到密码,二是不确定因素太多,设置密码容易出错,具体echo的用法可以上网搜索查看;
2.一台服务器至少应该设置两个用户,一个是root,另外一个是拥有root权限的普通用户(通过配置/etc/sudoers可以实现),这样就能够保证一个密码出错后还可以通过另外一个用户登录服务器重置密码,;
3.通过passwd user 命令更改密码,密码中出现的符号不包含其他意义,仅仅是作为符号本身来使用,这种方法设置密码更安全。
补充知识:
--stdin 选项 用于 从标准输入 管道读入新的密码
2、删除新建的用户
# vim del_user.sh
#!/bin/sh
if id user$jiangjj &> /dev/null;then
userdel -r user$jiangjj
echo "Delete user$jiangjj finished"
echo "user$jiangjj not exists"
授权执行即可