Tenho uma página da web com botão, quando o usuário clica no botão, o script restart.sh
no servidor é executado. Este script contém:
#!/bin/bash
systemctl restart rspamd.service
Após clicar no botão, restart.sh
é executado, mas rspamd.service não é reiniciado:"Falha ao reiniciar rspamd.service: acesso negado"Como o script é executado clicando no botão da página da web, o usuário real que o executa no servidor é www-data
. Tentei definir o bit suid para executar o script como root, mas não está funcionando. Como posso reiniciar o rspamd.service como www-data
usuário?
Responder1
Resolvido comsudo. Já tentei antes, mas escrevi na ordem errada. Editarsudoerscom visudo
e adicione isto ao final do arquivo:
www-data ALL = NOPASSWD: /bin/systemctl restart rspamd.service
Então posso simplesmente correr sudo systemctl restart rspamd.service
e tudo correrá bem. Obrigado.