Grundlage:
„d“ Ordner – directory
„f“ Datei – file
„exec“ ausführen in einem Prozess
„u“ für den Besitzer („user“)
„g“ für die Gruppe („group“)
„o“ für alle anderen – others. Die Benutzer ausserhalb der eigenen Gruppe
„a“ für alle – all
„+“ die folgenden Rechte setzen
„-“ die folgenden Rechte zu entfernen
„s“ setzt als user oder group bei der Ausführung/Erstellung der Datei oder Ordner.
Beispiel: chmod =rwx,g+s dateiname – Katastrophe!!!
„=“ genau die angegebenen Rechte zuzuweisen
„{}“ führt Befehl im Background, wenn was drinnen ist dann als ein angekettetes Befehl.
Weberver/www-data bekommt Gruppenrechte
Alle Daten und Ordner dem Webserver, hier www-data benannte Gruppe, als Bruppenbesitzer zuweisen.
Dann Ordner read/execute und Datei auf read für die Gruppe www-data!!!
Mit +x kann der Webserver Inhalte allozieren und schnell zugreifen.
Dass letzte {} und + machen aus find einen einzigen background Befehl
Es gibt einige Fälle wo die Webservergruppe/www-data schreiben muss und da sollte man explizit write Rechte zuweisen!
Es ist z.B. erforderlich bei den Konfigurationsdateien die z.B. Datenbankzugriffe enthalten und von Außen geschützt seien sollen:
Geben Sie den User read/write Rechte!
Wie bei den Gruppen, *vorhandenen* Usern Rechte vergeben. Auf Ordner +x!
Sichern dass www-data auch bei neuen erstellten Daten automatisch Besitzer ist
Für jede neue Datei die neu Erstellt wird mit g+s wird die Gruppe www-data Rechte zugewiesen. z.B. würde ich u+s eingeben, alles was neu erstellt wird, würde unter dem User stajic angelegt…oder so…
Dies gehört zu erweiterten Linux/Unix Rechten – außerhalb von einfachen rwx Rechten. Es gehört zu SUID/ SGID und wird von root/admin missachtet. Aus diesem Grund darf keiner auf dem Webserver als root arbeiten!!! Sonst kommt es zum Chaos! In diesem Beispiel ist es SGID weil es die Gruppe und Webserver betrifft. Erweitert darf keiner mir chattr spielen – sonst auch Chaos!
Optional
Wenn der Webserver mehrere Projekte/User/Domains/Gruppen/etz. Bedient die die Dateien und Ordner nicht mal sehen durfen, dann:
So können wir eine neue Gruppe erstellen für einen abgeschirmten Projekt dass auf die andere Projekte oder Strukturen nicht Einfluß nehmen kann – Sandkastensystem.
Wenn die andere Benutzer nicht genug Rechte besitzen, dann ist die erforderliche +x bit auf Ordner und Dateien nicht gesetzt und Webserver kann die Struktur nicht durchlaufen/durchsuchen oder fehlt +r – read auf Dateien!!!
Dies ist auf alle andere Programmen anwendbar.