Jenkins服務用戶重啟mongodb服務

Jenkins服務用戶重啟mongodb服務

Centos 7。

%<userGroup> ALL= NOPASSWD: <command>

當我想重新啟動服務時 - 在我目前的情況下 - mongodb.service 與 jenkins 用戶我想這樣做:

%jenkins ALL= NOPASSWD: /usr/bin/systemctl restart mongod.service

到目前為止,一切都很好。然後我像這樣切換到 jenkins 用戶:

sudo su -s /bin/bash jenkins

然後我測試命令,一切正常。我也對停止/狀態/啟動命令執行相同的操作並測試它們。這就是我想對他們做的全部事情。問題是;當我使用詹金斯運行測試時,它會呼叫這些命令並且不執行任何操作。這個mongodb只是為了測試,所以只在我們需要的時候運行就可以了。所以我想知道的是;如何讓它發揮作用?或如何能夠透過服務使用者重新啟動/停止/啟動服務?

答案1

萬一其他人會遇到相同類型的問題:我沒有收到任何關於這些事情的錯誤訊息,因此我決定將所有內容放入腳本檔案中,然後授予使用 sudo 權限運行腳本檔案的權限。在這種情況下,我收到此錯誤訊息:「sudo:抱歉,您必須有一個 tty 才能運行 sudo」使用它,我可以透過此解決方案來查找問題: https://unix.stackexchange.com/questions/122616/why-do-i-need-a-tty-to-run-sudo-if-i-can-sudo-without-a-password

相關內容