Berechtigungen: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (9 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| − | ==chmod | + | =chmod= |
| + | *Die Syntax des Befehls chmod lautet: | ||
| + | *'''chmod''' Oktalzahl Dateiliste | ||
| + | oder | ||
| + | *'''chmod''' WerWieWas [,WerWieWas,.....] Dateiliste | ||
| − | + | ==chmod oktale Schreibweise== | |
Specialrights User Group Other | Specialrights User Group Other | ||
usbit gsbit sticky r w x r w x r w x | usbit gsbit sticky r w x r w x r w x | ||
| Zeile 9: | Zeile 13: | ||
Oktale Wertigkeit pro Recht | Oktale Wertigkeit pro Recht | ||
4 2 1 4 2 1 4 2 1 4 2 1 | 4 2 1 4 2 1 4 2 1 4 2 1 | ||
| − | |||
===Beispiele=== | ===Beispiele=== | ||
*chmod -v 751 test | *chmod -v 751 test | ||
| Zeile 18: | Zeile 21: | ||
mode of 'test' changed from 4770 (rwsrwx---) to 0000 (---------) | mode of 'test' changed from 4770 (rwsrwx---) to 0000 (---------) | ||
| − | + | {{#drawio:rechte-1}} | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | Durch WerWieWas bzw. Oktalzahl wird die Rechtetabelle definiert. Innerhalb von | + | ==chmod symbolische Schreibweise== |
| − | WerWieWas darf es kein Leerzeichen geben. Wer bezeichnet den Benutzerkreis, | + | *Durch WerWieWas bzw. Oktalzahl wird die Rechtetabelle definiert. |
| − | dem man Rechte gibt | + | *Innerhalb von WerWieWas darf es kein Leerzeichen geben. |
| − | Rechte als solche. Im einzelnen können folgende Kürzel benutzt werden | + | *Wer bezeichnet den Benutzerkreis, dem man Rechte gibt. |
| − | + | *Wie die Art, in der die Rechte gegeben werden | |
| − | Für Wer kann eines der folgenden Kürzel oder eine Kombination davon stehen | + | *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 | u (user) Rechte für den Dateibesitzer | ||
g (group) Rechte für die Gruppe | g (group) Rechte für die Gruppe | ||
o (others) Rechte für alle anderen Benutzer | o (others) Rechte für alle anderen Benutzer | ||
a (all) Rechte für alle Benutzer | a (all) Rechte für alle Benutzer | ||
| − | Für Wie steht eines der folgenden Kürzel | + | ===Für Wie steht eines der folgenden Kürzel=== |
+ Die Rechte werden zu den vorhandenen zusätzlich vergeben | + Die Rechte werden zu den vorhandenen zusätzlich vergeben | ||
- Die im Folgenden genannten Rechte werden entzogen | - Die im Folgenden genannten Rechte werden entzogen | ||
= Die im Folgenden genannten Rechte ersetzen die bisherigen | = Die im Folgenden genannten Rechte ersetzen die bisherigen | ||
| − | Für Was steht eines der folgenden Kürzel | + | ===Für Was steht eines der folgenden Kürzel=== |
r (read) lesen | r (read) lesen | ||
w (write) schreiben | w (write) schreiben | ||
x (execute) ausführen | x (execute) ausführen | ||
| − | oder diese Sonderformen | + | ===oder diese Sonderformen=== |
s (usersbit) Programm läuft unter der UID des Besitzers | s (usersbit) Programm läuft unter der UID des Besitzers | ||
s (groupsbit)Programm läuft unter der GID des GRUPPE | s (groupsbit)Programm läuft unter der GID des GRUPPE | ||
| Zeile 52: | Zeile 49: | ||
===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 74: | Zeile 64: | ||
-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 186: | Zeile 166: | ||
| 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 14. Mai 2024, 10:06 Uhr
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!
