NGINX Permission Issue nach Update

Mardor

Well-Known Member
Hallo,

ich habe nginx-1.12.2_2,2 via make upgedatet. Vor dem Update hat nginx (der nur als Reverse Proxy fungiert) ohne Probleme funktioniert (dies ist durch einen zfs rollback auchf erkennbar und immer wieder nachvollziehbar).

Am Ende der Kompilierung erhalte unter anderem folgende Meldung:

Code:
===>  Staging for nginx-1.12.2_2,2
===>   nginx-1.12.2_2,2 depends on file: /usr/local/lib/libcrypto.so.9 - found
===>   Generating temporary packing list
===> Creating groups.
===> Creating users
...
====> Compressing man pages (compress-man)
===> Staging rc.d startup script(s)
===>  Installing for nginx-1.12.2_2,2
===>   Registering installation for nginx-1.12.2_2,2
Installing nginx-1.12.2_2,2...
===> Creating groups.
Using existing group 'www'.
===> Creating users
Using existing user 'www'.

Mich wundert die Information bzgl. User, da nginx bereits vor dem Update unter dem user "www" lief.

Nach dem Update erhalte ich im error-log folgende Meldung:

Code:
2017/12/09 22:09:40 [crit] 3533#0: *1 open() "/var/tmp/nginx/client_body_temp/0000000001" failed (13: Permission denied), client: 46.85.146.238, server: xxx.xxx.de, request: "PUT /remote.php/webdav/abcd.pdf HTTP/1.1", host: "xxx.xxx.de"

Das dort genannte Verzeichnis (inkl. aller Unterverzeichnisse) erhält sowohl vor als auch nach dem Update www:root als User:Gruppe und 700 als Berechtigung. Auch eine Löschung aller Verzeichnisse unter /var/tmp/nginx/ und dem Neustart von nginx hat hier keine Lösung gebracht.

Ich habe bereits im Changelog von nginx gesucht, auch gegoogled etc. ... ohne Erfolg.
Hat jemand eine Idee hierzu ?

Gruß Mardor
 
Also den letzten Commit für nginx habe ich am 2.12 gemacht bzgl brotli.

Nutzt du die Standartoptionen, oder eine andere config?
 
Hallo,

unter welcher UID läuft der nginx denn tatsächlich? Bitte mittels ps prüfen.
Desweiteren: Normalerweise manipuliert man selbständig unterhalb /var/tmp und /tmp keine Rechte. Hast du mal versucht, das Verzeichnis /var/tmp/nginx selbst auch zu entfernen und den nginx neu zu starten?

Desweiteren: wenn die Probleme wieder auftauchen, dann mal bitte ein ls -lR auf /var/tmp/nginx absetzen, sodass man sieht, was dort mit welchen Rechten angelegt wurde.

Rob
 
Zuletzt bearbeitet:
Hallo KobRheTilla,

hier der output:

Code:
ps aux | grep nginx

root     94253   0.0  0.7 39168  7472  -  Is    5:48PM    0:00.00 nginx: master process /usr/local/sbin/nginx
www      94254   0.0  0.8 39168  8316  -  S     5:48PM    0:00.22 nginx: worker process (nginx)
root     95453   0.0  0.0   392   312  1  R+    5:52PM    0:00.00 grep --color=auto nginx

Gruß Mardor
 
Hallo KobRheTilla,

Desweiteren: Normalerweise manipuliert man selbständig unterhalb /var/tmp und /tmp keine Rechte. Hast du mal versucht, das Verzeichnis /var/tmp/nginx selbst auch zu entfernen und den nginx neu zu starten?

Ich hatte nach dem Update selbständig keine Rechte geändert. Ich hatte nur die Verzeichnisse unterhalb von /var/tmp/nginx gelöscht, da ich diese neu erstellen lassen wollte.
Nun habe ich den service nginx gestoppt, das nginx Verzeichnis von /var/tmp/ in /tmp gemoved und nginx neu gestartet. Danach hat der Reverse Proxy ohne Probleme funktioniert.

Die Rechte des alten nginx Verzeichnis sind übrigens:
Code:
drwxr-x---  7 root  wheel  7B Dec 11 00:51 nginx

Ich kann gerne nochmal den Snapshot zurückspielen um mir die Rechte vor dem Update anzuschauen. Eventuell hat das Update Änderungen an den Rechten vorgenommen.

Wie beschrieben, hat alles vor dem Update funktioniert, sobald das Update drauf war hat nichts mehr funktioniert. Keine Manipulation der Rechte meinerseits.

Gruß Mardor
 
Zuletzt bearbeitet:
Hallo Rob,

Code:
Aber nun gehts ja.

Ja jetzt funktioniert alles einwandfrei. Und ich fand deinen Kommentar nicht schlecht, denn es hat mich tatsächlich veranlasst nochmal genau nachzudenken ob ich nicht doch irgendwas bzgl. Rechte verändert habe.

Gruß Mardor
 
Hallo Rob,

gestern habe ich das mal wieder nginx upgedatet, leider existiert schon wieder das gleiche Problem.
Gelöst werden konnte es mit löschen von /var/tmp/nginx und restart von nginx.

Hast du oder jemand Anderes noch irgendeine Idee hierzu ?

Gruß Mardor
 
Hast du oder jemand Anderes noch irgendeine Idee hierzu ?

Wie bereits geschrieben, ist für diese Analyse die Ausgabe der Berechtigungen von Nöten:

Desweiteren: wenn die Probleme wieder auftauchen, dann mal bitte ein ls -lR auf /var/tmp/nginx absetzen, sodass man sieht, was dort mit welchen Rechten angelegt wurde.

Wenn man dies vor und nach dem Update macht, kann man eventuell etwas miteinander vergleichen.

Rob
 
Zurück
Oben