一尘不染

如何以没有密码的其他用户身份运行脚本?

linux

我有必须作为user2运行的script.sh。但是,此脚本只能在我的应用程序的user1下运行。

我想运行以下命令:

su user2 -C script.sh

但无需密码即可运行。

我也希望这是非常严格的限制,因为在user1中只能在user2下运行script.sh,而不能在其他任何情况下运行。

我已经尝试过使用sudoers文件执行此操作,但经过数小时的尝试,它才变得无穷无尽。

如果有人可以提供一个明确的示例说明如何完成此操作(而不是像使用sudoers这样的通用方法),将不胜感激。


阅读 238

收藏
2020-06-02

共1个答案

一尘不染

调用visudo并添加以下内容:

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

命令路径必须是绝对的 !然后sudo -u user2 /home/user2/bin/test.shuser1外壳调用。做完了

2020-06-02