Ich habe 2 Benutzer auf meinem Server. Einer mit Sudo-Zugang ein anderer ohne. Wie kann ich Zugriff auf Nginx-Protokolle geben?
/var/log/nginx/error.log
An einen anderen Benutzer ohne sudo
Nutzungserlaubnis cat /var/log/nginx/error.log
? Kann ich so etwas wie einen Symlink erstellen, um mich in seinem Verzeichnis / home / username anzumelden?
Meine Frage ist also: Wie kann ein Benutzer ohne sudo
Berechtigung Nginx-Protokolle überprüfen?
sudo
Zugang zu was? Es ist nicht klar aus Ihrer Frage. Ich weiß, dass einige Leute "Sudo-Zugriff" als "Root-Zugriff" bezeichnen, aber das ist technisch nicht korrekt. Bitte arbeiten Sie aus.sudo
ihm die Berechtigungen geben, je nachdem, wie Sie sie konfigurieren möchten.setfacl -m 'user:someuser:r' /var/log/nginx/error.log
. Ich bin mir nicht sicher, wie das mit logrotate funktionieren würde.sudo
Zugang zu Katze / Schwanz / usw. Das Protokoll ist wahrscheinlich sowieso eine bessere Option. "Antworten:
Zum Beispiel so:
chmod 755 /var/log/nginx && chmod 644 /var/log/nginx/*.log && chmod 644 /var/log/nginx/*.gz
Auf diese Weise kann jeder den Inhalt des Verzeichnisses / var / log / nginx cwd und lesen und die * .log-Dateien lesen.
Sie sollten auch die rotierende Protokollkonfiguration überprüfen, damit die Berechtigungen nicht erneut geändert werden. In den letzten Versionen von Nginx bis einschließlich 1.6.2 hat die Datei
/etc/logrotate.d/nginx
die Zeilecreate 0640 www-data adm
zum Festlegen von Berechtigungen beim Drehen von Protokollen verwendet. Dies sollte in so etwas wie geändert werdencreate 0644 www-data adm
. Es ist zu beachten, dass mit dieser Lösung alle Benutzer auf dem Server alle Nginx-Protokolle lesen können.Update: logrotate-Konfigurationen sollten ebenfalls aktualisiert werden
su www-data adm
, damit das Dienstprogramm logadm funktioniert, ohne sich über falsche Verzeichnisberechtigungen zu beschweren.quelle
/etc/logrotate.d/nginx
istcreate 0640 www-data adm
. Das ist in 1.6.2, aber ich glaube nicht, dass sich diese Zeile seit einiger Zeit geändert hat.