Linux / Befehl chown: Dateiinhaber und Gruppe ändern

chown ändert den Eigentümerbenutzer und die Eigentümergruppe einer Datei oder eines Verzeichnisses. Es ist nützlich, wenn die Eigentümerschaft von Service-Datenverzeichnissen abgeglichen werden muss, aber eine falsche rekursive Anwendung kann den Servicezugriff blockieren.

Die Angabe von owner:group ändert beide Attribute zusammen, und die Angabe nur des Eigentümers lässt die Gruppe normalerweise unverändert. Die Berechtigungen zum Ändern sind gemäß der Systemrichtlinie eingeschränkt und erfordern im Allgemeinen Administratorrechte. Die Zugriffsberechtigungsbits selbst werden mit chmod verwaltet.

Grundlegende Syntax

chown [options] owner[:group] file...

Installierte Implementierungen und Optionen können je nach Distribution variieren. Überprüfen Sie die Beschreibung für das aktuelle System mit man chown.

Beispiele

Nur Eigentümer ändern

Legen Sie den Dateieigentümer gemäß dem Konto fest. Für wichtige Systempfade sollte das Ziel zuerst überprüft werden.

sudo chown alice report.txt

Sowohl Eigentümer als auch Gruppe ändern

Geben Sie Benutzer und Gruppe an, um Mehrdeutigkeiten zu vermeiden.

sudo chown alice:editors report.txt

Änderungsergebnisse überprüfen

Überprüfen Sie den Besitzer und die Gruppe und ändern Sie nur, wenn es notwendig ist.

stat -c '%U:%G %n' report.txt

Überprüfung des Ergebnisses der Besitzer- und Gruppenänderung

Das folgende Beispiel geht davon aus, dass der Benutzer alice und die Gruppe developers tatsächlich existieren. Die Änderung der Eigentümerschaft erfordert normalerweise Administratorrechte.

sudo chown alice:developers demo.txt
stat -c '%U:%G %n' demo.txt

Beispielausgabe:

alice:developers demo.txt

Wenn chown erfolgreich ist, gibt es normalerweise keine Ausgabe, also überprüfen Sie das Ergebnis mit stat oder ls -l. -R gilt für das gesamte Verzeichnis darunter, also stellen Sie sicher, dass Sie den Pfad und die Handhabung von symbolischen Links überprüfen, bevor Sie es auf einem Web-Root oder Systemverzeichnis verwenden. Das Ändern von Eigentümerrechten kann die Zugriffsrichtlinien von Diensten verändern.

In Containern und Netzwerkdateisystemen kann derselbe Kontoname auf unterschiedliche numerische UIDs oder GIDs abgebildet werden. Für die Automatisierung vergleichen Sie id user mit der stat -c '%u:%g'-Ausgabe des Ziels. Beliebige Eigentümeränderungen an Dienstdateien können die Fähigkeit des Dienstes beeinträchtigen, diese zu lesen, zu schreiben oder auszuführen.

Hauptoptionen und Format

Optionen/Format Beschreibung
-R Eigentümer von Unterelementen rekursiv ändern.
-h Zielen Sie auf den symbolischen Link selbst statt auf das Ziel des Links.
--reference=file Übernimmt den Eigentümer und die Gruppe der Referenzdatei.
-v Zeigt detaillierte Informationen über bearbeitete Dateien an.

Vorsichtsmaßnahmen bei der Verwendung

Eine falsche Angabe eines einzelnen Pfads in chown -R kann den Besitz vieler Dateien gleichzeitig ändern. Überprüfen Sie zunächst den Umfang mit stat oder find, und wenden Sie es, wenn möglich, nur auf einen engen Pfad an. Der Umgang mit symbolischen Links und speziellen Berechtigungsbits kann vom Dateisystem und den Optionen abhängen.

Häufig gestellte Fragen

Was ist der Unterschied zwischen chown alice report.txt und chown alice:editors report.txt?

Die erste ändert nur den Besitzer, während die zweite sowohl den Besitzer als auch die Gruppe angibt.

Offizielle Dokumentation

Das genaue Verhalten der Optionen und die Unterschiede zwischen den Implementierungen finden Sie in der offiziellen chown-Dokumentation.