Service

以非 root 使用者身份重新啟動 rspamd.service

  • May 4, 2022

我有帶按鈕的網頁,當使用者點擊按鈕時,restart.sh伺服器上的腳本被執行。該腳本包含:

#!/bin/bash
systemctl restart rspamd.service

點擊按鈕後,restart.sh執行,但rspamd.service沒有重啟:*“Failed to restart rspamd.service: Access denied”*因為腳本是通過點擊網頁上的按鈕執行的,所以在伺服器上執行它的真實使用者是www-data。我嘗試將 suid 位設置為以 root 身份執行腳本,但它不起作用。如何以www-data使用者身份重新啟動 rspamd.service?

sudo解決。我以前試過,但是我寫的順序不對。編輯sudoers並將visudo其添加到文件末尾:

www-data ALL = NOPASSWD: /bin/systemctl restart rspamd.service

然後我就可以跑步了sudo systemctl restart rspamd.service,一切順利。謝謝。

引用自:https://serverfault.com/questions/1099803