![Recarregue o Apache usando o usuário ACME](https://rvso.com/image/768945/Recarregue%20o%20Apache%20usando%20o%20usu%C3%A1rio%20ACME.png)
Eu executo um servidor web no Debian 10 (Buster) e Apache 2.4.38. Criei um usuário especial acme
que executa scripts para renovação de certificados TLS.
$ cat /etc/passwd | grep ^acme
acme:x:1002:1002::/var/acme:/usr/bin/nologin
$ cat /etc/group | grep ^acme
acme:x:1002:
Este acme
usuário deve ter permissão para recarregar a configuração do Apache 2 após a renovação dos certificados. Então adicionei esta linha ao meu /etc/sudoers
using visudo(8)
:
%acme ALL=(root) NOPASSWD: /etc/init.d/apache2 reload
Infelizmente, isso não funciona:
$ sudo -u acme /etc/init.d/apache2 reload
[....] Reloading apache2 configuration (via systemctl): apache2.serviceFailed to reload apache2.service: Access denied
See system logs and 'systemctl status apache2.service' for details.
failed!
Eu perdi alguma coisa?
Responder1
Você precisaSERo usuário acme quando você executa o sudo, não com -u acme
.
acme@host:~ $ sudo /etc/init.d/apache2 reload
Outro possível problema:
O %
arquivo sudoers indica que acme
é um grupo. Isso não é um problema quando seu usuário está em um grupo chamado acme
, mas é se ele não estiver.