Berechtigungen
Zur Navigation springen
Zur Suche springen
chmod
- Die Syntax des Befehls chmod lautet:
- chmod Oktalzahl Dateiliste
oder
- chmod WerWieWas [,WerWieWas,.....] Dateiliste
chmod oktale Schreibweise
Specialrights User Group Other usbit gsbit sticky r w x r w x r w x 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
Oktale Wertigkeit pro Recht 4 2 1 4 2 1 4 2 1 4 2 1
Beispiele
- chmod -v 751 test
mode of 'test' changed from 0664 (rw-rw-r--) to 0751 (rwxr-x--x)
- chmod -v 4770 test
mode of 'test' changed from 0751 (rwxr-x--x) to 4770 (rwsrwx---)
- chmod -v 0 test
mode of 'test' changed from 4770 (rwsrwx---) to 0000 (---------)
chmod symbolische Schreibweise
- Durch WerWieWas bzw. Oktalzahl wird die Rechtetabelle definiert.
- Innerhalb von WerWieWas darf es kein Leerzeichen geben.
- Wer bezeichnet den Benutzerkreis, dem man Rechte gibt.
- Wie die Art, in der die Rechte gegeben werden
- Was die Rechte als solche.
- Im einzelnen können folgende Kürzel benutzt werden
Für Wer kann eines der folgenden Kürzel oder eine Kombination davon stehen
u (user) Rechte für den Dateibesitzer g (group) Rechte für die Gruppe o (others) Rechte für alle anderen Benutzer a (all) Rechte für alle Benutzer
Für Wie steht eines der folgenden Kürzel
+ Die Rechte werden zu den vorhandenen zusätzlich vergeben - Die im Folgenden genannten Rechte werden entzogen = Die im Folgenden genannten Rechte ersetzen die bisherigen
Für Was steht eines der folgenden Kürzel
r (read) lesen w (write) schreiben x (execute) ausführen
oder diese Sonderformen
s (usersbit) Programm läuft unter der UID des Besitzers s (groupsbit)Programm läuft unter der GID des GRUPPE t (stickybit) Dateien im Verzeichnis darf nur Besitzer löschen
Beispiel
- Setze für alle Schreib- und Leserecht
- chmod -v a=rw test
- Erteile Besitzer Ausführungsrecht
- chmod -v u+x test
- Erteile Besitzer alle Rechte und setze der Gruppe und dem Rest Leserecht
- chmod -v u+rwx,g=r,o=r test
-rwxr--r-- 1 xinux xinux 0 2009-06-16 12:01 test xinux@zero:~$
chmod Optionen
-c (changes) es werden nur die Dateien angezeigt, deren Zugriffsrechte tatsächlich verändert werden -f (silent, quiet) Fehlermeldungen wegen fehlgeschlagener Änderungsversuche werden unterdrückt -v (verbose) alle Aktionen werden angezeigt -R (recursive) die Zugriffsrechte aller Dateien in den Unterverzeichnissen werden ebenfalls geändert
- Theoretisch sind alle Kombinationen der Zugriffsrechte denkbar.
- Der Eigentümer einer Datei darf diese immer lesen, selbst wenn das Lesebit nicht gesetzt ist.
- Genauso macht es wenig Sinn, eine gewöhnliche Textdatei als ausführbar zu setzen
- Die Shell wird damit nichts anfangen können.
- Ein x für ein Verzeichnis gibt an, dass in dieses gewechselt werden kann.
- Rechte sind verbindlich
- Interessant ist auch ein Konstrukt folgender Art
-rwx---rwx
- Das angibt, dass mit der Datei alles angestellt werden kann, außer durch Nutzer der Gruppe.
- Versucht irgend jemand, der nicht der Gruppe des Eigentümers angehört, die Datei zu modifizieren wird ihm dies gelingen
- einem Gruppenmitglied bleibt dies versagt, obwohl er ja gleichzeitig ein "Anderer" ist
=> die Rechte der Gruppe sind verbindlicher, als die Rechte der anderen!
Bedeutungen der Zugriffsarten
Dateien
r
- Der Inhalt der Datei kann gelesen und damit auch kopiert werden.
- cat test
Dies ist eine Testdatei
- cp test backup
w
- Der Inhalt der Datei darf verändert werden.
- Ob die Datei gelöscht werden kann ist keine Eigenschaft der Datei, sondern des Verzeichnisses, indem sich die Datei befindet.
- cat > test
Hier steht jetzt was anderes
cat test
Hier steht jetzt was anderes
- ls -ld verzeichnis/
dr-xr-xr-x 2 xinux xinux 4096 2009-06-18 11:16 verzeichnis/
- rm text
rm: Entfernen von „text“ nicht möglich: Permission denied
x
- Ausführrecht für Programme und Skripte
- ./programm
./programm: Permission denied
- chmod +x programm
./programm
Test test
Verzeichnisse
r
- Die Einträge in dem Verzeichnis sind lesbar.
- Leserecht von verzeichnis/ entziehen
- chmod a-r verzeichnis/
- ls verzeichnis/
ls: Öffnen von Verzeichnis verzeichnis/ nicht möglich: Permission denied
- Leserecht für Benutzer und Gruppe vergeben
- chmod a+r verzeichnis/
- ls verzeichnis/
text
w
- Die Einträge in dem Verzeichnis können geändert werden.
- Neue Datei erstellen
- touch neu
- ls neu
neu
- Datei löschen
- rm neu
- ls neu
ls: Zugriff auf neu nicht möglich: No such file or directory
x
- Der Name des Verzeichnisses kann in einem Pfadnamen erscheinen.
- Verzeichnis ohne x Recht
- chmod a-x verzeichnis/
- Wechseln in Verzeichnis mangels x-Recht nicht möglich
- cd verzeichnis/
-bash: cd: verzeichnis/: Permission denied
- x-Recht vergeben
- chmod a+x verzeichnis/
- damit Wechsel in Verzeichnis möglich
- cd verzeichnis/
- pwd
/home/xinux/verzeichnis
umask
- Neue Dateien und Verzeichnisse werden mit ein und denselben Zufriffsrechten erzeugt.
- mkdir text
- touch textdat
- ls -ld text*
drwxr-xr-x 2 xinux xinux 4096 2009-06-18 11:37 text -rw-r--r-- 1 xinux xinux 0 2009-06-18 11:37 textdat
- Zuständig für dieses Verhalten ist die sogenannte umask.
- Dies wird oft in der Datei /etc/profile auf den Wert 022 voreingestellt.
- Zusätzlich wird noch eine Maximalmaske benötigt, die sich für Verzeichnisse und andere Dateien unterscheidet.
- Die bei der Erzeugung gesetzten Rechte entstehen nun, indem von der Maximalmaske der durch die umask vorgegebene Wert subtrahiert wird
Dateien | Verzeichnisse | |
---|---|---|
Systemvorgabe | 666 | 777 |
-umask | 022 | 022 |
Ergebnis | 644 | 755 |
- grep umask /etc/profile
umask 022
- Jeder kann seine eigene umask in der Datei ~/.profile einstellen!