如何在没有密码的情况下作为另一个用户运行脚本?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (22)

我有script.sh,必须以user 2的形式运行。但是,这个脚本只能在我的应用程序中的user 1下运行。

我希望运行以下命令:

su user2 -C script.sh

但是没有密码就能运行。

我还希望这是非常严格的,因为user 1只能在user 2下运行script.sh,而没有其他的。

提问于
用户回答回答于

visudo并加上以下内容:

user1 ALL=(user2) NOPASSWD: /home/user2/bin/test.sh

然后调用sudo -u user2 /home/user2/bin/test.shuser1。完成了。

用户回答回答于

试着运行:

su -c "Your command right here" -s /bin/sh username

这将以用户名的形式运行命令,因为您具有作为该用户的sudo的权限。

扫码关注云+社区