Ich installiere einen nginx ssl-Proxy auf meinem Fedora-Server.
Ich habe ein Zertifikat und ein Schlüsselpaar unter / etc / nginx erstellt. Sie sehen so aus:
ls -l /etc/nginx/
total 84
...
-rw-r--r--. 1 root root 1346 Sep 20 12:11 demo.crt
-rw-r--r--. 1 root root 1679 Sep 20 12:11 demo.key
...
Als root versuche ich den Nginx-Dienst zu starten:
systemctl start nginx.service
Ich erhalte folgenden Fehler:
nginx[30854]: nginx: [emerg]
SSL_CTX_use_certificate_chain_file("/etc/nginx/demo.crt") failed (SSL: error:0200100D:system library:fopen:Permission denied...e:system lib)
nginx[30854]: nginx: configuration file /etc/nginx/nginx.conf test failed
Stimmt etwas mit den Berechtigungen für diese Dateien nicht?
nginx
ssl
ssl-certificate
numb3rs1x
quelle
quelle
Antworten:
Sie haben SELinux wahrscheinlich im Erzwingungsmodus (der Standard für Fedora):
Wenn dies der Fall ist, überprüfen Sie die Überwachungsprotokolle. Sie sollten den Zugriffsfehler finden:
Wahrscheinlich haben Sie die Datei auch verschoben, anstatt sie zu kopieren, sodass der Sicherheitskontext der Datei möglicherweise falsch ist.
und korrigieren Sie es bei Bedarf:
quelle
cp
anstelle vonmv
und lernen Sie, wie Sie mit demaudit
System nach AVC-Ablehnungen suchen.Ich denke, es ist SELinux, das die Erlaubnis verweigert. Überprüfen Sie den SELinux-Kontext. Ihre sollte httpd_config_t sein. Wenn nicht, renne
oder
als root.
Sie können die Protokolle unter / var / log / audit / überprüfen, um festzustellen, ob SELinux die Berechtigung verweigert. Du kannst auch rennen
um SELinux in den permissiven Modus zu versetzen . Auf diese Weise generiert SELinux weiterhin AVC-Nachrichten (in / var / log / audit /), lässt jedoch den Zugriff zu.
quelle