centos 添加一个用户,并为多个服务器给予相同的密码

dxxyhpgq  于 2022-11-07  发布在  其他
关注(0)|答案(1)|浏览(164)

我制作了一个脚本,将一个具有相同密码的相同用户添加到多个服务器:


# !/bin/bash

password=`cat /root/scripts/password`
for i in `cat /root/scripts/LIST_TEST.txt`
do
        printf "Serveur : $i \n"
        ssh -tt -o PasswordAuthentication=no $i
        adduser newuser
        yes `echo $password` | passwd newuser
exit 0
done

此外,我在root下使用此脚本时,似乎创建了用户,但密码没有更改,因为我在尝试ssh newuser@server时无法登录。
困扰我的是,当我以root身份手动登录到服务器,并执行命令yesecho $password| passwd newuser,然后注销并重试newuser@server时,它工作正常...
脚本看起来像这样,现在它是一个有点清楚,但它仍然没有添加正确的密码,我不知道它给出了什么作为一个新的密码...


# !/bin/bash

password=`cat /root/scripts/password`
for i in `cat /root/scripts/LIST_TEST.txt`
do
        printf "Serveur : $i \n"
        ssh $i 'adduser newuser; yes $password | passwd newuser'
        echo $password
done
e1xvtsh3

e1xvtsh31#

尝试创建一个将更改密码的脚本,并在远程计算机中执行该脚本,如下所示:
更改您的拳头脚本:


# !/bin/bash

password=`cat /root/scripts/password`
for i in `cat /root/scripts/LIST_TEST.txt`
do
        printf "Serveur : $i \n"
        #Password is passed as $1 to the next script
        cat ./paschange.sh $passwd | ssh $i #Command to excecute the  script
        echo $password
done

paschange.sh将为:


# !/bin/bash

adduser newuser
yes $1 | passwd newuser #Password is passed as $1

请注意,这假设:
1.您将创建一个用户,其名称为:'newuser '在所有服务器中具有相同名称
1.所有服务器的密码都相同
1.您将使用相同的名称登录到所有这些服务器以运行脚本,该用户名是您当前正在执行此脚本的计算机上的用户名。

相关问题