我有一个带有按钮的网页,当用户点击按钮时,restart.sh
服务器上的脚本就会执行。此脚本包含:
#!/bin/bash
systemctl restart rspamd.service
点击按钮后,restart.sh
会执行,但是rspamd.service不会重新启动:“无法重新启动 rspamd.service:访问被拒绝”由于脚本是通过点击网页上的按钮来执行的,因此在服务器上运行该脚本的真正用户是www-data
。我尝试设置 suid 位以 root 身份运行脚本,但不起作用。我如何以www-data
用户身份重新启动 rspamd.service?
答案1
解决须藤。我之前试过,但是我写错了顺序。编辑sudoers并将visudo
其添加到文件末尾:
www-data ALL = NOPASSWD: /bin/systemctl restart rspamd.service
然后我就可以运行了sudo systemctl restart rspamd.service
,一切顺利。谢谢。