我试图允许特定用户使用 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 。