Linux-Berechtigungen, wenn Dateien von verschiedenen Prozessen geschrieben / gelesen werden

464
user1156544

Ich habe eine über Tomcat bereitgestellte Webanwendung, mit der Dateien in ein Verzeichnis hochgeladen werden können files. Diese Dateien werden von Tomcat mit Eigentümer tomcat:tomcatund Berechtigungen hochgeladen 640. Ich muss die Gruppe verwalten, tomcatda andere Benutzer sie für Verwaltungszwecke benötigen.

Auf der Downloadseite habe ich ein Nginx, das die Dateien für Benutzer liefert.

Das Problem ist, dass Nginx nicht auf die hochgeladenen Dateien zugreifen kann, da ein Benutzer verwendet wird www-data:www-data.

  • Ich kann aus Sicherheitsgründen nicht www-datazur Gruppe hinzufügen tomcat.
  • Ich kann die tomeeGruppe nicht ersetzen www-data, da ich die tomeeGruppe brauche und ich kann nicht zulassen, dass tomee ALLE Dateien unter der www-dataGruppe erstellt (z. B. würde tomee Protokolle unter erstellen tomee:www-data, was unerwünscht ist - dies könnten nur Uploads sein).
  • Aus othersSicherheitsgründen kann ich keine Berechtigungen für die Dateien zulassen . In jedem Fall kann ich die Standard- 640Tomcat-Maske nicht ändern, da ( jede fehlerhafte Tomcat-Konstruktion?) Sich auf JEDE von Tomcat erstellte Datei auswirkt.
  • Ich könnte verwenden, chmod g+saber dies scheint die Dateien nicht rekursiv zu beeinflussen (Tomcat erstellt auch Verzeichnisse, in denen die Datei dann hochgeladen wird).

Wie kann ich dieses Problem lösen?

0

1 Antwort auf die Frage

0
user1156544

Ich denke, ich habe das Problem gelöst, muss aber noch weitere Tests durchführen, bevor die Lösung akzeptiert wird.

  • sudo apt install acl (basierend auf Ubuntu)
  • sudo chown tomcat:www-data files
  • sudo chmod g+s files
  • sudo setfacl -Rm d:g:www-data:r files