Sie müssen dem Grundsatz des geringsten Privilegs folgen . Der Server muss (wahrscheinlich www-data
, aber Sie müssen es überprüfen) in der Lage sein, die meisten Dateien zu lesen (sagen wir alle) und nur in die Protokolle zu schreiben. Die Webentwickler dürfen schreiben, wo sie wollen. Setzen Sie das Sticky-Bit in den Verzeichnissen so, dass es nur der Eigentümer einer Datei löschen kann.
In der Praxis müssen Sie (zum Beispiel webdev
) eine Gruppe erstellen und alle Entwickler und den Server hinzufügen ( usermod -aG webdev <user>
oder usermod -A webdev <user>
je nach Linux-Version). chown
Alle Dateien und Verzeichnisse an den Webserver-Benutzer, chmod alle Verzeichnisse an 500 und alle Dateien an 400 (außer dort, bin
wo die ausführbaren Dateien ebenfalls 500 sein müssen).
Erteilen Sie /opt/tomcat
der Gruppe Schreibberechtigungen (das wären 570) und setzen Sie das Sticky-Bit so, dass sie nur die Dateien entfernen können, deren Eigentümer sie sind (chmod 1570). Gewähren Sie dem Server die Schreibberechtigung für die Protokolle und die Leseberechtigungen für die Entwickler (0740 für den Ordner, 0640 für die Dateien, das Sticky-Bit ist wahrscheinlich nicht erforderlich, und gewähren Sie es niemals einer Datei, sondern nur den Ordnern, wie es eine hat) andere Bedeutung (mit den Berechtigungen des Eigentümers ausführen, wenn die Datei ausführbar ist)).
Dann müssen Sie webdev
einigen Verzeichnissen Schreibrechte (1570) erteilen . Sie benötigen hier einige Versuche und Fehler, und dies kann von der Anwendung abhängig sein. Diese Ordner müssen 1570 sein, während einige andere 0500 sein können.
Die Entwickler müssen der Gruppe Lesezugriff auf ihre Dateien gewähren, damit der Server sie lesen (das sind 640) und auch auf den Verzeichnissen ausführen kann (das sind 750).