提供在另一个脚本中以不同用户身份运行脚本的密码

时间:2018-03-06 12:04:15

标签: linux bash shell unix sudo

想象一下,您以用户A的身份运行脚本: sudo -u A ./script.sh script.sh 中,我们有一行用另一个用户B调用另一个脚本 script2.sh sudo -u B ./script2。 SH 即可。现在我被提示输入用户B的密码。有没有办法提供密码uppon呼叫?

P.S。我知道它可以创建的所有安全漏洞。请不要提我。

1 个答案:

答案 0 :(得分:3)

是的,你可以选择。但是,您必须在执行脚本时提供该密码,或者在脚本本身对其进行硬编码。尝试使用以下示例: -

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'