Der Befehl chown (change owner) ändert den Eigentümer und optional die Gruppe von Dateien, Verzeichnissen oder symbolischen Links. Jede Datei ist einem Benutzer und einer Gruppe zugeordnet, die bestimmen, wer darauf zugreifen darf.
Syntax des chown-Befehls
chown [OPTIONEN] BENUTZER[:GRUPPE] DATEI...
BENUTZER- Der neue Eigentümer (Benutzername oder UID).GRUPPE- Die neue Gruppe (Gruppenname oder GID).DATEI- Eine oder mehrere Dateien oder Verzeichnisse.
Der Doppelpunkt zwischen Benutzer und Gruppe bestimmt, was geändert wird:
| Format | Wirkung |
|---|---|
BENUTZER | Nur Eigentümer ändern |
BENUTZER:GRUPPE | Eigentümer und Gruppe ändern |
BENUTZER: | Eigentümer ändern, Gruppe auf Login-Gruppe des Benutzers setzen |
:GRUPPE | Nur Gruppe ändern |
Eigentümer und Gruppe einer Datei anzeigen
Mit ls -l siehst du den aktuellen Eigentümer und die Gruppe einer Datei:
ls -l config.txt
Die Ausgabe zeigt Eigentümer und Gruppe in der dritten und vierten Spalte:
-rw-r--r-- 1 anna entwickler 4096 Jan 15 10:30 config.txt
↑ ↑
│ └── Gruppe
└─────── Eigentümer
Eigentümer einer Datei ändern
Um den Eigentümer zu ändern, gibst du den neuen Benutzernamen und die Datei an:
chown max dokument.txt
Du kannst auch mehrere Dateien gleichzeitig ändern:
chown max bericht.txt tabelle.csv praesentation.pdf
Statt des Benutzernamens funktioniert auch die numerische Benutzer-ID (UID):
chown 1001 projekt.txt
Hinweis: Falls ein Benutzername existiert, der nur aus Ziffern besteht, interpretiert chown die Zahl als Namen. Stelle in diesem Fall ein + voran, um die UID zu erzwingen:
chown +1001 projekt.txt
Eigentümer und Gruppe gleichzeitig ändern
Trenne Benutzer und Gruppe mit einem Doppelpunkt:
chown max:entwickler projekt.txt
Die Datei projekt.txt gehört danach dem Benutzer max und der Gruppe entwickler.
Wenn du nach dem Doppelpunkt keine Gruppe angibst, wird die Gruppe auf die primäre Gruppe des Benutzers gesetzt:
chown max: projekt.txt
Nur die Gruppe ändern
Lasse den Benutzernamen weg und beginne mit dem Doppelpunkt:
chown :webteam index.html
Alternativ kannst du auch den Befehl chgrp verwenden, der speziell für Gruppenänderungen gedacht ist:
chgrp webteam index.html
Rekursive Änderung für Verzeichnisse
Mit der Option -R (rekursiv) änderst du den Eigentümer aller Dateien und Unterverzeichnisse:
chown -R www-data:www-data /var/www/html
Dieser Befehl setzt den Eigentümer und die Gruppe für das Verzeichnis /var/www/html und alle darin enthaltenen Dateien auf www-data.
Vorsicht: Prüfe den Pfad sorgfältig, bevor du chown -R auf Systemverzeichnissen ausführst. Ein falscher Pfad kann Zugriffsrechte zerstören und das System unbrauchbar machen.
Symbolische Links behandeln
Standardmäßig ändert chown nicht den symbolischen Link selbst, sondern die Zieldatei. Um den Link selbst zu ändern, verwende die Option -h:
chown -h max symlink.txt
Bei rekursiver Änderung mit Symlinks kombinierst du beide Optionen:
chown -hR www-data:www-data /var/www
Eigentümerschaft von einer Referenzdatei übernehmen
Mit --reference übernimmst du Eigentümer und Gruppe von einer anderen Datei:
chown --reference=vorlage.txt ziel.txt
Die Datei ziel.txt erhält dieselben Besitzverhältnisse wie vorlage.txt.
Häufig verwendete Optionen
| Option | Beschreibung |
|---|---|
-R | Rekursiv alle Dateien und Unterverzeichnisse ändern |
-h | Symbolische Links selbst ändern, nicht deren Ziele |
-v | Zeigt jede durchgeführte Änderung an |
--reference=DATEI | Eigentümer und Gruppe von einer Referenzdatei übernehmen |
Berechtigungen für chown
Nur der Root-Benutzer kann den Eigentümer einer Datei ändern. Normale Benutzer können lediglich die Gruppe ändern, und auch das nur, wenn sie Eigentümer der Datei sind und Mitglied der Zielgruppe.
Für Eigentümeränderungen verwendest du daher typischerweise sudo:
sudo chown anna:entwickler projekt.txt
Zusammenfassung
Der Befehl chown ändert den Eigentümer und die Gruppe von Dateien und Verzeichnissen. Mit der Option -R wendest du Änderungen rekursiv an, mit -h bearbeitest du symbolische Links direkt. Für ausführliche Informationen zu allen Optionen gibt man chown die vollständige Dokumentation aus.