gpt4 book ai didi

bash - sudo和chpasswd在一行上

转载 作者:行者123 更新时间:2023-12-02 14:05:08 25 4
gpt4 key购买 nike

我需要通过ssh连接到服务器,并更改用户的密码,而无需键入sshsudo password

我找到了一些示例,但是我无法完成一个命令。

我发现此命令用于ssh连接,而无需键入密码,也没有为删除用户运行sudo命令:

sshpass -p $admin_password ssh -t $admin@$server "echo $admin_password | sudo -S /usr/sbin/userdel -r $usr"

然后我找到了更改用户密码的命令:
echo "$usr:$password" | sudo -S /usr/sbin/chpasswd;

最后,我想要这样的东西:
sshpass -p $admin_password ssh -t $admin@$server "echo $admin_password | sudo -S echo "$usr:$password" | sudo -S /usr/sbin/chpasswd;"

你有什么想法?

最佳答案

您的问题实际上将需要两件事。远程更改用户密码的命令:

ssh remoteserver 'echo -e "passwdofuser\npasswdofuser" | passwd username'

为了做到这一点,您可能需要是root用户,或者在sudo配置中,让“passwd”不需要密码即可让您的用户运行。
visudo

编辑文件:
Cmnd_Alias      MYPASSWD = /usr/bin/passwd
yourusername ALL = NOPASSWD: MYPASSWD

那应该允许您ssh进入,而不必使用密码来运行passwd命令。

关于bash - sudo和chpasswd在一行上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10192223/

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