1. 批量创建用户
在管理机上实现批量给客户机创建用户,所以下面的步骤需要在管理机上操作。
文件名为:useradd.sh
#!/bin/sh
. /etc/init.d/functions
ip=cat iplis.txt
for n in $ip
do
expect useradd.exp root $n “useradd gongli” >/dev/null 2>&1&&\
expect useradd.exp root $n “echo gongli:123456|chpasswd” >/dev/null 2>&1&&\
expect useradd.exp root $n “echo gongli ALL NOPASSWD ALL >>/etc/sudoers” >/dev/null 2>&1
if [ $? -eq 0 ];then
action “$n” /bin/true
else
action “$n” /bin/false
fi
done
useradd gongli
echo gongli:123456|chpasswd
1.2 建立需要新建用户的服务器IP地址列表
文件名:iplis.txt
172.16.1.8
172.16.1.31
172.16.1.41
以上操作在管理机(m01)上以root用户身份完成。
2. 安装expect
yum install expect -y
2.1 编写expect脚本实现自动输入密码
文件名为:useradd.exp
#!/usr/bin/expect
if { $argc != 3 } {
send_user “usage: expect fenfa_sshkey.exp user host\n”
exit
}
define var
set user [lindex $argv 0]
set host [lindex $argv 1]
set commend [lindex $argv 2]
set password “123456”
spawn ssh “-p 65533” $user@$host $commend
expect {
“yes/no” {send “yes\r”;exp_continue}
“*password” {send “$password\r”}
}
expect eof
exit -noexit {
send_user “Oldboy888 say good bye to your!\n”
}
2.2 开始创建用户
sh useradd.sh
通过执行上面的命令,可以看到,已经执行完成,我们到客户机上查看结果。
2.3 查看结果
1、web01服务器
2、backup服务器
3、nfs01服务器
小结:
所有服务器都已成功创建了用户,第一步目标达成。管理机需要安装expect,
可通过yum install expect -y
命令安装。以上操作需要在管理机(m01)上以root用户身份完成。