![如何使用 sudo 且无密码运行特定命令?](https://linux22.com/image/187113/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20sudo%20%E4%B8%94%E6%97%A0%E5%AF%86%E7%A0%81%E8%BF%90%E8%A1%8C%E7%89%B9%E5%AE%9A%E5%91%BD%E4%BB%A4%EF%BC%9F.png)
我试图允许特定用户使用 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 。