Chmod
Aus Ubuntu-Forum Wiki
Zero77 (Diskussion | Beiträge) (→Beispiele) |
|||
Zeile 131: | Zeile 131: | ||
[[Kategorie:Terminal]] | [[Kategorie:Terminal]] | ||
- |
Aktuelle Version vom 11. Januar 2011, 20:51 Uhr
Inhaltsverzeichnis |
1 Allgemeines
Da nicht jede Datei und jedes Verzeichnis für alle Benutzer einsehbar sein soll, wird der chmod (Change Mode)-Befehl genutzt, um die Zugriffe auf eine Datei oder ein Verzeichnis festzulegen.
Mithilfe von chmod können die Benutzer- und Gruppenrechte auf eine Datei oder ein Verzeichnis verändert werden.
Es ist nur dem Besitzer der Datei / des Verzeichnisses und Root erlaubt, die Rechte auf eine Datei oder auf ein Verzeichnis zu verändern. |
Um den Besitzer einer Datei oder eines Verzeichnisses zu verändern, wird der chown-Befehl benutzt. Die aktuellen Benutzerrechte einer Datei werden mit dem ls-Befehl angezeigt.
Bei nicht gewissenhafter Benutzung von chmod kann es zu Problemen am System kommen, die beispielsweise die Anmeldung am System verhindern können. Chmod sollte daher nicht auf Systemdateien angewendet werden. |
2 Nutzung
Den chmod-Befehl kann man auf zwei unterschiedliche Arten benutzen, im symbolischen oder im oktalen Modus. Gerade für Einsteiger eignet sich der symbolische Modus.
2.1 Optionen
Bei chmod stehen im symbolischen, sowie im oktalen Modus die gleichen Optionen zur Verfügung:
Parameter | Aktion |
---|---|
-c --changes | Änderungen anzeigen |
-f --silent, --quiet | Fehlermeldungen unterdrücken |
--help | Hilfe anzeigen |
-R --recursive | Änderungen rekursiv durchführen |
-v --verbose | Diagnose für die Datei anzeigen |
2.2 Symbolischer Modus
Der Syntax des symbolischen Modus sieht folgendermaßen aus:
chmod [ Optionen ] [u/g/o/a] [+/-/=] [r/w/x] datei / verzeichnis
- In diesem Modus muss angegeben werden
- für wen die Rechte geändert werden sollen (user, group, other, all).
- ob die Rechte erlaubt (+), entzogen (-) oder gesetzt (=) werden sollen.
- welche Rechte geändert werden sollen (read, write, execute).
- für welche Datei oder für welches Verzeichnis die Rechte verändert werden sollen.
2.2.1 Beispiele
Sollen die Rechte auf eine Datei, auf ein Verzeichnis außerhalb des eigenen Benutzerverzeichnisses verändert werden, so muss die Operation mit Root-Rechten geschehen.
Mit chmod und Root-Rechten sollte nur gewissenhaft am System gearbeitet werden, da schon kleinste Änderungen an Systemdateien gravierende Auswirkungen haben können. |
- Allen Benutzern uneingeschränkte Rechte gewähren
chmod a+rwx datei
- Der Datei zugehörigen Gruppe Ausführrechte gewähren
chmod g+x datei
- Dem Besitzer rekursiv alle Rechte auf alle Dateien in einem Verzeichnis geben
chmod -R u=rwx verzeichnis
- Dem Besitzer, sowie der zugehörigen Gruppe Lese- und Ausführrechte auf eine Datei geben
chmod ug=rx datei
2.3 Oktaler Modus
Der oktale Modus von chmod wird auch oft als absoluter Modus für chmod gesehen, da in diesem Modus nur Rechte gesetzt werden und nicht wie etwa im relativen Modus Rechte auch hinzugefügt oder abgezogen werden können.
Gleichzeitig hat dieser Modus den Nachteil, dass sich auch Rechte unbeabsichtigt verändern können.
Der Syntax von chmod im Oktalen Modus lautet:
chmod [ Optionen ] [Oktalzahl] datei
Hier folgen die meist genutzten Oktalzahlen im Umgang mit chmod:
Oktalzahl | Zugriffsrechte |
---|---|
664 | Schreibrechte für den Benutzer und für die Gruppe, Leserechte für alle |
666 | Lese- und Schreibrechte für alle |
775 | Lese- und Ausführrechte für alle, Schreibrechte nur für den Benutzer und der Gruppe |
777 | Lese-, Schreib- und Ausführrechte für alle |
Diese Oktalzahl setzt sich aus drei Ziffern zusammen, wobei die erste für den Besitzer der Datei, die zweite für die zugehörige Gruppe und die letzte für alle anderen steht.
Die einzelnen Rechte haben folgende Zahlenwerte:
Wert | Recht |
---|---|
4 | Leserecht |
2 | Schreibrecht |
1 | Ausführungsrecht |
Würde also der Bedarf bestehen, allen Benutzern des System das Leserecht auf eine Datei zu gewähren, muss die Oktalzahl 444 mit chmod setzten:
chmod 444 datei
Wenn jedoch z.B. dem Besitzer der Datei volle Rechte auf die Datei gewährt werden soll und allen anderen lediglich Leserechte, so müssen die Werte der Rechte addiert werden. Lese- (4) + Schreib- (2) + Ausführrechte (1) würden also dem Wert 7 entsprechen. Daher muss dann die Zahl 744 mit chmod gesetzt werden:
chmod 744 datei
2.3.1 Beispiele
- Allen Benutzern des Systems alle Zugriffsrechte gewähren
chmod 777 datei
- Datei für einen Benutzer der zugehörigen Gruppe ausführbar machen
chmod 775 datei