
我有一個自訂守護進程,它管理我的代理程式(HAProxy)的黑名單。當黑名單更新時,我需要重新載入 haproxy,以便它具有最新的代理。不幸的是,手動重新加載 haproxy 是不合理的,因為黑名單可能每天更新幾次。
為了解決這個問題,我創建了一個腳本來重新載入 haproxy,但它需要以 root 身分運行,以便可以透過 systemctl 進行正確管理。該腳本位於守護程序使用者的 bin 目錄中。我還將文件的所有權更改為另一個用戶(現在為 root)並將權限更改為 -r-xr-x---。我計劃將守護程序用戶添加到 sudoers 文件中,而無需密碼訪問此腳本。
我想知道這種做法「安全」還是有更好的選擇?
答案1
是的,正確的設定方法是編寫一個僅執行守護程序所需操作的腳本,並建立一個特定的 sudoers 條目以允許守護程序執行該腳本。至關重要的是,守護程式使用者無法修改腳本,因此我不會將其儲存在守護程式的主目錄中。而是將其放在類似的地方/usr/local/bin
並使其只能由 root 寫入。