CMD Master
Zurück zum Blog
•Aktualisiert•Arnošt Havelka

Dateieigentümer in Bash mit chown ändern

Ändere mit chown Eigentümer und Gruppe von Dateien oder Verzeichnissen, prüfe das Ergebnis und vermeide unsichere rekursive Änderungen.

Interaktive Lektion starten
Dateieigentümer in Bash mit chown ändern

Verwende chown, wenn eine Datei oder ein Verzeichnis dem falschen Benutzer oder der falschen Gruppe gehört. Prüfe zuerst das Ziel, ändere einen eindeutigen Pfad und kontrolliere das Ergebnis sofort. Füge -R nur hinzu, wenn wirklich jedes Element unterhalb eines Verzeichnisses dieselben Eigentumsangaben erhalten soll. In der Bash-chown-Lektion kannst du die Grundform in einem isolierten Dateisystem üben.

Aktuellen Eigentümer und aktuelle Gruppe prüfen

Untersuche den genauen Pfad, bevor du etwas änderst:

ls -ld project
ls -l project/readme.txt

In einer ausführlichen Auflistung stehen Eigentümer und Gruppe nach den Feldern für Berechtigungen und Linkanzahl. Vergewissere dich, dass project das gewünschte Verzeichnis ist und dass das Zielkonto und die Zielgruppe bereits existieren. chown erstellt weder Benutzer noch Gruppen.

Eigentümer und Gruppe gemeinsam ändern

Die übliche Form setzt Eigentümer:Gruppe vor den Pfad:

sudo chown admin:developers project

Damit wird admin Eigentümer und developers Gruppe des Verzeichniseintrags project. Der Inhalt wird nicht rekursiv geändert. Verwende sudo nur, wenn dein aktuelles Konto nicht die nötigen Rechte besitzt. Erweiterte Rechte schützen nicht vor einem falsch geschriebenen Namen oder Pfad.

Prüfe das Ergebnis:

ls -ld project

Lasse die Gruppe weg, wenn du nur den Eigentümer ändern möchtest:

sudo chown admin project/readme.txt

Lasse bei chown den Eigentümer leer, wenn du nur die Gruppe ändern möchtest:

sudo chown :developers project/readme.txt

Wenn nur die Gruppenzugehörigkeit geändert wird, ist die eigene chgrp-Anleitung oft verständlicher.

Rekursive Eigentumsänderungen getrennt beurteilen

Die Option -R wendet die Änderung auf das Ausgangsverzeichnis und alles darunter an:

sudo chown -R admin:developers project

Bestätige vor dem Drücken der Eingabetaste mit pwd und ls -ld project den Ausgangspunkt. Vermeide nicht aufgelöste Variablen, Platzhalter und Pfade aus nicht vertrauenswürdigen Nachrichten. Experimentiere nie mit rekursiven Eigentumsänderungen ab /, über ein vollständiges Home-Verzeichnis oder auf einem produktiv genutzten Mount.

Prüfe danach sowohl das Verzeichnis als auch repräsentative Dateien:

ls -ld project
ls -l project/readme.txt

Ein Verzeichnisbaum kann absichtlich Dateien enthalten, die verschiedenen Dienstkonten gehören. Werden sie alle durch einen einzigen Eigentümer ersetzt, können Deployments, Datenbanken, Container oder gemeinsam genutzte Verzeichnisse ausfallen, obwohl der Befehl selbst erfolgreich war.

Was chown nicht behebt

Eigentum und Berechtigungen sind getrennte Dinge. chown ändert, auf welchen Benutzer und welche Gruppe sich die Berechtigungsbits beziehen; chmod ändert die Bits selbst. Ist der Eigentümer korrekt, aber der Zugriff weiterhin verweigert, prüfe den Modus, statt die Eigentumsänderung zu wiederholen.

Auch das Verfolgen symbolischer Links, Netzwerk-Mounts, Container und verwaltete Dateisysteme können das Ergebnis beeinflussen. Lies die lokale Seite man chown, bevor du rekursive Änderungen an einem Baum mit Links oder Einhängepunkten vornimmst. Lehnt das Dateisystem den Vorgang ab, untersuche sein Eigentumsmodell, statt wiederholt umfassendere Rechte hinzuzufügen.

Für numerische Zugriffsmodi geht es mit der Erklärung der chmod-Zahlen weiter. Die vollständige Eigentumssyntax und die Optionen zum Durchlaufen dokumentiert die Coreutils-Referenz zu chown.

Quellen

Diese Dokumentationslinks liefern verlässliche Details zu den in diesem Artikel verwendeten Befehlen.

Nächstes

chmod-Zahlen erklärt: 600, 644, 700 und 755

Verstehe numerische chmod-Rechte, wähle sichere Modi für Dateien und Verzeichnisse und prüfe das Ergebnis ohne riskante Rekursion.