nginx fastcgi_cache_path Schreibzugriff für andere Benutzer

nginx fastcgi_cache_path Schreibzugriff für andere Benutzer

Ich verwende einen Nginx-Webserver mit FastCGI-Caching. Der FastCGI_Cache_Pfad ist auf ein Unterverzeichnis des Webroots jedes virtuellen Hosts von Nginx eingestellt. (z. B. /var/html/user01/httpdocs/nginx_cache ... /var/html/user02/httpdocs/nginx_cache.)

Das Caching selbst funktioniert einwandfrei, wie ich in den Antwort-Headern (X-Cache-Treffer) und den gespeicherten Daten in den nginx_cache-Verzeichnissen sehen kann.

Wenn ich mir also die nginx_cache-Verzeichnisse anschaue, kann ich sehen, dass der Besitzer immer nginx ist. Was ich tun wollte, ist, die Berechtigungen (Lesen/Löschen) für die Benutzer (user01, user02, ...) für ihren nginx_cache-Ordner dauerhaft festzulegen.

Was ich bereits versucht habe: - rekursiv alle Rechte auf user0x ändern (werden von nginx bei Änderungen und neuen Dateien überschrieben) - nach einer nginx-Konfiguration suchen (nur nginx_store_access gefunden, was auch nicht funktioniert)

Wie kann ich dieses Problem lösen?

Antwort1

Erstens sollten Sie den Cache-Ordner nicht unter dem Webstammverzeichnis speichern /var/www/html/user01/httpdocs, da Sie dann den Cache-Inhalt für alle Webbesucher öffentlich machen. Verschieben Sie ihn auf eine /var/www/html/user01höhere Ebene, dann ist der Inhalt nicht mehr zugänglich.

Was die Dateiberechtigungen betrifft, könnten Sie versuchen, eine ACL wie folgt auf das Cache-Verzeichnis anzuwenden:

setfacl -d -m u:user01:rw ngx_cache

Dadurch wird dem ngx_cacheVerzeichnis eine ACL zugewiesen, die alle Dateien im Cache-Verzeichnis lesbar und beschreibbar macht user01.

verwandte Informationen