VMware ESXi and vSphere Cluster Management

Dateieigentümer und Gruppen in Linux mit chown und chgrp ändern

Lerne, wie du unter Linux Dateieigentümer und Eigentümergruppen mit chown und chgrp änderst, rekursive Änderungen sicher ausführst und Ergebnisse mit ls -l prüfst.

Unter Linux besitzt jede Datei und jedes Verzeichnis einen Dateieigentümer und eine Eigentümergruppe. Diese Zuordnung ist ein wichtiger Bestandteil des Berechtigungsmodells. Mit den Befehlen chown und chgrp kannst du diese Werte über die Shell ändern.

Dieses Kapitel zeigt die grundlegende Syntax, typische Anwendungsfälle, rekursive Änderungen und wichtige Sicherheitsregeln.

Grundlagen des Dateibesitzes in Linux

Der Dateieigentümer ist der Benutzeraccount, dem eine Datei oder ein Verzeichnis zugeordnet ist. Die Eigentümergruppe ist eine Gruppe, die ebenfalls mit der Datei verknüpft ist.

Standardmäßig wird der Benutzer, der eine Datei erstellt, zu ihrem Eigentümer. Die Eigentümergruppe wird abhängig von der Systemkonfiguration und dem Verzeichnis festgelegt.

Zusammen mit den Zugriffsrechten bestimmen Eigentümer und Gruppe, wer eine Datei lesen, verändern oder ausführen darf. Die drei Berechtigungsbereiche lauten:

  • Eigentümer: Rechte des zugeordneten Benutzeraccounts.
  • Gruppe: Rechte für Mitglieder der zugeordneten Gruppe.
  • Andere: Rechte für alle übrigen Benutzer.

Zu jedem Bereich können Lese-, Schreib- und Ausführungsrechte gehören. Das Ändern des Eigentümers oder der Gruppe ändert jedoch nicht automatisch die eigentlichen Berechtigungszeichen.

Eigentümer und Gruppe mit ls -l prüfen

Mit ls -l lässt sich die aktuelle Zuordnung anzeigen:

ls -l DATEINAME

Eine beispielhafte Ausgabe kann so aussehen:

-rw-r--r-- 1 alice entwickler 1200 Apr 12 10:30 bericht.txt
AusgabebestandteilBedeutungBeispielwert
BerechtigungszeichenRechte für Eigentümer, Gruppe und andere Benutzer-rw-r--r--
Benutzer-EigentümerBenutzeraccount, dem die Datei gehörtalice
EigentümergruppeGruppe, die der Datei zugeordnet istentwickler
DateinameName der Datei oder des Verzeichnissesbericht.txt

Den Benutzer-Eigentümer mit chown ändern

chown steht für change owner. Der Befehl ändert den Benutzer-Eigentümer und kann optional auch die Eigentümergruppe ändern.

Die Grundsyntax für eine einzelne Datei lautet:

chown NEUER_BENUTZER DATEINAME

Beispiel: Die Datei bobs_file.txt soll dem Benutzer jwilliams zugeordnet werden:

chown jwilliams bobs_file.txt

In diesem Beispiel wird nur der Benutzer-Eigentümer geändert. Die bisherige Eigentümergruppe bleibt unverändert.

Für eine Änderung sind der Zielbenutzer und die Datei beziehungsweise das Verzeichnis erforderlich. Der angegebene Benutzer muss auf dem System existieren.

Benutzer und Gruppe gleichzeitig ändern

Benutzer und Gruppe werden bei chown durch einen Doppelpunkt getrennt:

chown NEUER_BENUTZER:NEUE_GRUPPE DATEINAME

Beispiel:

chown jwilliams:entwickler bericht.txt

Damit werden sowohl der Benutzer-Eigentümer als auch die Eigentümergruppe von bericht.txt gesetzt. Sowohl der Benutzer jwilliams als auch die Gruppe entwickler müssen auf dem System vorhanden sein.

Die gleiche Syntax kann für ein Verzeichnis verwendet werden:

chown NEUER_BENUTZER:NEUE_GRUPPE VERZEICHNIS

Ohne die Option -R ändert dieser Befehl die Zuordnung des genannten Verzeichnisses, nicht automatisch die seiner Inhalte.

Nur die Eigentümergruppe ändern

Gruppenwechsel mit chown

Wenn der Benutzer-Eigentümer unverändert bleiben soll, lässt du den Teil vor dem Doppelpunkt leer:

chown :NEUE_GRUPPE DATEINAME

Beispiel:

chown :entwickler bericht.txt

Der Benutzer bleibt dabei unverändert; nur die Gruppe wird auf entwickler gesetzt.

Gruppenwechsel mit chgrp

chgrp ist der speziell für den Wechsel der Eigentümergruppe vorgesehene Befehl:

chgrp NEUE_GRUPPE DATEINAME

Beispiel:

chgrp entwickler bericht.txt

Für einen reinen Gruppenwechsel sind beide Varianten möglich. chgrp macht die Absicht unmittelbar sichtbar, während chown :GRUPPE DATEI die gemeinsame Syntax von chown nutzt.

ZielBefehlssyntaxWas wird geändertRekursive Variante
Nur Benutzer-Eigentümer mit chownchown BENUTZER DATEINur der Benutzerchown -R BENUTZER VERZEICHNIS
Benutzer und Gruppe mit chownchown BENUTZER:GRUPPE DATEIBenutzer und Gruppechown -R BENUTZER:GRUPPE VERZEICHNIS
Nur Gruppe mit chownchown :GRUPPE DATEINur die Gruppechown -R :GRUPPE VERZEICHNIS
Nur Gruppe mit chgrpchgrp GRUPPE DATEINur die Gruppechgrp -R GRUPPE VERZEICHNIS

Rekursive Änderungen mit -R

Rekursiv bedeutet, dass eine Operation auf ein Verzeichnis und seine gesamte Unterstruktur angewendet wird. Dazu gehören enthaltene Dateien und Unterverzeichnisse.

Den Benutzer-Eigentümer eines Verzeichnisbaums änderst du beispielsweise so:

chown -R NEUER_BENUTZER ZIELVERZEICHNIS

Benutzer und Gruppe lassen sich gemeinsam rekursiv setzen:

chown -R NEUER_BENUTZER:NEUE_GRUPPE ZIELVERZEICHNIS

Für eine rekursive Gruppenänderung kannst du chgrp verwenden:

chgrp -R NEUE_GRUPPE ZIELVERZEICHNIS

Administrative Rechte und sudo

Ein Eigentümerwechsel erfordert in der Regel administrative Rechte. Wenn der angemeldete Benutzer nicht berechtigt ist, kannst du den Befehl – sofern dein Konto dafür freigeschaltet ist – mit sudo ausführen:

sudo chown NEUER_BENUTZER DATEINAME

Auch Gruppenänderungen oder rekursive Änderungen können administrative Rechte benötigen:

sudo chgrp -R NEUE_GRUPPE ZIELVERZEICHNIS

sudo führt einen einzelnen Befehl mit administrativen Berechtigungen aus. Nutze es nur, wenn die Änderung notwendig ist, und kontrolliere den Zielpfad vor der Ausführung.

Sicherer Arbeitsablauf

  1. Prüfe mit ls -l den aktuellen Benutzer-Eigentümer und die Gruppe.
  2. Überlege, ob nur der Benutzer, nur die Gruppe oder beides geändert werden soll.
  3. Verwende zunächst einen konkreten Dateipfad und erst dann eine rekursive Option, wenn die Wirkung klar ist.
  4. Führe den passenden Befehl aus, bei Bedarf mit sudo.
  5. Prüfe die neue Zuordnung erneut mit ls -l.

Beispiel für die Kontrolle vor und nach einer Änderung:

ls -l bericht.txt
sudo chown jwilliams:entwickler bericht.txt
ls -l bericht.txt

Fehlerbehebung

„Operation not permitted“ oder fehlende Berechtigung

Der ausführende Benutzer darf den Eigentümer oder die Gruppe vermutlich nicht ändern. Prüfe zunächst die aktuelle Zuordnung und die eigenen Rechte. Falls zulässig, führe den Befehl mit sudo aus oder bitte einen Administrator um die Änderung.

Ungültiger Benutzer oder ungültige Gruppe

Diese Meldung weist meist darauf hin, dass der angegebene Benutzer oder die Gruppe nicht existiert oder falsch geschrieben wurde. Prüfe Namen und Schreibweise. Beide Konten müssen auf dem System eingerichtet sein.

Unbeabsichtigte Änderung des Benutzers

Wenn nur die Gruppe geändert werden sollte, darf vor dem Doppelpunkt kein Benutzername stehen. Verwende beispielsweise:

chown :NEUE_GRUPPE DATEINAME
chgrp NEUE_GRUPPE DATEINAME

Rekursiver Befehl änderte zu viele Dateien

Wahrscheinlich wurde -R auf einen zu allgemeinen oder falschen Pfad angewendet. Kontrolliere Zielpfade sorgfältig, teste zunächst in einem kleinen Verzeichnis und prüfe anschließend die betroffenen Dateien mit ls -l.

Eigentümer geändert, Zugriff bleibt verweigert

Der Eigentümerwechsel allein garantiert keinen Zugriff. Prüfe zusätzlich die Lese-, Schreib- und Ausführungsrechte für Eigentümer, Gruppe und andere Benutzer. Die Berechtigungen müssen gegebenenfalls separat angepasst werden.

Prüfungsrelevante Merksätze

  • chown bedeutet „change owner“ und kann Benutzer sowie optional Gruppe ändern.
  • chown BENUTZER DATEI ändert nur den Benutzer-Eigentümer.
  • chown BENUTZER:GRUPPE DATEI ändert Benutzer und Gruppe.
  • chown :GRUPPE DATEI lässt den Benutzer unverändert und ändert nur die Gruppe.
  • chgrp GRUPPE DATEI ist die ausdrücklich dafür vorgesehene Variante für einen Gruppenwechsel.
  • -R wirkt auf das angegebene Verzeichnis und seine gesamte Unterstruktur.
  • Mit ls -l kontrollierst du die Zuordnung vor und nach der Änderung.
  • Administrative Rechte sind häufig erforderlich; sudo darf nur gezielt eingesetzt werden.

Weitere Grundlagen zur Anzeige und Änderung von Dateieigenschaften findest du unter Dateieigentümer und Gruppen in Linux ändern.