Berechtigungen: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Link auf Animation |
|||
| (7 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
*Animation zum Thema: [https://xinux.org/berechtigungen.html Berechtigungen] (Rechtefeld, chmod, umask, User-SBIT, Gruppen-SBIT, Sticky-Bit) | |||
=chmod= | =chmod= | ||
*Die Syntax des Befehls chmod lautet: | *Die Syntax des Befehls chmod lautet: | ||
| Zeile 20: | Zeile 22: | ||
*chmod -v 0 test | *chmod -v 0 test | ||
mode of 'test' changed from 4770 (rwsrwx---) to 0000 (---------) | mode of 'test' changed from 4770 (rwsrwx---) to 0000 (---------) | ||
{{#drawio:rechte-1}} | |||
==chmod symbolische Schreibweise== | ==chmod symbolische Schreibweise== | ||
*Durch WerWieWas bzw. Oktalzahl wird die Rechtetabelle definiert. | *Durch WerWieWas bzw. Oktalzahl wird die Rechtetabelle definiert. | ||
| Zeile 26: | Zeile 31: | ||
*Wie die Art, in der die Rechte gegeben werden | *Wie die Art, in der die Rechte gegeben werden | ||
*Was die Rechte als solche. | *Was die Rechte als solche. | ||
*Im einzelnen können folgende Kürzel benutzt werden | *Im einzelnen können folgende Kürzel benutzt werden | ||
===Für Wer kann eines der folgenden Kürzel oder eine Kombination davon stehen | ===Für Wer kann eines der folgenden Kürzel oder eine Kombination davon stehen=== | ||
u (user) Rechte für den Dateibesitzer | u (user) Rechte für den Dateibesitzer | ||
g (group) Rechte für die Gruppe | g (group) Rechte für die Gruppe | ||
| Zeile 46: | Zeile 51: | ||
===Beispiel=== | ===Beispiel=== | ||
Setze für alle Schreib- und Leserecht | ;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 | |||
Erteile Besitzer Ausführungsrecht | |||
Erteile Besitzer alle Rechte und setze der Gruppe und dem Rest Leserecht | |||
-rwxr--r-- 1 xinux xinux 0 2009-06-16 12:01 test | -rwxr--r-- 1 xinux xinux 0 2009-06-16 12:01 test | ||
xinux@zero:~$ | xinux@zero:~$ | ||
==chmod Optionen== | |||
-c (changes) es werden nur die Dateien angezeigt, deren Zugriffsrechte tatsächlich verändert werden | -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 | -f (silent, quiet) Fehlermeldungen wegen fehlgeschlagener Änderungsversuche werden unterdrückt | ||
| Zeile 68: | Zeile 66: | ||
-R (recursive) die Zugriffsrechte aller Dateien in den Unterverzeichnissen werden ebenfalls geändert | -R (recursive) die Zugriffsrechte aller Dateien in den Unterverzeichnissen werden ebenfalls geändert | ||
Theoretisch sind alle Kombinationen der Zugriffsrechte denkbar | *Theoretisch sind alle Kombinationen der Zugriffsrechte denkbar. | ||
Eigentümer einer Datei darf diese immer lesen, selbst wenn das Lesebit nicht | *Der Eigentümer einer Datei darf diese immer lesen, selbst wenn das Lesebit nicht gesetzt ist. | ||
gesetzt ist. Genauso macht es wenig Sinn, eine gewöhnliche Textdatei als | *Genauso macht es wenig Sinn, eine gewöhnliche Textdatei als ausführbar zu setzen | ||
ausführbar zu setzen | *Die Shell wird damit nichts anfangen können. | ||
Verzeichnis gibt an, dass in dieses gewechselt werden kann. | *Ein x für ein Verzeichnis gibt an, dass in dieses gewechselt werden kann. | ||
*Rechte sind verbindlich | |||
Rechte sind verbindlich | ;Interessant ist auch ein Konstrukt folgender Art | ||
Interessant ist auch ein Konstrukt folgender Art | |||
-rwx---rwx | -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 | 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. | |||
keine Eigenschaft der Datei, sondern des Verzeichnisses, indem sich die Datei befindet. | *cat > test | ||
Hier steht jetzt was anderes | Hier steht jetzt was anderes | ||
cat test | |||
Hier steht jetzt was anderes | Hier steht jetzt was anderes | ||
*ls -ld verzeichnis/ | |||
dr-xr-xr-x 2 xinux xinux 4096 2009-06-18 11:16 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 | 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 | ||
test | test | ||
==Verzeichnisse== | |||
==== | ===r=== | ||
;Die Einträge in dem Verzeichnis sind lesbar. | |||
Leserecht von verzeichnis/ entziehen | ;Leserecht von verzeichnis/ entziehen | ||
*chmod a-r verzeichnis/ | |||
*ls verzeichnis/ | |||
ls: Öffnen von Verzeichnis verzeichnis/ nicht möglich: Permission denied | ls: Öffnen von Verzeichnis verzeichnis/ nicht möglich: Permission denied | ||
Leserecht für Benutzer und Gruppe vergeben | ;Leserecht für Benutzer und Gruppe vergeben | ||
*chmod a+r verzeichnis/ | |||
*ls verzeichnis/ | |||
text | text | ||
===w=== | |||
;Die Einträge in dem Verzeichnis können geändert werden. | |||
Neue Datei erstellen | ;Neue Datei erstellen | ||
*touch neu | |||
*ls neu | |||
neu | neu | ||
;Datei löschen | |||
Datei löschen | *rm neu | ||
*ls neu | |||
ls: Zugriff auf neu nicht möglich: No such file or directory | 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 | ;Verzeichnis ohne x Recht | ||
*chmod a-x verzeichnis/ | |||
Wechseln in Verzeichnis mangels x-Recht nicht möglich | ;Wechseln in Verzeichnis mangels x-Recht nicht möglich | ||
*cd verzeichnis/ | |||
-bash: cd: verzeichnis/: Permission denied | -bash: cd: verzeichnis/: Permission denied | ||
x-Recht vergeben | ;x-Recht vergeben | ||
*chmod a+x verzeichnis/ | |||
damit Wechsel in Verzeichnis möglich | ;damit Wechsel in Verzeichnis möglich | ||
*cd verzeichnis/ | |||
*pwd | |||
/home/xinux/verzeichnis | /home/xinux/verzeichnis | ||
=umask= | |||
;Neue Dateien und Verzeichnisse werden mit ein und denselben Zufriffsrechten erzeugt. | |||
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 | 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 | -rw-r--r-- 1 xinux xinux 0 2009-06-18 11:37 textdat | ||
;Zuständig für dieses Verhalten ist die sogenannte umask. | |||
Zuständig für dieses Verhalten ist die sogenannte umask | ;Dies wird oft in der Datei /etc/profile auf den Wert 022 voreingestellt. | ||
/etc/profile auf den Wert 022 voreingestellt | ;Zusätzlich wird noch eine Maximalmaske benötigt, die sich für Verzeichnisse und andere Dateien unterscheidet. | ||
Maximalmaske benötigt, die sich für Verzeichnisse und andere Dateien | ;Die bei der Erzeugung gesetzten Rechte entstehen nun, indem von der Maximalmaske der durch die umask vorgegebene Wert subtrahiert wird: | ||
unterscheidet. Die bei der Erzeugung gesetzten Rechte entstehen nun, indem von | |||
der Maximalmaske der durch die umask vorgegebene Wert subtrahiert wird: | |||
{| border=1 cellpadding=2 | {| border=1 cellpadding=2 | ||
| Zeile 180: | Zeile 168: | ||
| 755 | | 755 | ||
|} | |} | ||
*grep umask /etc/profile | |||
umask 022 | umask 022 | ||
Jeder kann seine eigene umask in der Datei ~/.profile einstellen! | ;Jeder kann seine eigene umask in der Datei ~/.profile einstellen! | ||
Aktuelle Version vom 29. Oktober 2026, 09:28 Uhr
- Animation zum Thema: Berechtigungen (Rechtefeld, chmod, umask, User-SBIT, Gruppen-SBIT, Sticky-Bit)
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!
