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

问题描述 投票:2回答:1

假设您以用户A的身份运行脚本:sudo -u A ./script.sh在该script.sh中我们有一行调用另一个脚本script2.sh与另一个用户B:sudo -u B ./script2.sh。现在我被提示输入用户B的密码。有没有办法提供密码uppon调用?

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

linux bash shell unix sudo
1个回答
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'的密码

© www.soinside.com 2019 - 2024. All rights reserved.