1、编辑服务器ip,密码,创建用户,密码文件,中间用空格隔开

[root@k8s-master shell]# vim ip.txt

192.168.107.182 123456 user01 123
192.168.107.183 123456 user01 123

2、编写shell脚本文件

[root@k8s-master shell]# vim 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" }
        }
        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

3、为user.sh赋予可执行权限

[root@k8s-master shell]# chmod +x user.sh

4、执行shell脚本

[root@k8s-master shell]# ./user.sh

192.168.107.182服务器用户创建完毕
192.168.107.183服务器用户创建完毕

5、检查服务器是否创建相应用户和删除 /tmp 目录下的文件

[root@k8s-node1 ~]# id user01
uid=1000(user01) gid=1000(user01) groups=1000(user01)
[root@k8s-node1 ~]# ll /tmp/
total 0

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐