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


0

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

Auf der Download-Seite habe ich eine Nginx, die 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 www-datader Gruppe tomcataus Sicherheitsgründen nicht hinzufügen .
  • Ich kann es nicht ersetzen tomeeGruppe www-data, weil ich die Notwendigkeit tomeeGruppe und ich kann nicht zulassen , tomee alle Dateien unter der erstellen www-dataGruppe (zb tomee würde Protokolle erstellen unter tomee:www-data, was unerwünscht ist - nur die Uploads in jedem Fall könnte dies)
  • Ich kann othersaus Sicherheitsgründen keine Berechtigungen für die Dateien erteilen. In jedem Fall kann ich die Standard- 640Tomcat-Maske nicht ändern, da sich dies (schlechtes Tomcat-Design?) Auf JEDE von Tomcat erstellte Datei auswirkt.
  • Ich könnte verwenden, chmod g+saber dies scheint nicht die Dateien rekursiv zu beeinflussen (Tomcat erstellt auch Verzeichnisse, in die es dann die Datei hochlädt)

Wie kann ich dieses Problem lösen?

Antworten:


0

Ich glaube, ich habe es gelöst, muss aber noch mehr Tests durchführen, bevor ich die Lösung akzeptiere.

  • 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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.