Einführung
Der chown
Der Befehl ändert den Benutzerbesitz einer Datei, eines Verzeichnisses oder eines Links in Linux. Jede Datei ist einem besitzenden Benutzer oder einer Gruppe zugeordnet. Es ist wichtig, die Datei- und Ordnerberechtigungen richtig zu konfigurieren.
In diesem Tutorial erfahren Sie, wie Sie den Linux-Befehl chown verwenden mit bereitgestellten Beispielen.
Voraussetzungen
- Linux- oder UNIX-ähnliches System
- Zugriff auf ein Terminal/eine Befehlszeile
- Ein Benutzer mit sudo-Berechtigungen, um den Besitz zu ändern. Denken Sie daran, die Befehle mit sudo auszuführen um sie richtig auszuführen.
Linux-Chown-Befehlssyntax
Die grundlegende Befehlssyntax von chown besteht aus einigen Segmenten. Die Hilfedatei zeigt das folgende Format:
chown [OPTIONS] USER[:GROUP] FILE(s)
- [OPTIONEN] – Der Befehl kann mit oder ohne zusätzliche Optionen verwendet werden.
- [BENUTZER] – der Benutzername oder die numerische Benutzer-ID des neuen Besitzers einer Datei.
- [:] – Verwenden Sie den Doppelpunkt, wenn Sie eine Gruppe einer Datei ändern.
- [GRUPPE] – Das Ändern des Gruppenbesitzes einer Datei ist optional.
- DATEI – die Zieldatei.
Superuser-Berechtigungen sind erforderlich, um den Befehl chown auszuführen.
In dieser Anleitung haben wir die Befehlsbeispiele mit der chown-Version 8.28 in Ubuntu 18.04.2 LTS getestet.
Geben Sie Folgendes ein, um die Chown-Version auf Ihrem Computer zu überprüfen:
chown --version
Die Ausgabe sieht etwa so aus:
Wie man den Besitz einer Datei unter Linux überprüft
Zuerst müssen Sie den ursprünglichen Eigentümer oder die Gruppe der Datei kennen, bevor Sie mit dem Befehl chown Änderungen an den Eigentumsverhältnissen vornehmen.
Führen Sie den folgenden Befehl aus, um die Gruppe oder den Besitz von Linux-Dateien und -Verzeichnissen am aktuellen Speicherort zu überprüfen:
ls -l
Eine Beispielausgabe von ls
Befehl sieht so aus:
So ändern Sie den Eigentümer einer Datei
Wenn Sie den Eigentümer einer Datei mit chown ändern, müssen Sie den neuen Eigentümer und die Datei angeben. Das Format des Befehls ist:
chown NewUser FILE
Der folgende Befehl ändert den Eigentümer einer Datei sample von root zum Benutzer test :
chown test sample
Verwenden Sie dasselbe Format, um die Eigentümerschaft für Dateien und Verzeichnisse zu ändern .
Eigentümer einer Datei mit UID ändern
Anstelle eines Benutzernamens können Sie eine Benutzer-ID angeben, um den Eigentümer einer Datei zu ändern.
Zum Beispiel:
chown 1002 sample2
Stellen Sie sicher, dass es keinen Benutzer mit demselben Namen wie der numerischen UID gibt. Wenn dies der Fall ist, gibt der Befehl chown dem Benutzernamen Vorrang, nicht der UID .
Eigentümer mehrerer Linux-Dateien ändern
Listen Sie die Zieldateinamen nach dem neuen Benutzer auf, um den Besitz für mehrere Dateien zu ändern. Verwenden Sie einzelne Leerzeichen zwischen den Dateinamen.
Im folgenden Beispiel root wird der neue Eigentümer der Dateien sample2 undBeispiel3 .
chown root sample2 sample3
Kombinieren Sie Dateinamen und Verzeichnisnamen, um ihren Besitz mit einem Befehl zu ändern. Zum Beispiel:
chown root sample3 Dir1
Vergessen Sie nicht, dass bei den Befehlen zwischen Groß- und Kleinschreibung unterschieden wird.
So ändern Sie die Gruppe einer Datei
Mit chown können Sie eine Gruppe für eine Datei oder ein Verzeichnis ändern, ohne den besitzenden Benutzer zu ändern. Das Ergebnis ist dasselbe wie bei Verwendung des Befehls chgrp.
Führen Sie chown
aus Befehl mit dem Doppelpunkt und einem Gruppennamen:
chown :NewGroup FILE
Das folgende Beispiel ändert die Gruppe der Datei sample3 von Gruppentest zu Gruppe3.
chown :group3 sample3
Listen Sie mehrere Namen von Dateien oder Verzeichnissen auf, um Massenänderungen vorzunehmen.
Ändern Sie die Gruppe einer Datei mit GID
Verwenden Sie ähnlich wie bei der UID eine Gruppen-ID (GID) anstelle eines Gruppennamens, um die Gruppe einer Datei zu ändern.
Zum Beispiel:
chown :1003 sample
Inhaber und Gruppe ändern
Um einen neuen Eigentümer einer Datei zuzuweisen und gleichzeitig ihre Gruppe zu ändern, führen Sie chown
aus Befehl in diesem Format:
chown NewUser:NewGroup FILE
Legen Sie daher linuxuser fest als neuer Eigentümer und group2 als neue Gruppe der Datei sample2 :
chown linuxuser:group3 sample3
Denken Sie daran, dass vor oder nach dem Doppelpunkt keine Leerzeichen stehen.
Ändern Sie die Gruppe in eine Benutzer-Login-Gruppe
Der Befehl chown weist der Datei die Login-Gruppe des Eigentümers zu, wenn keine Gruppe angegeben ist.
Definieren Sie dazu einen neuen Benutzer gefolgt von einem Doppelpunkt, einem Leerzeichen und der Zieldatei:
chown NewUser: FILE
Das folgende Beispiel ändert den Gruppenbesitz in die Login-Gruppe von linuxuser :
chown linuxuser: sample3
Eigentümerschaft und Gruppeneinstellungen von einer Datei auf eine andere übertragen
Anstatt den Besitz auf einen bestimmten Benutzer zu ändern, können Sie den Besitzer und eine Gruppe einer Referenzdatei verwenden.
Fügen Sie --reference
hinzu Option zum Befehl chown, um die Einstellungen von einer Datei in eine andere zu kopieren:
chown --reference=ReferenceFILE FILE
Denken Sie daran, die Namen der Dateien richtig einzutippen Vermeiden Sie die Fehlermeldung:
Eigentümer und Gruppe überprüfen, bevor Sie Änderungen vornehmen
Der chown
Befehl --from
Mit dieser Option können Sie den aktuellen Eigentümer und die Gruppe überprüfen und dann Änderungen anwenden.
Die Chown-Syntax zum Überprüfen von Benutzer und Gruppe sieht folgendermaßen aus:
chown --from=CurrentUser:CurrentGroup NewUser:NewGroup FILE
Das folgende Beispiel zeigt, dass wir zuerst den Besitz und die Gruppe der Datei sample3 verifiziert haben :
chown --from=root:group2 linuxuser:group3 sample3
Dann änderte chown den Besitzer zu linuxuser und die Gruppe zu group3 .
Nur Besitzer prüfen
Die Option --from
kann verwendet werden, um nur den aktuellen Benutzer einer Datei zu validieren.
chown --from=CurrentUser NewUser FILE
Zum Beispiel:
chown --from=root linuxuser sample3
Nur Gruppe prüfen
Ähnlich wie im vorherigen Abschnitt können Sie mit der Option --from
nur die Gruppe einer Datei validieren .
chown --from=:CurrentGroup :NewGroup FILE
Hier ist ein Beispiel, bei dem wir die aktuelle Gruppe überprüft haben, bevor wir sie geändert haben:
chown --from=:group3 :group4 FILE
Denken Sie daran, den Doppelpunkt für beide Gruppennamen zu verwenden, um Fehlermeldungen zu vermeiden.
Wie man den Dateibesitz rekursiv ändert
Mit dem Befehl chown können Sie den Besitz aller Dateien und Unterverzeichnisse innerhalb eines angegebenen Verzeichnisses ändern. Fügen Sie das -R
hinzu Option zum Befehl dazu:
chown -R NewUser:NewGroup DirNameOrPath
Im folgenden Beispiel werden wir den Besitzer und die Gruppe für alle Dateien und Verzeichnisse in Dir1 rekursiv ändern .
chown -R linuxuser:group3 Dir1
Chown-Befehl und symbolische Links
Um den Eigentümer eines symbolischen Links zu ändern, verwenden Sie -h
Möglichkeit. Andernfalls wird der Eigentümer der verknüpften Datei geändert.
Das folgende Bild zeigt, wie sich symbolische Links verhalten, wenn -h
weggelassen.
Eigentümer und Gruppe des symbolischen Links bleiben erhalten. Stattdessen der Besitzer und die Gruppe der Datei textfile geändert.
Um die Änderungen an den Link zu pushen, führen Sie den Befehl chown mit -h
aus Flagge:
chown -h NewUser:NewGroup SymbolicLink
Im folgenden Beispiel haben wir den Besitzer und die Gruppe eines symbolischen Links geändert.
Chown-Befehlsprozessdetails anzeigen
Standardmäßig zeigt das Terminal die chown-Prozessinformationen nicht an. Um zu sehen, was unter der Haube passiert, verwenden Sie eines der beiden Befehlszeilen-Flags:
- Die Option –v erzeugt die Prozessdetails, auch wenn die Eigentümerschaft gleich bleibt.
- Die Option –c zeigt nur die Ausgabeinformationen an wenn sich ein Eigentümer oder eine Gruppe der Zieldatei ändert.
Wenn wir zum Beispiel den aktuellen Besitzer als neuen Besitzer der Datei angeben:
chown -v linuxuser sample2
Das Terminal erzeugt die folgende Ausgabe:
Wechseln Sie von -v
zu -c
und es werden in diesem Fall keine Nachrichten ausgegeben. Dies geschieht, weil es keine Eigentümer- oder Gruppenänderungen gibt.
Die Informationen sind besonders nützlich mit dem rekursiven chown-Befehl :
In diesem Beispiel listet die Ausgabe alle betroffenen Objekte nach Ausführung des Befehls auf.
Chown-Befehlsfehler unterdrücken
Um mögliche Fehlermeldungen beim Ausführen des Befehls chown zu vermeiden, verwenden Sie -f
Möglichkeit:
chown -f NewUser FILE
Das folgende Beispiel zeigt die Fehlermeldung für eine nicht vorhandene Datei oder ein Verzeichnis:
Hinzufügen von -f
Flag unterdrückt die meisten Fehlermeldungen. Wenn Sie jedoch einen ungültigen Benutzernamen angeben, erscheint die Fehlermeldung: