0
我需要從可從php網頁訪問的腳本調用postfix reload
。 postfix reload
需要超級用戶權限。我可以使用echo "password" | sudo ...
但我不想給超級用戶權限給一個可以從apache訪問的腳本,也不用在明文中寫入密碼。你怎麼稱呼這樣的命令而不產生安全問題?像ISPConfig這樣的軟件如何解決這一需求?如何從沒有sudo的腳本調用超級用戶命令
我需要從可從php網頁訪問的腳本調用postfix reload
。 postfix reload
需要超級用戶權限。我可以使用echo "password" | sudo ...
但我不想給超級用戶權限給一個可以從apache訪問的腳本,也不用在明文中寫入密碼。你怎麼稱呼這樣的命令而不產生安全問題?像ISPConfig這樣的軟件如何解決這一需求?如何從沒有sudo的腳本調用超級用戶命令
運行Apache的用戶(例如.apache)必須被允許在沒有密碼的情況下執行「sudo postfix reload」。要做到這一點,你需要添加 下面一行「的/ etc/sudoers文件」文件:
apache ALL = NOPASSWD: /path/to/postfix reload
我建議在腳本中使用「須藤/路徑/到/後綴重裝」,因爲後綴的文件可能不在apache用戶的默認路徑中。
關於安全性,您需要確保此命令不會經常啓動,因爲它可能會導致性能問題。 由於命令指定了一個參數,即使您的網站會被攻破,postfix重新加載也只會執行一個特定的操作,而不會改變該行爲(只要sudo和postfix是up2date)。
您可以將'sudo'配置爲允許任何用戶'apache'運行,而無需輸入密碼即可運行* specific *命令。如何做到這一點是堆棧溢出有點偏離;嘗試superuser.com。 – chepner
我的建議是將Web服務與服務重新加載任務分離。 1001種不同的方式來做到這一點,同時,我不會對我的生產Web服務器執行特權命令的直接行動/反應。 –