如何在没有密码的情况下以另一个用户身份运行脚本?
·
问题:如何在没有密码的情况下以另一个用户身份运行脚本?
我有必须以 user2 身份运行的 script.sh。但是,此脚本只能在我的应用程序中的 user1 下运行。
我想运行以下命令:
su user2 -C script.sh
但可以在没有密码的情况下运行。
我也希望这是非常严格的,因为在 user1 中只能在 user2 下运行 script.sh 而没有别的。
我已经尝试使用 sudoers 文件执行此操作,但经过数小时的尝试后,我一直感到困惑。
如果有人可以提供一个明确的示例来说明如何实现这一点(而不是像使用 sudoers 这样的通用示例),我们将不胜感激。
解答
调用visudo并添加:
user1 ALL=(user2) NOPASSWD: /home/user2/bin/test.sh
命令路径必须是绝对的!然后从user1shell 调用sudo -u user2 /home/user2/bin/test.sh。完毕。
更多推荐

所有评论(0)