CHMOD(1)

BEZEICHNUNG
chmod - Dateimodusbits ändern

ÜBERSICHT
chmod [OPTION]… MODUS[,MODUS]… DATEI…
chmod [OPTION]… OKTAL‐MODUS DATEI…
chmod [OPTION]… --reference=RDATEI DATEI…

BESCHREIBUNG
Diese Handbuchseite beschreibt die GNU-Version von chmod. chmod ändert die Dateimodusbits jeder angegebenen Datei gemäß Modus, der entweder eine symbolische Repräsentation der durchzuführenden Änderungen sein kann oder eine oktale Zahl, die das Bitmuster für die neuen Modusbits darstellt.

Das Format eines symbolischen Modus ist [ugoa…][[-+=][Rechte.]…], wobei Rechte entweder keines oder mehrere Zeichen aus der Menge rwxXst ist oder ein einzelner Buchstabe aus der Menge ugo. Es können mehrere symbolische Modi, durch Kommata getrennt, angegeben werden.

Eine Kombination der Buchstaben ugoa steuert, für welche Benutzer die Zugriffsrechte der Datei geändert werden: Der Benutzer, dem die Datei gehört (u), andere Benutzer, die der Gruppe der Datei angehören (g), andere Benutzer, die nicht der Gruppe der Datei angehören (o) oder alle Benutzer (a). Wenn keiner der Buchstaben angegeben wurde, ist der Effekt so, als sei a angegeben worden, aber Bits, die in der umask gesetzt sind, werden nicht beeinflusst.

Der Operator + bewirkt, dass die ausgewählten Dateimodusbits zu den existierenden Dateimodusbits jeder Datei hinzugefügt werden, - bewirkt, dass sie entfernt werden. = bewirkt, dass sie hinzugefügt werden und nicht erwähnte Bits entfernt werden, mit der Ausnahme, dass bei Verzeichnissen nicht erwähnte »set-user-ID«- und »set-group-ID«-Bits nicht beeinflusst werden.

Die Buchstaben rwxXst wählen die Dateimodusbits für die betroffenen Benutzer aus: Lesen (r), Schreiben (w), Ausführen (oder Suchen bei Verzeichnissen) (x), nur Ausführen/Suchen, wenn die Datei ein Verzeichnis ist oder bereits für einige Benutzer die Ausführungsrechte besitzt (X), die Benutzer- oder Gruppenkennung bei der Ausführung setzen (s), Schalter für eingeschränktes Löschen oder »klebriges« (sticky) Bit (t). Statt einer oder mehrerer dieser Buchstaben können Sie exakt einen der Buchstaben ugo angeben: Die Rechte werden dem Benutzer verliehen, dem die Datei gehört (u), die Rechte werden anderen Benutzern verliehen, die Mitglieder der Gruppe der Datei sind (g) oder die Rechte werden Benutzern verliehen, die in keiner der vorherigen zwei Kategorien sind (o).

Ein numerischer Modus besteht aus einer bis vier oktalen Ziffern (0-7), die aus der Summe der Bits mit den Werten 4, 2 und 1 abgeleitet werden. Weggelassene Ziffern werden als führende Nullen angenommen. Die erste Ziffer wählt die Attribute »set-user-ID« (4), »set-group-ID« (2) und eingeschränktes Löschen oder »klebrig« (sticky, 1). Die zweite Ziffer wählt die Rechte des Benutzers aus, dem die Datei gehört: Lesen (4), Schreiben (2) und Ausführen (1). Die dritte Ziffer wählt die Rechte für Benutzer aus, die in der Gruppe der Datei sind, dabei gelten dieselben Werte; die vierte Ziffer gilt für Benutzer, die nicht in der Gruppe der Datei sind, auch hier gelten dieselben Werte.

chmod ändert die Rechte von symbolischen Links nicht, denn der Systemaufruf von chmod kann auf den meisten Systemen deren Rechte nicht ändern und die meisten System ignorieren die Berechtigungen von symbolischen Links. Allerdings ändert chmod bei jedem in der Befehlszeile aufgelisteten symbolischen Link die Rechte der Datei, auf die dieser zeigt. Im Gegensatz dazu ignoriert chmod symbolische Links, die bei einem rekursiven Durchwandern von Verzeichnissen angetroffen werden. Optionen, die dieses Verhalten ändern, sind im Abschnitt OPTIONEN beschrieben.

SETUID- UND SETGID-BITS
chmod löscht das »set-group-ID«-Bit einer regulären Datei, wenn die Gruppenkennung der Datei nicht mit der effektiven Gruppenkennung des Benutzers oder einer seiner zusätzlichen Gruppenkennungen übereinstimmt, es sei denn, der Benutzer hat die entsprechenden Privilegien. Zusätzliche Einschränkungen können bewirken, dass die Bits »set-user-ID« und »set-group-ID« aus MODUS oder RDATEI ignoriert werden. Dieses Verhalten hängt von der Richtlinie und Funktionalität des zu Grunde liegenden Systemaufrufs chmod ab. Im Zweifel überprüfen Sie das Verhalten des zu Grunde liegenden Systems.

Für Verzeichnisse lässt chmod die Bits »set-user-ID« und »set-group-ID« unangetastet, es sei denn, Sie geben dies explizit anders an. Sie können diese Bits mit symbolischen Modi wie u+s und g-s setzen. Um diese Bits für Verzeichnisse mit einem numerischen Modus zu bereinigen, wird eine vorangestellte Null wie in 00755, ein vorangestelltes Minus wie in -6000 oder ein vorangestelltes Gleichheitszeichen wie in =755 benötigt.

SCHALTER FÜR EINGESCHRÄNKTES LÖSCHEN ODER »KLEBRIGES« (STICKY) BIT
Der Schalter für eingeschränktes Löschen oder »klebriges« (sticky) Bit ist ein einzelnes Bit, dessen Interpretation vom Dateityp abhängt. Bei Verzeichnissen verhindert es, dass nicht privilegierte Benutzer eine Datei in diesem Verzeichnis löschen oder umbenennen, es sei denn, ihnen gehört die Datei oder das Verzeichnis; dies nennt sich »Schalter für eingeschränktes Löschen« für das Verzeichnis und wird üblicherweise bei allgemein schreibbaren Verzeichnissen wie /tmp verwendet. Bei regulären Dateien auf einigen älteren Systemen sorgt das Bit dafür, dass das »Text-Image« eines Programms auf dem Auslagerungsgerät gespeichert wird. Dadurch kann das Programm schneller geladen werden, wenn es ausgeführt wird; dies nennt sich das »klebrige« (sticky) Bit.

OPTIONEN

Den Modus jeder DATEI auf MODUS setzen. Mit --reference wird der Modus jeder DATEI auf den Modus von RDATEI gesetzt.

-c, --changes
    Wie --verbose, aber nur durchgeführte Änderungen berichten

-f, --silent, --quiet
    Die meisten Fehlermeldungen unterdrücken

-v, --verbose
    Eine Diagnose für jede verarbeitete Datei ausgeben

--dereference
    Die referenzierte Datei jedes symbolischen Links ändern statt des symbolischen Links selbst

-h, --no-dereference
    Den symbolischen Link ändern, statt die referenzierte Datei

--no-preserve-root
    »/« nicht besonders behandeln (Voreinstellung)

--preserve-root
    Rekursive Bearbeitung von »/« ablehnen

--reference=RDATEI
    benutzt die Gruppe von RDATEI statt einer direkt angegebenen GRUPPE. RDATEI wird immer dereferenziert, wenn es ein symbolischer Link ist.

-R, --recursive
    Dateien und Verzeichnisse rekursiv ändern

Die folgenden Optionen bestimmen, wie eine Hierarchie abgearbeitet wird, wenn die Option -R ebenfalls angegeben ist. Wenn mehr als eine angegeben ist, wirkt sich nur die Letzte aus. -H ist die Vorgabe.

-H  Wenn ein Befehlszeilenargument ein symbolischer Link auf ein Verzeichnis ist, dieses durchlaufen

-L  Jeden gefundenen symbolischen Link auf ein Verzeichnis durchlaufen

-P  Überhaupt keine symbolischen Links durchlaufen

--help
    Zeigt Hilfeinformationen an und beendet das Programm.

--version
    Gibt Versionsinformationen aus und beendet das Programm.

Jeder MODUS hat die Form »[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+«.

AUTOR
Geschrieben von David MacKenzie und Jim Meyering.

FEHLER MELDEN
Melden Sie Fehler (auf Englisch) an bug-coreutils@gnu.org.
Website der GNU Coreutils: <https://www.gnu.org/software/coreutils/>
Allgemeine Hilfe zur Benutzung von GNU-Software: https://www.gnu.org/gethelp/
Melden Sie Fehler in der Programmübersetzung an das deutschsprachige Team beim GNU Translation Project (https://translationproject.org/team/de.html).

COPYRIGHT
Copyright © 2026 Free Software Foundation, Inc. Lizenz GPLv3+: GNU GPL Version 3 (https://gnu.org/licenses/gpl.html) oder neuer.
Dies ist freie Software: Sie können sie verändern und weitergeben. Es gibt KEINE GARANTIE, soweit gesetzlich zulässig.

SIEHE AUCH
chmod(2)

Vollständige Dokumentation unter: <https://www.gnu.org/software/coreutils/chmod>
oder lokal verfügbar mit: info '(coreutils) chmod invocation'

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Karl Eichwalder <ke@suse.de>, Lutz Behnke <lutz.behnke@gmx.de>, Michael Piefel <piefel@debian.org>, Michael Schmidt <michael@guug.de>, Mario Blättermann <mario.blaettermann@gmail.com>, Dr. Tobias Quathamer <toddy@debian.org> und Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org.