Chmod: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
K Textersetzung - „== Syntax ==“ durch „== Aufruf ==“ |
||
(29 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{DISPLAYTITLE:chmod}} | {{DISPLAYTITLE:chmod}} | ||
'''chmod''' - Zugriffsrechte von Dateien und Ordnern ändern (Change mode) | |||
== Beschreibung == | |||
== Installation == | |||
== | == Aufruf == | ||
'''chmod [optionen] mode datei''' | '''chmod [optionen] mode datei''' | ||
mode steht für die anzuwendende Rechtemaske. Diese kann '''numerisch''' oder '''symbolisch''' geschehen. | ''mode'' steht für die anzuwendende Rechtemaske. | ||
* Diese kann '''numerisch''' oder '''symbolisch''' geschehen. | |||
== Symbolisch == | === Symbolisch === | ||
Hier werden die Zugriffsrechte und Benutzerkategorien mit Buchstaben zugeordnet. | Hier werden die Zugriffsrechte und Benutzerkategorien mit Buchstaben zugeordnet. | ||
Die Angabe im symbolischen Modus ist wie folgt aufgebaut: [Benutzerkategorie][Operator][Rechte] | |||
; Die Angabe im symbolischen Modus ist wie folgt aufgebaut: | |||
[Benutzerkategorie][Operator][Rechte] | |||
chmod -v u+rwx datei.txt | chmod -v u+rwx datei.txt | ||
; Benutzerkategorie | |||
u = (user) Besitzer | u = (user) Besitzer | ||
g = (group) Gruppe | g = (group) Gruppe | ||
Zeile 19: | Zeile 24: | ||
a = All (Besitzer, Gruppe und Andere) | a = All (Besitzer, Gruppe und Andere) | ||
; Operator | |||
+ Rechte hinzufügen | + Rechte hinzufügen | ||
– Rechte entfernen | – Rechte entfernen | ||
= Rechte explizit setzen | = Rechte explizit setzen | ||
; Rechte | |||
r = Lesen | r = Lesen | ||
w = Schreiben | w = Schreiben | ||
x = Ausführen | x = Ausführen | ||
==Numerisch | === Numerisch === | ||
; Oktal | |||
Hier werden die Zugriffsrechte mit einer dreistelligen Oktalzahl angegeben, jede Ziffer entspricht einer Benutzerkategorie<br> | Hier werden die Zugriffsrechte mit einer dreistelligen Oktalzahl angegeben, jede Ziffer entspricht einer Benutzerkategorie<br> | ||
chmod -v 777 datei.txt | chmod -v 777 datei.txt | ||
; Benutzerkategorie | |||
* Erste Stelle = Besitzer | * Erste Stelle = Besitzer | ||
* Zweite Stelle = Gruppe | * Zweite Stelle = Gruppe | ||
* Dritte Stelle = Andere | * Dritte Stelle = Andere | ||
; Rechte | |||
* 7 = Voll | * 7 = Voll | ||
* 6 = Lesen und Schreiben | * 6 = Lesen und Schreiben | ||
Zeile 47: | Zeile 54: | ||
* 0 = Keine | * 0 = Keine | ||
= | === Special Rights === | ||
==Special Rights== | |||
Um den Zugriff noch genauer zu regeln, gibt es drei weitere Schutzbit. | Um den Zugriff noch genauer zu regeln, gibt es drei weitere Schutzbit. | ||
{| class="wikitable" | {| class="wikitable" | ||
Zeile 97: | Zeile 69: | ||
|} | |} | ||
==Set User ID (SUID)== | ==== Set User ID (SUID) ==== | ||
Ist das SUID-Bit gesetzt behält das Programm die Rechte des Programmeigentümers während der Ausführung. | Ist das SUID-Bit gesetzt behält das Programm die Rechte des Programmeigentümers während der Ausführung. | ||
; Setzen | |||
chmod u+s datei | chmod u+s datei | ||
; Anzeige | |||
Wenn Ausführunsrecht(x) gesetzt: als kleines 's' | Wenn Ausführunsrecht(x) gesetzt: als kleines 's' | ||
-rwsr-xr-x | -rwsr-xr-x | ||
Zeile 111: | Zeile 82: | ||
-rwSr-xr-x | -rwSr-xr-x | ||
==Set Group ID (SGID)== | ==== Set Group ID (SGID) ==== | ||
Ist das SGID-Bit gesetzt behält das Programm die Rechte der Gruppe zu der es gehört | ; Ist das SGID-Bit gesetzt behält das Programm die Rechte der Gruppe zu der es gehört | ||
* Bei Dateien ohne Ausführungsrecht sorgt dieses Bit dafür, dass die Datei nur von einem Prozess geöffnet werden kann. | |||
Bei Dateien ohne Ausführungsrecht sorgt dieses Bit dafür, dass die Datei nur von einem Prozess | * Bei Verzeichnissen sorgt das SGID-Bit dafür das Dateien, die in das Verzeichnis kopiert oder erstellt werden, automatisch die Gruppe des Verzeichnisses erhalten. | ||
geöffnet werden kann. | |||
Bei Verzeichnissen sorgt das SGID-Bit dafür das Dateien, die in das Verzeichnis kopiert | |||
oder erstellt werden, automatisch die Gruppe des Verzeichnisses erhalten. | |||
; Setzen | |||
chmod g+s datei | chmod g+s datei | ||
; Anzeige | |||
Wenn Ausführunsrecht(x) gesetzt: als kleines 's' | Wenn Ausführunsrecht(x) gesetzt: als kleines 's' | ||
-rwxrwsr-x | -rwxrwsr-x | ||
Zeile 132: | Zeile 97: | ||
-rwxrwSr-x | -rwxrwSr-x | ||
==STICKY Bit (STI)== | ==== STICKY Bit (STI) ==== | ||
Das STICKY-Bit sollte früher den Systemdurchsatz verbessern. Programme, bei denen dieses Bit | Das STICKY-Bit sollte früher den Systemdurchsatz verbessern. Programme, bei denen dieses Bit gesetzt ist, verbleiben nach dem ersten Aufruf im Speicher und starten bei den folgenden Aufrufen schneller. Heute ist das nicht mehr nötig. | ||
gesetzt ist, verbleiben nach dem ersten Aufruf im Speicher und starten bei den folgenden Aufrufen | |||
schneller. Heute ist das nicht mehr nötig. | |||
; Bei Verzeichnissen dient dieses Bit der Systemsicherheit | |||
Auch wenn im Verzeichnis für alle User Schreibrecht existiert (= Löschen und Anlegen von Dateien), können bei gesetztem Sticky-Bit nur Dateien gelöscht werden, die einer folgenden Bedingungen genügen: | |||
* die Datei gehört dem Benutzer, der sie löschen will | * die Datei gehört dem Benutzer, der sie löschen will | ||
* das Verzeichnis, in dem die Datei liegt, gehört dem Benutzer | * das Verzeichnis, in dem die Datei liegt, gehört dem Benutzer | ||
* der Benutzer hat Schreibrecht für die Datei | * der Benutzer hat Schreibrecht für die Datei | ||
* der Superuser will die Datei löschen | * der Superuser will die Datei löschen | ||
; Setzen | |||
chmod +t datei | chmod +t datei | ||
; Anzeige | |||
Wenn Ausführunsrecht(x) gesetzt: als kleines 't' | Wenn Ausführunsrecht(x) gesetzt: als kleines 't' | ||
-rwxrwxrwt | -rwxrwxrwt | ||
Zeile 166: | Zeile 117: | ||
-rwxrwxrwT | -rwxrwxrwT | ||
= Links = | === Optionen === | ||
== | {| class="wikitable" | ||
== | |- | ||
! Option !! Beschreibung | |||
|- | |||
| -c||Wie „-v“ aber nur, wenn auch etwas geändert wird | |||
|- | |||
| -f||Unterdrückt Fehlermeldungen (–silent, –quiet) | |||
|- | |||
| -R||Steht für „rekursiv“. Mit diesem Schalter werden alle Ordner und Unterordner inkl. Dateien geändert | |||
|- | |||
| -v||Steht für “verbose” | |||
|} | |||
=== Parameter === | |||
=== Umgebung === | |||
=== Rückgabewert === | |||
== Anwendung == | |||
=== Beispiele === | |||
# Ändert die Rechte der Datei auf Lesen, Schreiben und Ausführen für Besitzer, Gruppe und Andere im im Oktalmodus. | |||
chmod 777 datei.txt | |||
# Ändert die Rechte der Datei auf Lesen, Schreiben und Ausführen für Besitzer, Gruppe und Andere im symbolischen Modus. | |||
chmod a+rwx datei.txt | |||
# Macht eine Datei zusätzlich für alle ausführbar. | |||
chmod +x script.sh | |||
# Setz die Dateirechte rekursiv auf 700 im Ordner /abc/def, also auf alle Dateien und Ordner die sich in /abc/def befinden. | |||
chmod -R 700 /abc/def | |||
# Setz explizit die rechte für Besitzer und Gruppe auf lesen und schreiben und andere dürfen nur lesen. | |||
chmod u=rw,g=rw,o=r datei.txt | |||
=== Problembehebung === | |||
== Konfiguration == | |||
=== Dateien === | |||
<noinclude> | |||
== Anhang == | |||
=== Siehe auch === | |||
{{Special:PrefixIndex/{{BASEPAGENAME}}}} | |||
==== Sicherheit ==== | |||
==== Dokumentation ==== | |||
===== RFC ===== | |||
===== Man-Page ===== | |||
===== Info-Pages ===== | |||
==== Links ==== | |||
===== Projekt ===== | |||
===== Weblinks ===== | |||
[[Kategorie:Linux | [[Kategorie:Linux/Zugriffsrechte]] | ||
[[Kategorie:Coreutils]] | |||
[[Kategorie | |||
{{DEFAULTSORT:chmod}} | {{DEFAULTSORT:chmod}} | ||
[[Kategorie:Linux/Befehl]] | |||
</noinclude> |
Aktuelle Version vom 12. November 2024, 18:35 Uhr
chmod - Zugriffsrechte von Dateien und Ordnern ändern (Change mode)
Beschreibung
Installation
Aufruf
chmod [optionen] mode datei
mode steht für die anzuwendende Rechtemaske.
- Diese kann numerisch oder symbolisch geschehen.
Symbolisch
Hier werden die Zugriffsrechte und Benutzerkategorien mit Buchstaben zugeordnet.
- Die Angabe im symbolischen Modus ist wie folgt aufgebaut
[Benutzerkategorie][Operator][Rechte]
chmod -v u+rwx datei.txt
- Benutzerkategorie
u = (user) Besitzer g = (group) Gruppe o = (others) Andere a = All (Besitzer, Gruppe und Andere)
- Operator
+ Rechte hinzufügen – Rechte entfernen = Rechte explizit setzen
- Rechte
r = Lesen w = Schreiben x = Ausführen
Numerisch
- Oktal
Hier werden die Zugriffsrechte mit einer dreistelligen Oktalzahl angegeben, jede Ziffer entspricht einer Benutzerkategorie
chmod -v 777 datei.txt
- Benutzerkategorie
- Erste Stelle = Besitzer
- Zweite Stelle = Gruppe
- Dritte Stelle = Andere
- Rechte
- 7 = Voll
- 6 = Lesen und Schreiben
- 5 = Lesen und Ausführen
- 4 = Nur Lesen
- 3 = Schreiben und Ausführen
- 2 = Nur Schreiben
- 1 = Nur Ausführen
- 0 = Keine
Special Rights
Um den Zugriff noch genauer zu regeln, gibt es drei weitere Schutzbit.
SUID | SGID | STI | R | W | X | R | W | X | R | W | X |
---|---|---|---|
special rights | User | Group | Others |
Set User ID (SUID)
Ist das SUID-Bit gesetzt behält das Programm die Rechte des Programmeigentümers während der Ausführung.
- Setzen
chmod u+s datei
- Anzeige
Wenn Ausführunsrecht(x) gesetzt: als kleines 's'
-rwsr-xr-x
Wenn Ausführunsrecht(x) nicht gesetzt: als großes 'S'
-rwSr-xr-x
Set Group ID (SGID)
- Ist das SGID-Bit gesetzt behält das Programm die Rechte der Gruppe zu der es gehört
- Bei Dateien ohne Ausführungsrecht sorgt dieses Bit dafür, dass die Datei nur von einem Prozess geöffnet werden kann.
- Bei Verzeichnissen sorgt das SGID-Bit dafür das Dateien, die in das Verzeichnis kopiert oder erstellt werden, automatisch die Gruppe des Verzeichnisses erhalten.
- Setzen
chmod g+s datei
- Anzeige
Wenn Ausführunsrecht(x) gesetzt: als kleines 's'
-rwxrwsr-x
Wenn Ausführunsrecht(x) nicht gesetzt: als großes 'S'
-rwxrwSr-x
STICKY Bit (STI)
Das STICKY-Bit sollte früher den Systemdurchsatz verbessern. Programme, bei denen dieses Bit gesetzt ist, verbleiben nach dem ersten Aufruf im Speicher und starten bei den folgenden Aufrufen schneller. Heute ist das nicht mehr nötig.
- Bei Verzeichnissen dient dieses Bit der Systemsicherheit
Auch wenn im Verzeichnis für alle User Schreibrecht existiert (= Löschen und Anlegen von Dateien), können bei gesetztem Sticky-Bit nur Dateien gelöscht werden, die einer folgenden Bedingungen genügen:
- die Datei gehört dem Benutzer, der sie löschen will
- das Verzeichnis, in dem die Datei liegt, gehört dem Benutzer
- der Benutzer hat Schreibrecht für die Datei
- der Superuser will die Datei löschen
- Setzen
chmod +t datei
- Anzeige
Wenn Ausführunsrecht(x) gesetzt: als kleines 't'
-rwxrwxrwt
Wenn Ausführunsrecht(x) nicht gesetzt: als großes 'T'
-rwxrwxrwT
Optionen
Option | Beschreibung |
---|---|
-c | Wie „-v“ aber nur, wenn auch etwas geändert wird |
-f | Unterdrückt Fehlermeldungen (–silent, –quiet) |
-R | Steht für „rekursiv“. Mit diesem Schalter werden alle Ordner und Unterordner inkl. Dateien geändert |
-v | Steht für “verbose” |
Parameter
Umgebung
Rückgabewert
Anwendung
Beispiele
- Ändert die Rechte der Datei auf Lesen, Schreiben und Ausführen für Besitzer, Gruppe und Andere im im Oktalmodus.
chmod 777 datei.txt
- Ändert die Rechte der Datei auf Lesen, Schreiben und Ausführen für Besitzer, Gruppe und Andere im symbolischen Modus.
chmod a+rwx datei.txt
- Macht eine Datei zusätzlich für alle ausführbar.
chmod +x script.sh
- Setz die Dateirechte rekursiv auf 700 im Ordner /abc/def, also auf alle Dateien und Ordner die sich in /abc/def befinden.
chmod -R 700 /abc/def
- Setz explizit die rechte für Besitzer und Gruppe auf lesen und schreiben und andere dürfen nur lesen.
chmod u=rw,g=rw,o=r datei.txt