Laden Sie Apache mit dem ACME-Benutzer neu

Laden Sie Apache mit dem ACME-Benutzer neu

Ich betreibe einen Webserver unter Debian 10 (Buster) und Apache 2.4.38. Ich habe einen speziellen Benutzer erstellt, acmeder Skripte zum Erneuern von TLS-Zertifikaten ausführt.

$ cat /etc/passwd | grep ^acme
acme:x:1002:1002::/var/acme:/usr/bin/nologin
$ cat /etc/group | grep ^acme
acme:x:1002:

Dieser acmeBenutzer sollte die Apache 2-Konfiguration nach der Erneuerung der Zertifikate erneut laden dürfen. Daher habe ich meinem /etc/sudoersusing diese Zeile hinzugefügt visudo(8):

%acme   ALL=(root) NOPASSWD: /etc/init.d/apache2 reload

Das funktioniert leider nicht:

$ 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!

Habe ich etwas verpasst?

Antwort1

Du brauchstSEIder Benutzer acme, wenn Sie sudo ausführen, nicht mit -u acme.

acme@host:~ $ sudo /etc/init.d/apache2 reload

Ein weiteres mögliches Problem:

Das %in Ihrer sudoers-Datei gibt an, dass es acmesich um eine Gruppe handelt. Dies ist kein Problem, wenn Ihr Benutzer Mitglied einer Gruppe namens ist acme, es ist jedoch ein Problem, wenn dies nicht der Fall ist.

verwandte Informationen