Android

Chown Befehl in Linux (Dateieigentum)

Datei-Rechte in Linux ändern und verwalten [Terminal]

Datei-Rechte in Linux ändern und verwalten [Terminal]

Inhaltsverzeichnis:

Anonim

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

In Linux werden alle Dateien einem Eigentümer und einer Gruppe zugeordnet und mit Zugriffsberechtigungen für den Dateieigentümer, die Gruppenmitglieder und andere Personen versehen.

In diesem Tutorial zeigen wir Ihnen chown von praktischen Beispielen, wie Sie den Befehl chown .

Wie benutzt man chown

Bevor wir mit der Verwendung des Befehls chown beginnen, überprüfen wir zunächst die grundlegende Syntax.

Die chown Befehlsausdrücke haben die folgende Form:

chown USER FILE(s)

USER ist der Benutzername oder die Benutzer-ID (UID) des neuen Besitzers. 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 + -Symbol vorangestellt werden.

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

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

Verwenden Sie den Befehl ls -l , 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

Nur Root-Benutzer oder Benutzer mit sudo Berechtigungen können den Gruppeneigentum einer Datei ändern.

So ändern Sie den Eigentümer einer Datei

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

chown USER FILE

Mit dem folgenden Befehl wird beispielsweise der Besitz einer Datei mit dem Namen file1 in einen neuen Besitzer mit dem Namen linuxize :

chown linuxize file1

Wenn Sie den Besitz mehrerer Dateien oder Verzeichnisse ändern möchten, geben Sie diese als durch Leerzeichen getrennte Liste an. Der folgende Befehl ändert den Besitz einer Datei mit dem Namen file1 und des Verzeichnisses dir1 in einen neuen Besitzer mit dem Namen linuxize :

chown linuxize file1 dir1

Die numerische Benutzer-ID (UID) kann anstelle des Benutzernamens verwendet werden. Im folgenden Beispiel wird der Besitz einer Datei mit dem Namen file2 in einen neuen Besitzer mit der UID 1000 geändert:

chown 1000 file2

Wenn ein numerischer Eigentümer als Benutzername vorhanden ist, wird der Eigentümer auf den Benutzernamen übertragen. Um dieses Präfix zu vermeiden, muss die ID mit + :

chown 1000 file2

So ändern Sie den Besitzer und die Gruppe einer Datei

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

chown USER:GROUP FILE

Mit dem folgenden Befehl wird der Besitz einer Datei mit dem Namen " file1 in einen neuen Besitzer mit dem Namen " linuxize und "group users linuxize :

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 Befehl chown gefolgt von einem Doppelpunkt ( chown und dem neuen Gruppennamen (ohne Leerzeichen dazwischen) und der Zieldatei als Argument:

chown:GROUP FILE

Der folgende Befehl ändert die Besitzergruppe einer Datei mit dem Namen file1 in www-data :

chown:www-data file1

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

So ändern Sie den Besitz symbolischer Links

Wenn die rekursive Option nicht verwendet wird, chown Befehl chown den Gruppeneigentum der Dateien, auf die die Symlinks verweisen, nicht die symbolischen Links selbst.

Wenn Sie beispielsweise versuchen, den Eigentümer und die Gruppe des symbolischen Links symlink1 zu ändern, der auf /var/www/file1 , chown den Eigentümer der Datei oder des Verzeichnisses, auf das der symlink verweist:

chown www-data: symlink1

Anstatt den Eigentümer des Ziels zu ändern, wird möglicherweise der Fehler "symlink1 kann nicht dereferenziert werden: Berechtigung verweigert" angezeigt.

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

Verwenden Sie die Option -h um die Gruppenzugehörigkeit des Symlinks selbst zu ändern:

chown -h www-data symlink1

So ändern Sie rekursiv den Dateibesitz

Verwenden Sie die Option -R ( --recursive ), um alle Dateien und Verzeichnisse im angegebenen Verzeichnis rekursiv zu --recursive :

chown -R USER:GROUP DIRECTORY

Im folgenden Beispiel wird der Besitz aller Dateien und Unterverzeichnisse im Verzeichnis /var/www in 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 die Option -h :

chown -hR www-data: /var/www

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

Wenn das an den Befehl chown Argument eine symbolische Verknüpfung ist, die auf ein Verzeichnis verweist, wird der Befehl mit der Option -H durchlaufen. -L weist chown an, jede symbolische Verknüpfung zu einem gefundenen Verzeichnis zu durchlaufen. Normalerweise sollten Sie diese Optionen nicht verwenden, da dies zu einer Beschädigung Ihres Systems oder zu einem Sicherheitsrisiko führen kann.

Verwenden einer Referenzdatei

Mit der Option --reference=ref_file können Sie den Benutzer- und Gruppenbesitz bestimmter Dateien so ändern, dass er mit dem der angegebenen Referenzdatei ( ref_file ) ref_file . Wenn es sich bei der Referenzdatei um einen symbolischen Link handelt, werden der Benutzer und die Gruppe der Zieldatei verwendet.

chown --reference=REF_FILE FILE

Der folgende Befehl weist beispielsweise den Benutzer- und Gruppenbesitz der file1 der file2

chown --reference=file1 file2

Fazit

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

Um mehr über den Befehl chown zu erfahren, besuchen Sie die Manpage chown oder geben Sie man chown in Ihr Terminal ein.

chown terminal