假设您以用户 A 身份运行脚本:sudo -u A ./script.sh 在 script.sh 中,我们有一行使用不同的用户 B 调用另一个脚本 script2.sh:sudo -u B ./script2。嘘。现在系统提示我输入用户 B 的密码。有什么方法可以在调用时提供该密码吗?
附注我知道它可能造成的所有安全漏洞。请不要提到我。
最佳答案
是的,您可以选择。但是您必须在执行脚本时提供该密码或将其硬编码在脚本本身中。尝试以下示例:-
echo 'passwordofB' | sudo -u B -S ./script2.sh
你也可以这样做:-
sudo -u A ./script.sh passwordofB #as a command line parameter
现在在里面script.sh
:-
echo $1 | sudo -u B -S ./script2.sh
您正在执行另一个脚本sudo -u B ./script2.sh
来自脚本 ./script.sh
正确的?因此,将该行更改为 echo $1 | sudo -u B -S ./script2.sh
并运行您的第一个脚本 sudo -u A ./script.sh passwordofB
哪里passwordofB
是用户“B”的密码
关于linux - 提供用于以不同用户身份在另一个脚本中运行脚本的密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49130399/