如何使用 sudo 且无密码运行特定命令?

如何使用 sudo 且无密码运行特定命令?

我试图允许特定用户使用 sudo 运行特定命令,但在 CentOS 7 中不会提示输入密码。所以我尝试visudo添加以下行作为文件中的第一行和最后一行

testuser ALL=(ALL) NOPASSWD: /home/testuser/script.sh

我也尝试过

testuser ALL= NOPASSWD: /home/testuser/script.sh

然后,作为 root,我运行su -u testuser切换到该用户,然后sudo ./script.sh仍然sudo /home/testuser/script.sh提示输入密码。我还需要做些什么才能允许在没有密码的情况下运行此脚本吗?

答案1

重新发布我评论中的答案:

我在另一个论坛上找到了一个有可行解决方案的帖子。它表示不要编辑 sudoers 文件,而是将新文件添加到/etc/sudoers.d/xxxx.所以就我而言

sudo visudo -f /etc/sudoers.d/testuser 

然后我添加了

testuser ALL=NOPASSWD: /home/testuser/script.sh

到该文件,最终能够在没有密码的情况下在脚本上运行 sudo 。

相关内容