我需要使用 shell 脚本在两个用户之间切换。
我使用 su 和 sudo 在用户之间切换。最重要的是,它每次都提示输入用户密码,我不希望这种情况发生。
我知道密码;有没有办法可以在脚本本身中对其进行硬编码,这样它就不会提示用户输入密码?
NOPASSWD
一个条款不会sudoers
起作用吗?例如:
user1 ALL=(ALL:ALL) NOPASSWD: /bin/su user2
允许user1
su 到user2
没有密码。如果您只需要将某个命令作为 运行user2
,请将其添加到sudoers
(通过visudo
)显式:
user1 ALL=(user2) NOPASSWD: /path/to/command
然后user1
运行:
sudo -k user2 /path/to/command
使用-S
参数sudo
接受来自标准输入的密码。请参阅:如何在不覆盖 TTY 的情况下将密码传递给 su/sudo/ssh?