Tengo una página web con un botón, cuando el usuario hace clic en el botón, restart.sh
se ejecuta el script en el servidor. Este guión contiene:
#!/bin/bash
systemctl restart rspamd.service
Después de hacer clic en el botón, restart.sh
se ejecuta, pero rspamd.service no se reinicia:"Error al reiniciar rspamd.service: acceso denegado"Debido a que el script se ejecuta haciendo clic en un botón en la página web, el usuario real que lo ejecuta en el servidor es www-data
. Intenté configurar el bit suid para ejecutar el script como root, pero no funciona. ¿Cómo puedo reiniciar rspamd.service como www-data
usuario?
Respuesta1
Resuelto consudo. Lo intenté antes, pero lo escribí en el orden incorrecto. Editarsudoerscon visudo
y agregue esto al final del archivo:
www-data ALL = NOPASSWD: /bin/systemctl restart rspamd.service
Entonces puedo correr sudo systemctl restart rspamd.service
y todo va bien. Gracias.