Centos7

監視,讓我們加密和文件權限

  • October 26, 2020

我決定在執行centos 7的vps上安裝monit。我已經在伺服器上加密並安裝了證書。我想將 monit 指向 fullchain.pem 或 cert.pem,但出現此錯誤。

   Dec 30 00:56:52 [23926]: The SSL server PEM file 
   '/etc/letsencrypt/live/example.com/fullchain.pem' must have permissions no more than -rwx------ (0700); right now permissions are -rw-r--r-- (0644).
   Dec 30 00:56:52 monit[23926]: /etc/monitrc:131: SSL server PEM file permissions check failed 'allow'
   Dec 30 00:56:52  systemd[1]: monit.service: main process exited, code=exited, status=1/FAILURE

不知道如何進行。我要更改證書文件的所有者嗎?我要更改執行 monit 的所有者嗎?

Monit 非常奇怪,因為它希望將私鑰和 TLS 證書鏈連接到由 指定的單個文件中pemfile,因此您不能在沒有進一步處理的情況下使用通過 certbot 檢索到的證書。

您需要在 certbot 中設置部署掛鉤,以便將證書連接到單個文件中並設置該文件的權限。

範例腳本可能如下所示:

#!/bin/bash

for domain in $RENEWED_DOMAINS
do
   case $domain in
   example.com)
       cat $RENEWED_LINEAGE/privkey.pem $RENEWED_LINEAGE/fullchain.pem > /etc/monit/pemfile-$domain.pem
       chmod 600 /etc/monit/pemfile-$domain.pem
       ;;
done

然後用 更新certbot renew --deploy-hook '/path/to/that/script.sh'

並在監控中指定pemfile /etc/monit/pemfile-example.com.pem

最後,您可以使用更新的證書重新啟動監視器,例如 certbot renew --post-hook 'systemctl restart monit'

引用自:https://serverfault.com/questions/890076