想象一下,您以用户A的身份运行脚本: sudo -u A ./script.sh 在 script.sh 中,我们有一行用另一个用户B调用另一个脚本 script2.sh : sudo -u B ./script2。 SH 即可。现在我被提示输入用户B的密码。有没有办法提供密码uppon呼叫?
P.S。我知道它可以创建的所有安全漏洞。请不要提我。
答案 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'