1、生成复杂密码
tr -dc '_A-Z#\-+=a-z(0-9%^>)]{<|' </dev/urandom | head -c 15; echo
2、ip.txt
mkdir -p /root/shell
#服务器ip root密码 创建的用户名 创建用的用户密码,空格隔开
vi ip.txt
192.168.37.71 123456 hive 123456
192.168.37.72 123456 hive 123456
3、user.sh
vi /root/shell/user.sh
#!/bin/env bash
#多个服务器上创建用户和文件
#服务器ip/密码,用户名/密码 存放文件
ip_file=/root/shell/ip.txt
#参数说明
#sys_ip 被操作服务器ip
#sys_pass 被操作服务器密码
#user_name 创建的用户名称
#user_pass 创建的用户密码
while read sys_ip sys_pass user_name user_pass
do
#使用expect免密交互登录服务器
/usr/bin/expect <<-END &>/dev/null
spawn ssh root@$sys_ip
expect {
"yes/no" { send "yes\r";exp_continue }
"password" { send "$sys_pass\r",exp_continue }
}
expect {
"#" {
send "useradd $user_name;rm -rf /tmp/*;\r"
send "echo $user_pass | passwd --stdin $user_name;exit;\r"
}
}
expect eof
END
echo "$sys_ip服务器用户创建完毕"
done < $ip_file
4、执行
#为user.sh赋予可执行权限
chmod +x user.sh
#执行shell脚本
sh user.sh
5、验证
#检查服务器是否创建相应用户
id hive
#删除 /tmp 目录下的文件
ll /tmp/
6、删除用户
tail -10 /etc/passwd|awk -F ":" '{print "userdel -r "$1}'|bash