gpt4 book ai didi

linux - 添加一个用户并为许多服务器linux给他相同的密码

转载 作者:行者123 更新时间:2023-12-04 19:31:34 24 4
gpt4 key购买 nike

我是 Linux 的新手(并且是 Stack Overflow),所以我可能犯了一个愚蠢的错误,但我编写了一个脚本,将一个具有相同密码的相同用户添加到许多服务器:

#!/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 身份手动登录服务器并执行命令 yes `echo $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

最佳答案

尝试创建一个脚本,该脚本将更改密码并在远程机器上执行,如下所示:
改变你的拳头脚本:

#!/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
请注意,这假设:
  • 您将创建一个名为:'newuser 的用户' 在所有服务器中具有相同名称
  • 他将为所有服务器使用相同的密码
  • 您使用相同的名称登录到所有这些服务器以运行脚本,该用户名是您当前正在执行此脚本的计算机上的用户名。
  • 关于linux - 添加一个用户并为许多服务器linux给他相同的密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71234938/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com