Service
以非 root 使用者身份重新啟動 rspamd.service
我有帶按鈕的網頁,當使用者點擊按鈕時,
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
,一切順利。謝謝。