Shell

在不使用 sudo 的情況下執行“service php5-fpm restart”

  • December 30, 2012

我正在使用 jenkins 集成我的 cakephp 項目。

現在,我正在探索 Phing 的使用。我需要執行一項任務

service php5-fpm restart

到目前為止,我嘗試手動執行此操作。我不能這樣做,除非我這樣做sudo

請告知我如何在不使用 sudo 的情況下執行此命令?

我知道有一個選項,我可以簡單地將 Phing 正在使用的使用者放入 sudoers 中,然後不提示輸入密碼,但出於安全原因,這並不理想。因此,我更願意在不提示輸入密碼的情況下詢問如何執行此操作。

您問題的最後一段具有誤導性,至少對我而言。如果您的目標是找到一種在不要求輸入密碼的情況下service以使用者身份呼叫的方法,Phing我會使用sudo. 我會盡量按照我的理解回答你的問題,因為我不明白sudo在你的情況下反對使用的說法是什麼。


只需添加行

Defaults        exempt_group=Phing

/etc/sudoers. 此行將使用者添加Phingsudo不設置路徑和密碼要求的組。

此外,您必須添加該行

Phing ALL=(root) /full/path/to/service

或更改現有行Phing,以便sudo授予他訪問權限service

之後

sudo service php5-fpm restart

不應該再要求Phing密碼了。

如果您希望它更嚴格一些,您可以添加該行

Phing ALL=(root) NOPASSWD: /full/path/to/service

不使用exempt_group. 然後你必須給出sudo完整的路徑service(如果它不在標準路徑中),所以命令欺騙是不可能的。

如果你想節省一些輸入,你也可以使用別名sudo servicesudo /full/path/to/service在你的 shell 中使用service.

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