GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Chown-Befehl in Linux (Dateibesitz)

Der chown Mit dem Befehl können Sie den Benutzer- und/oder Gruppenbesitz einer bestimmten Datei, eines Verzeichnisses oder eines symbolischen Links ändern.

In Linux werden alle Dateien einem Besitzer und einer Gruppe zugeordnet und mit Zugriffsrechten für den Dateibesitzer, die Gruppenmitglieder und andere versehen.

In diesem Tutorial zeigen wir Ihnen, wie Sie chown verwenden Befehl durch praktische Beispiele.

Verwendung von chown #

Bevor wir uns mit der Verwendung von chown befassen Befehl, beginnen wir mit der Überprüfung der grundlegenden Syntax.

Der chown Befehlsausdrücke haben folgende Form:

chown [OPTIONS] USER[:GROUP] FILE(s)

USER ist der Benutzername oder die Benutzer-ID (UID) des neuen Eigentümers. GROUP ist der Name der neuen Gruppe oder die Gruppen-ID (GID). FILE(s) ist der Name einer oder mehrerer Dateien, Verzeichnisse oder Links. Numerischen IDs sollte das Präfix + vorangestellt werden Symbol.

  • USER - Wenn nur der Benutzer angegeben wird, wird der angegebene Benutzer Eigentümer der angegebenen Dateien, der Gruppenbesitz wird nicht geändert.
  • USER: - Wenn dem Benutzernamen ein Doppelpunkt folgt : , und der Gruppenname nicht angegeben ist, wird der Benutzer Eigentümer der Dateien und der Eigentümer der Dateigruppe wird in die Anmeldegruppe des Benutzers geändert.
  • USER:GROUP - Wenn sowohl der Benutzer als auch die Gruppe angegeben sind (ohne Leerzeichen dazwischen), wird der Benutzerbesitz der Dateien auf den angegebenen Benutzer und der Gruppenbesitz auf die angegebene Gruppe geändert.
  • :GROUP - Wenn der Benutzer weggelassen wird und der Gruppe ein Doppelpunkt vorangestellt wird : , nur der Gruppenbesitz der Dateien wird auf die angegebene Gruppe geändert.
  • : Wenn nur ein Doppelpunkt : angegeben wird, ohne den Benutzer und die Gruppe anzugeben, wird keine Änderung vorgenommen.

Standardmäßig, bei Erfolg, chown erzeugt keine Ausgabe und gibt Null zurück.

Verwenden Sie ls -l Befehl, um herauszufinden, wem eine Datei gehört oder zu welcher Gruppe die Datei gehört:

ls -l filename.txt
-rw-r--r-- 12 linuxize users 12.0K Apr  8 20:51 filename.txt
|[-][-][-]-   [------] [---]
                |       |
                |       +-----------> Group
                +-------------------> Owner

Normale Benutzer können die Gruppe der Datei nur ändern, wenn sie Eigentümer der Datei sind und nur zu einer Gruppe, in der sie Mitglied sind. Administratoren können den Gruppenbesitz aller Dateien ändern.

So ändern Sie den Eigentümer einer Datei #

Um den Eigentümer einer Datei zu ändern, verwenden Sie den chown Befehl gefolgt vom Benutzernamen des neuen Eigentümers und der Zieldatei als Argument:

chown USER FILE

Beispielsweise ändert der folgende Befehl den Eigentümer einer Datei mit dem Namen file1 an einen neuen Besitzer namens linuxize :

chown linuxize file1

Um den Besitz mehrerer Dateien oder Verzeichnisse zu ändern, geben Sie sie als durch Leerzeichen getrennte Liste an. Der folgende Befehl ändert den Eigentümer einer Datei mit dem Namen file1 und Verzeichnis dir1 an einen neuen Besitzer namens linuxize :

chown linuxize file1 dir1

Anstelle des Benutzernamens kann auch die numerische Benutzer-ID (UID) verwendet werden. Das folgende Beispiel ändert den Eigentümer einer Datei mit dem Namen file2 an einen neuen Besitzer mit der UID 1000 :

chown 1000 file2

Wenn ein numerischer Eigentümer als Benutzername vorhanden ist, wird die Eigentümerschaft auf den Benutzernamen übertragen. Um dies zu vermeiden, stellen Sie der ID + voran :

chown 1000 file2

So ändern Sie den Eigentümer und die Gruppe einer Datei #

Um sowohl den Eigentümer als auch die Gruppe einer Datei zu ändern, verwenden Sie den chown Befehl, gefolgt vom neuen Eigentümer und der Gruppe, getrennt durch einen Doppelpunkt (: ) ohne dazwischenliegende Leerzeichen und die Zieldatei.

chown USER:GROUP FILE

Der folgende Befehl ändert den Besitz einer Datei namens file1 an einen neuen Besitzer namens linuxize und gruppieren Sie users :

chown linuxize:users file1

Wenn Sie den Gruppennamen nach dem Doppelpunkt weglassen (: ) wird die Gruppe der Datei in die Anmeldegruppe des angegebenen Benutzers geändert:

chown linuxize: file1

So ändern Sie die Gruppe einer Datei #

Um nur die Gruppe einer Datei zu ändern, verwenden Sie den chown Befehl gefolgt von einem Doppelpunkt (: ) und den neuen Gruppennamen (ohne Leerzeichen dazwischen) und die Zieldatei als Argument:

chown :GROUP FILE

Der folgende Befehl ändert die Eigentümergruppe einer Datei mit dem Namen file1 zu www-data :

chown :www-data file1

Ein weiterer Befehl, mit dem Sie den Gruppenbesitz von Dateien ändern können, ist chgrp .

Wenn die rekursive Option nicht verwendet wird, chown Der Befehl ändert den Gruppenbesitz der Dateien, auf die die symbolischen Links zeigen, nicht die symbolischen Links selbst.

Zum Beispiel, wenn Sie versuchen, den Eigentümer und die Gruppe des symbolischen Links symlink1 zu ändern das zeigt auf /var/www/file1 , chown ändert den Eigentümer der Datei oder des Verzeichnisses, auf das der symbolische Link zeigt:

chown www-data: symlink1

Die Chancen stehen gut, dass Sie, anstatt den Eigentümer des Ziels zu ändern, den Fehler „cannot dereference ‚symlink1‘:Permission denied“ erhalten.

Der Fehler tritt auf, weil Symlinks auf den meisten Linux-Distributionen standardmäßig geschützt sind und Sie nicht mit Zieldateien arbeiten können. Diese Option wird in /proc/sys/fs/protected_symlinks angegeben . 1 bedeutet aktiviert und 0 behindert. Wir empfehlen, den Symlink-Schutz nicht zu deaktivieren.

Um den Gruppenbesitz des Symlinks selbst zu ändern, verwenden Sie -h Möglichkeit:

chown -h www-data symlink1

Wie man den Dateibesitz rekursiv ändert #

Um alle Dateien und Verzeichnisse unter dem angegebenen Verzeichnis rekursiv zu bearbeiten, verwenden Sie -R (--recursive ) Option:

chown -R USER:GROUP DIRECTORY

Das folgende Beispiel ändert den Besitz aller Dateien und Unterverzeichnisse unter /var/www Verzeichnis an einen neuen Besitzer und eine neue Gruppe mit dem Namen www-data :

chown -R www-data: /var/www

Wenn das Verzeichnis symbolische Links enthält, übergeben Sie den -h Möglichkeit:

chown -hR www-data: /var/www

Andere Optionen, die beim rekursiven Ändern des Verzeichnisbesitzes verwendet werden können, sind -H und -L .

Wenn das Argument an chown übergeben wird Befehl ist ein symbolischer Link, der auf ein Verzeichnis zeigt, der -H Option bewirkt, dass der Befehl sie durchquert. -L sagt chown um jeden symbolischen Link zu einem gefundenen Verzeichnis zu durchlaufen. Normalerweise sollten Sie diese Optionen nicht verwenden, da Sie Ihr System durcheinander bringen oder ein Sicherheitsrisiko darstellen könnten.

Verwendung einer Referenzdatei #

Die --reference=ref_file Mit der Option können Sie den Benutzer- und Gruppenbesitz bestimmter Dateien so ändern, dass er mit denen der angegebenen Referenzdatei identisch ist (ref_file ). Wenn die Referenzdatei ein symbolischer Link ist chown verwendet den Benutzer und die Gruppe der Zieldatei.

chown --reference=REF_FILE FILE

Beispielsweise weist der folgende Befehl dem Benutzer und der Gruppe den Besitz von file1 zu zu file2

chown --reference=file1 file2

Schlussfolgerung #

chown ist ein Linux/UNIX-Befehlszeilendienstprogramm zum Ändern des Benutzer- und/oder Gruppenbesitzes der Datei.

Um mehr über chown zu erfahren Besuchen Sie die chown-Manpage oder geben Sie man chown ein in Ihrem Terminal.

Wenn Sie Fragen oder Feedback haben, können Sie gerne einen Kommentar hinterlassen.


Linux
  1. Chown-Befehl:Ändern Sie den Eigentümer der Datei in Linux

  2. So ändern Sie den Datei-/Gruppenbesitzer mit dem Befehl chown in Linux

  3. Linux chmod und chown – So ändern Sie Dateiberechtigungen und Eigentumsrechte in Linux

  4. So verwenden Sie den Befehl chown, um den Besitz in Linux zu ändern

  5. Linux-su-Befehl

Stat-Befehl unter Linux

ID-Befehl unter Linux

Chown-Befehl in Linux (Dateibesitz ändern)

Linux-Befehl id - Gibt Benutzer-ID- und Gruppen-ID-Informationen aus

Erfahren Sie, wie Sie den Befehl chown (Eigentum ändern) unter Linux verwenden

Beispiele für chown-Befehle unter Linux