chown — Datei-Eigentümer und Gruppe ändern

Datei-Eigentümer und Gruppe mit chown ändern: Besitz nach dem Kopieren korrigieren, Rechte für Webserver setzen und rekursiv vergeben.

Mit chown änderst du, wem eine Datei oder ein Verzeichnis gehört – also Eigentümer und Gruppe. Das brauchst du ständig: nach dem Kopieren oder Entpacken stimmt der Besitz oft nicht, ein Webserver wie www-data muss auf seine Dateien zugreifen können, oder du holst dir die Hoheit über ein Projektverzeichnis zurück. Die Syntax chown benutzer:gruppe datei setzt beides auf einmal, ein vorangestellter Doppelpunkt (:gruppe) ändert nur die Gruppe. Vorsicht ist beim rekursiven -R geboten: Es ändert den Besitz ganzer Verzeichnisbäume – auf Systempfade wie / losgelassen, kann das deine Installation unbrauchbar machen. Fast alle chown-Aufrufe verlangen sudo, weil nur root den Eigentümer fremder Dateien umsetzen darf.

Eigentümer ändern

chown <benutzer> <datei> — Ändert den Eigentümer einer Datei.

sudo chown www-data index.html

chown <benutzer>:<gruppe> <datei> — Ändert Eigentümer und Gruppe zugleich.

sudo chown www-data:www-data index.html

chown :<gruppe> <datei> — Ändert nur die Gruppe (Kurzform).

sudo chown :developers project/

chown <benutzer> <datei1> <datei2> — Ändert den Eigentümer mehrerer Dateien.

sudo chown www-data *.html *.php

Rekursiv

chown -R <benutzer>:<gruppe> <verzeichnis> — Ändert den Besitz eines Verzeichnisses rekursiv.

sudo chown -R www-data:www-data /var/www/html/

chown -R --preserve-root <benutzer> <verzeichnis> — Rekursiv mit Schutz davor, auf / zu operieren.

sudo chown -R --preserve-root deploy:deploy /opt/app/

Optionen

chown -v <benutzer> <datei> — Ausführlich: meldet jede Änderung.

sudo chown -v www-data *.php

chown -c <benutzer> <datei> — Meldet nur, wenn tatsächlich eine Änderung stattfindet.

sudo chown -c www-data *.php

chown --reference=<ref> <datei> — Setzt den Besitz passend zu einer Referenzdatei.

sudo chown --reference=index.html newfile.html

chown -h <benutzer> <symlink> — Ändert den Besitz eines Symlinks (nicht des Ziels).

sudo chown -h www-data /var/www/current

Häufige Muster

chown -R www-data:www-data /var/www/ — Setzt den Webserver-Besitz für ein Website-Verzeichnis.

sudo chown -R www-data:www-data /var/www/mysite/

find <verzeichnis> -type f -exec chown <benutzer> {} + — Ändert den Eigentümer nur von Dateien (nicht von Verzeichnissen).

sudo find /var/www -type f -exec chown www-data {} +

find <verzeichnis> -type d -exec chown <benutzer> {} + — Ändert den Eigentümer nur von Verzeichnissen.

sudo find /var/www -type d -exec chown www-data {} +

chown $(id -u):$(id -g) <datei> — Setzt den Besitz einer Datei auf den aktuellen Benutzer.

sudo chown $(id -u):$(id -g) downloaded-file.tar.gz

chown -R $USER:$USER <verzeichnis> — Holt den Besitz eines Verzeichnisses für den aktuellen Benutzer zurück.

sudo chown -R $USER:$USER ~/projects/

Fazit

chown ist im Alltag schnell zur Hand, wenn der Besitz einer Datei nicht passt – meist reicht chown benutzer:gruppe datei, oft kombiniert mit find -type f/-type d, um Dateien und Verzeichnisse getrennt zu behandeln. Behandle die rekursive Variante -R mit Respekt: Sie greift in ganze Verzeichnisbäume ein, und ein Tippfehler im Pfad – erst recht in Systembereichen wie /, /etc oder /usr – kann Dienste lahmlegen oder das System unbrauchbar machen. Prüfe den Zielpfad vor dem Bestätigen, nutze --preserve-root als Sicherheitsnetz und greife im Zweifel mit -v/-c zur Kontrolle, welche Änderungen wirklich passieren. Eng verwandt ist chmod, das die Zugriffsrechte setzt, während ls -l und stat dir den aktuellen Besitz anzeigen.

Verwandte Kommandos

  • chmod – Zugriffsrechte von Dateien und Verzeichnissen setzen
  • ls – Verzeichnisinhalte samt Eigentümer und Rechten anzeigen
  • stat – detaillierte Datei-Informationen inklusive Besitz