1

我需要使用 shell 脚本在两个用户之间切换。

我使用 su 和 sudo 在用户之间切换。最重要的是,它每次都提示输入用户密码,我不希望这种情况发生。

我知道密码;有没有办法可以在脚本本身中对其进行硬编码,这样它就不会提示用户输入密码?

4

2 回答 2

2

NOPASSWD一个条款不会sudoers起作用吗?例如:

user1 ALL=(ALL:ALL) NOPASSWD: /bin/su user2

允许user1su 到user2没有密码。如果您只需要将某个命令作为 运行user2,请将其添加到sudoers(通过visudo)显式:

user1 ALL=(user2) NOPASSWD: /path/to/command

然后user1运行:

sudo -k user2 /path/to/command
于 2012-08-15T00:28:12.583 回答
1

使用-S参数sudo接受来自标准输入的密码。请参阅:如何在不覆盖 TTY 的情况下将密码传递给 su/sudo/ssh?

于 2012-08-14T13:00:49.877 回答