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.htmlchown <benutzer>:<gruppe> <datei> — Ändert Eigentümer und Gruppe zugleich.
sudo chown www-data:www-data index.htmlchown :<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 *.phpRekursiv
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 *.phpchown -c <benutzer> <datei> — Meldet nur, wenn tatsächlich eine Änderung stattfindet.
sudo chown -c www-data *.phpchown --reference=<ref> <datei> — Setzt den Besitz passend zu einer Referenzdatei.
sudo chown --reference=index.html newfile.htmlchown -h <benutzer> <symlink> — Ändert den Besitz eines Symlinks (nicht des Ziels).
sudo chown -h www-data /var/www/currentHä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.gzchown -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.
Weiterführende Links
- ubuntuusers-Wiki: chown – deutschsprachige Erklärung mit Beispielen zu Eigentümer und Gruppe
- Wikipedia: chown – Hintergrund zum Unix-Konzept von Datei-Eigentum