我有一個帶有按鈕的網頁,當用戶單擊按鈕時,restart.sh
將執行伺服器上的腳本。該腳本包含:
#!/bin/bash
systemctl restart rspamd.service
點選按鈕後,restart.sh
執行,但是rspamd.service沒有重新啟動:“無法重新啟動 rspamd.service:存取被拒絕”由於該腳本是透過點擊網頁上的按鈕來執行的,因此在伺服器上運行該腳本的真實用戶是www-data
。我嘗試設定 suid 位元以 root 身份運行腳本,但它不起作用。如何以www-data
使用者身分重新啟動 rspamd.service?
答案1
解決了須藤。我之前嘗試過,但是我寫錯了順序。編輯蘇多爾斯並將visudo
其添加到文件末尾:
www-data ALL = NOPASSWD: /bin/systemctl restart rspamd.service
然後我就可以跑步了sudo systemctl restart rspamd.service
,一切都會順利。謝謝。