Centos

如何使用 sudo 執行特定命令且沒有密碼?

  • January 28, 2021

我試圖允許特定使用者使用 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提示輸入密碼。我還需要做些什麼來允許在沒有密碼的情況下執行此腳本嗎?

從我的評論中重新發布答案:

我在另一個論壇上找到了一個有有效解決方案的文章。它說不要編輯 sudoers 文件,而是將新文件添加到/etc/sudoers.d/xxxx. 所以在我的情況下

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

然後我添加了

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

到該文件,最終能夠在沒有密碼的情況下在腳本上執行 sudo。

引用自:https://unix.stackexchange.com/questions/631449