Apache2
使用 ACME 使用者重新載入 Apache
我在 Debian 10 (Buster) 和 Apache 2.4.38 上執行一個 Web 伺服器。我創建了一個
acme
執行腳本以更新 TLS 證書的特殊使用者。$ cat /etc/passwd | grep ^acme acme:x:1002:1002::/var/acme:/usr/bin/nologin $ cat /etc/group | grep ^acme acme:x:1002:
acme
更新證書後,應允許此使用者重新載入 Apache 2 配置。所以我將此行添加到我的/etc/sudoers
using 中visudo(8)
:%acme ALL=(root) NOPASSWD: /etc/init.d/apache2 reload
不幸的是,這不起作用:
$ 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!
我錯過了什麼嗎?
執行 sudo 時,您需要成為acme
-u acme
使用者,而不是.acme@host:~ $ sudo /etc/init.d/apache2 reload
另一個可能的問題:
sudoers 文件中的
%
表示這acme
是一個組。當您的使用者在名為 的組中時,這不是問題acme
,但如果他不是。