Recarregue o Apache usando o usuário ACME

Recarregue o Apache usando o usuário ACME

Eu executo um servidor web no Debian 10 (Buster) e Apache 2.4.38. Criei um usuário especial acmeque 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 acmeusuá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/sudoersusing 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.

informação relacionada