@theSplit: Vielleicht solltest du das etwas mehr ausführen, weil so, wie du das grade geschrieben hast, änderst du gar nichts an der Sicherheit.
Userverwaltung sieht in Linux üblicherweise folgendermaßen aus:
Eine Datei hat genau einen Besitzer und genau eine Besitzergruppe. Das führt dazu, dass es auf jeder Datei drei Rechteabschnitte gibt, nämlich den Owner (User), die Group, und alle anderen.
Ich geh hier jetzt explizit NICHT auf ACLs und erweitertes Rechtemanagement ein, weil es die Sache unnötig verkompliziert und in den wenigsten Setups sinnvoll ist. Einfach ist übersichtlich, und übersichtlich ist sicher.
Es gibt für jeden Rechteabschnitt genau 3 Rechte auf eine Datei:
Lesen - r(ead)
Schreiben - w(rite)
Ausführen - (e)x(ecute)
Siehst du dir eine x-beliebige Datei auf dem System per ls -l an, sieht das etwa so aus:
-rwxr-xr-x 1 root root Größe Änderungsdatum Dateiname
Das bedeutet:
Die Datei darf von dem User (root) gelesen, geschrieben und ausgeführt werden, von der Besitzergruppe (root) nur gelesen und ausgeführt und von allen anderen ebenfalls nur gelesen und ausgeführt werden. Nicht verwirren lassen: In den meisten Distros hat jeder User eine primäre Gruppe, die nur ihn selbst enthält und genauso heißt wie er selbst - das ist ein Sicherheitsfeature, weil alle neuen Dateien mit seinem User und seiner Usergruppe erstellt werden, und man schnell einstellen kann, dass der Rest standardmäßig zum Beispiel gar nicht darauf zugreifen darf (per umask, das lass ich hier aber jetzt auch mal weg).
Ein User darf in unendlich vielen Gruppen Mitglied sein. Wenn du also möchtest, dass eine Datei von mehreren Usern bearbeitet werden darf, musst du nur Folgendes machen:
1. Du erstellst eine Gruppe, die alle diese User beinhaltet.
2. Du änderst mit chown die Besitzergruppe der Datei (chown :gruppe Datei)
3. Du änderst die Rechte mit chmod so ab, dass die Benutzergruppe das darf (chmod g+w Datei)
Warum ich Split jetzt etwas angegangen bin, liegt darin, dass er dir nur unzureichend Infos gibt. chmod kann ziemlich viel ändern, und so, wie er das macht, ändert er die Rechte global, d. h. für alle Rechteabschnitte. Ich habe hier eine andere Syntax gewählt, nämlich eine dedizierte: ugo beschreibt den Rechteabschnitt, und rwx das Recht. Nun kannst du mit +, - und = genaue Anweisungen geben, welcher Rechteabschnitt welche Rechte bekommen soll. In der Praxis wird man als Linux-Admin aber einfacher vorgehen, nämlich im Oktalsystem. Hinter jedem Recht steht eine Zahl, und man muss nur addieren, um den Abschnitt mit einem Rechteset zu versehen:
r = 4
w = 2
x = 1
Ich kann so also schnell für eine Datei das Rechteset rwxrwxr-x festlegen, wenn ich einfach nur
chmod 775 Datei
mache, anstatt
chmod u=rwx,g=rwx,o=rx Datei
Wenn du willst, dass in Ordnern Rechte automatisch vererbt werden, kann man das mit einem Sonder-Bit tun:
chmod g+S Ordner
vererbt die Gruppenrechte des Ordners an alle Dateien, die dort neu erstellt werden. Allerdings ist Samba zum Beispiel dafür bekannt, das zu ignorieren, insofern ist das nicht immer eine gangbare Lösung.