如何运行脚本作为另一个用户没有密码
我有script.sh,必须以user2运行。 但是,此脚本只能在我的应用程序的user1下运行。
我想要运行下面的命令:
su user2 -C script.sh
但能够运行没有密码。
我也希望这是非常严格的,因为在user1中只能运行user2下的script.sh而没有别的。
我试着用sudoers文件来做这个,经过几个小时的尝试后,我感到困惑不解。
如果有人可以提供一个明确的例子来说明如何完成(而不是像使用sudoers那样的通用types),那么将不胜感激。
打电话visudo
并添加这个:
user1 ALL=(user2) NOPASSWD: /home/user2/bin/test.sh
命令path必须是绝对的 ! 然后从user1
shell中调用sudo -u user2 /home/user2/bin/test.sh
。 完成。
尝试运行:
su -c "Your command right here" -s /bin/sh username
这将运行命令作为用户名,因为你有权限sudo作为该用户。