如何给30台centos7服务器分别增加相同的用户
老大直接给了30台新鲜的生产服务器,要给每一台服务器增加一个用户,密码相同
难道我们要部署一个工具吗?这样对生产环境可能会产生影响,为了保证服务器的新鲜以及节约时间,研究了小半天,终于研究出一个不是很智能的shell脚本
第一步:我们还是要把其中一台当成服务器
生成密钥:ssh-keygen -t rsa
第二步:在这台服务器上编辑三个文件:all.sh这个文件主要是传输ssh密钥,传送另外两个文件,进入每个系统执行其他两个脚本文件的;useradd.sh这个文件主要是用来在每个系统里增加用户的;users。list这个文件主要是提供用户名称的
1.
for IP in $(more ip.list)
do
if [ -n $IP ]
then
ssh-copy-id -i /root/.ssh/id_rsa.pub $IP
echo
fi
done
for IP in $(more ip.list)
do
if [ -n $IP ]
then
scp /useradd.sh /users.list $IP:/root
echo
fi
done
rm -f /root/.ssh/*
for IP in $(more ip.list)
do
if [ -n $IP ]
then
ssh $IP
echo "login successful!"
else
echo "sorry"
fi
done
2.useradd.sh
#! /bin/bash
#
#batch add users with file called users.list
#
#cd /root
for username in $(more users.list)
do
if [ -n $username ]
then
useradd -m $username
echo
echo $username"123" | passwd --stdin $username
echo
echo "User $username's password is changed!"
else
echo "The username is null!"
fi
done
rm -f /root/useradd.sh /root/users.list
rm -f /root/.ssh/*
cat /etc/passwd | grep $username
3.users.list
tt (我们所要增加的用户名)
这三个文件编辑好之后,在这台服务器上./all.sh,不智能的点就展示出来了,传输密钥需要密码,进入系统的时候我们需要输入yes和密码,进入系统之后我们要手动的执行useradd.sh这个脚本,执行完脚本之后,我们还要手动输入exit下能跳入下一个系统中