OS: Linux
Wie funktioniert schon wieder chmod?
Es gibt 2 Arten wie man chmod benutzen kann.
Die Zahl ist immer 3-stellig wobei jede Ziffer die gleiche Bedeutung hat aber für einen anderen Bereich gilt.
Bereich User (u) (ganz links): Berechtigung die der Eigentümer der Datei hat Bereich Group (g) (mitte): Berechtigung die die Gruppenmitglieder haben Bereich Others (o) (rechts): Berechtigung die alle anderen haben.
cwacha@lapis:~$ ls -la public -rwxr--r-- 6 cwacha profis 4096 2004-02-28 10:23 public ^^^ '--- (o) Rechte für den Rest der Welt ^^^ '------ (g) Gruppenrechte ^^^ '--------- (u) Eigentümerrechte
Dabei steht rwx für die tatsächlichen Rechte. r (read) für Leseberechtigung, w (write) für schreiben und x (eXecute) für ausführen. Im obigen Beispiel ist der Eigentümer „cwacha“ und hat sämtliche Rechte (rwx). Die Datei gehört der Gruppe „profis“ welche die Datei nur lesen können (r–). Alle anderen können die Datei ebenfalls nur lesen (r–). Jedem Buchstabe wird nun eine Zahl zugeordnet. Die totalen Rechte erhält man durch addieren der Zahlen. Wenn das Attribut nicht gesetzt ist, hat es den Wert 0.
Alle 3 zusammen haben also den Wert 1+2+4 = 7 für den Eigentümer. Die Zahl bei chmod setzt sich genau aus diesen 3 Ziffern zusammen. Im Beispiel oben wäre die Zahl also 744. Auf der Kommandozeile gibt man dann ein:
chmod 744 public
Normalerweise werden normale Dateien so eingestellt, dass der Eigentümer lesen und schreiben kann und die andern nur lesen. Das ginge dann so:
chmod 644 meinedatei
Analog dazu für ausführbare Programme:
chmod 755 meinprogramm.
Beachte auch dass jede x-beliebige Textdatei im Nu zum „Programm“ wird, sobald das X-Attribut gesetzt wird. Normalerweise führt das dann aber zu einer Fehlermeldung.
In der Manpage sind die aber etwas kompliziert erklärt. Anstatt Zahlen einzugeben gibt man Buchstaben Kombinationen ein.
Danach folgt + oder - um anzugeben ob das Attribut gesetzt (+) oder gelöscht (-) wird. Zu guter letzt die Berechtigungen r, w, x.
Um der Gruppe Schreibberechtigung zu erteilen gibt man folgendes ein:
chmod g+w meinedatei
Um den anderen alle Rechte wegzunehmen:
chmod o-rwx meinedatei
Um die Berechtigugen einer Datei zu ändern muss man selbst Schreibrechte auf die Datei haben. Ausserdem hindert einem das System nicht sich selbst die Schreibberechtigungen wegzunehmen. Und wenn man die nicht mehr hat, kann die Operation auch nicht rückgängig machen.
Bei Verzeichnissen muss das X-Attribut UND Das R-Attribut gesetzt sein.