Berechtigungen: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 74: | Zeile 74: | ||
=Bedeutungen der Zugriffsarten= | =Bedeutungen der Zugriffsarten= | ||
==Dateien== | ==Dateien== | ||
| − | r | + | ===r=== |
| + | ;Der Inhalt der Datei kann gelesen und damit auch kopiert werden. | ||
*cat test | *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 167: | Zeile 161: | ||
| 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! |
Version vom 9. November 2022, 11:16 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 t
-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. D.h. die Rechte derGruppe 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!