以非 root 用户身份重新启动 rspamd.service

以非 root 用户身份重新启动 rspamd.service

我有一个带有按钮的网页,当用户点击按钮时,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,一切顺利。谢谢。

相关内容