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

Chown-Befehl in Linux (Dateibesitz ändern)

In Linux- und Unix-ähnlichen Betriebssystemen gehören alle Dateien, Verzeichnisse und Prozesse (die wiederum Dateien sind) den Benutzern. Die Gruppe ist eine Gruppe von Benutzern, die dieselben Zugriffsberechtigungen (d. h. Lesen, Schreiben und Ausführen) für diese Objekte (Dateien/Verzeichnisse) teilen.

Der Befehl chown wird unter Linux verwendet, um den Benutzer- und Gruppenbesitz von Dateien, Verzeichnissen und symbolischen Links zu ändern.

In diesem Tutorial zeige ich Ihnen anhand einiger praktischer Beispiele, wie Sie den Befehl chown verwenden.

Chown-Syntax

Lassen Sie uns die grundlegende Syntax des Befehls chown wie folgt überprüfen:

chown [OPTIONS] USER[:GROUP] FILE/DIRECTORY

Sie können ls -l ausführen Befehl zum Drucken von Dateibesitzdetails.

In der folgenden Ausgabe sehen Sie, dass die Datei „myfile.txt“ dem Benutzer „tom“ gehört und die Gruppe „developers“ gehört:

$ ls -l
-rw-r--r-- 1 tom  developers   0 Apr  4 01:35 myfile.txt

Eigentümer einer Datei ändern

Um den Eigentümer einer Datei zu ändern, verwenden Sie chown mit neuem Eigentümernamen und dem Dateinamen, für den der Eigentümer geändert werden muss.

Der folgende Befehl ändert den Besitz der Datei mit dem Namen „myfile.txt“ auf einen neuen Benutzer „tom“:

# chown tom myfile.txt

Wenn der Befehl erfolgreich ausgeführt wurde, wird keine Ausgabe auf dem Terminal angezeigt. Lassen Sie dies mit ls -l überprüfen Befehl wie folgt:

# ls -l myfile.txt
-rw-r--r-- 1 tom root 623 Dec 10 2012 myfile.txt

Eigentümer und Gruppe einer Datei ändern

Wenn dem Besitzer ein Doppelpunkt folgt (: ) und einem Gruppennamen (ohne Leerzeichen), wird auch der Gruppenname geändert.

Das folgende Beispiel zeigt, wie Sie den Eigentümer und die Gruppe für die Datei „myfile.txt“ ändern:

# chown tom:developers myfile.txt

Jetzt ist der neue Besitzer der Datei „tom“ und der neue Gruppenbesitzer ist die Gruppe „developers“.

# ls -l myfile.txt
-rw-r--r-- 1 tom developers 424 Dec 10 2012 myfile.txt

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

# chown tom: myfile.txt
# ls -l myfile.txt
-rw-r--r-- 1 tom tom 453 Dec 10 2012 myfile.txt

Wenn der Doppelpunkt (:) und die Gruppe erwähnt werden, wird nur die Gruppe der Datei geändert. In diesem Fall funktioniert der Befehl wie der Befehl chgrp.

# chown :developers myfile.txt
# ls -l myfile.txt
-rw-r--r-- 1 tom developers 1579 Dec 10 2012 myfile.txt

Inhaberschaft für Verzeichnisse rekursiv ändern

Um den Besitz rekursiv auf alle Dateien und Verzeichnisse in einem bestimmten Verzeichnis anzuwenden, verwenden Sie -R Möglichkeit

Im folgenden Beispiel wird der Besitz aller Dateien und Verzeichnisse unter „/var/www/html“ rekursiv auf „linoxide“ und der Gruppenbesitz auf „www-data“ geändert:

# chown linoxide:www-data -R /var/www/html

Ausführliche Ausgabe

Der --verbose Option zeigt alle Eigentumsänderungen auf dem Terminal. Es gibt die Diagnose für jede verarbeitete Datei aus.

Zum Beispiel:

# chown -R --verbose jones /home/jones/
changed ownership of `/home/jones/hello' to jones
changed ownership of `/home/jones/.emacs' to jones
changed ownership of `/home/jones/.bash_history' to jones
changed ownership of `/home/jones/.bash_logout' to jones
changed ownership of `/home/jones/.bashrc' to jones
changed ownership of `/home/jones/file1' to jones

Die ausführliche Option gibt die Verarbeitung jeder Datei aus, auch wenn keine Änderungen vorgenommen wurden. Aber mit -c oder --changes Option wird die Ausgabe nur gemeldet, wenn Änderungen vorgenommen werden.

Inhaberschaft für symbolische Links ändern

Standardmäßig chown Der Befehl ändert nicht den Besitz von symbolischen Links, sondern ändert den Besitz der Zieldatei. Chmod hat eine Option -h die verwendet werden kann, um den Besitz für symbolische Links zu ändern.

Überprüfen Sie das folgende Beispiel:

# chown -h tom vmlinuz
# ls -l
total 0
lrwxrwxrwx 1 tom root 31 Apr  5 00:50 vmlinuz -> /boot/vmlinuz-4.15.0-88-generic

Inhaberschaft wie Referenzdatei ändern

Sie können auf eine Datei verweisen, aus der chown denselben Benutzer- und Gruppenbesitz in eine neue Datei kopieren.

Im folgenden Befehl --reference=myfile1.txt Option zur Angabe der Referenzdatei und des Eigentumsrechts, das der Datei mit dem Namen „myfile2.txt“ zugewiesen ist:

# chown --reference=myfile1.txt myfile2.txt

Leiser Betrieb

Ein normaler Benutzer kann den Besitz von Dateien, die anderen gehören, nicht ändern. Daher wird ein Fehler angezeigt, wenn ein normaler Benutzer versucht, den Besitz zu ändern.

[tom@node051 ~]$ chown tom /etc/
chown: changing ownership of `/etc/': Operation not permitted

Aber wenn wir -f verwenden oder --silent oder --quiet Option wird der Fehler nicht angezeigt.

[tom@node051 ~]$ chown -f tom /etc/
[tom@node051 ~]$

Wie man die Wurzel bewahrt

Der Chmod-Befehl hat eine Option --preserve-root um zu verhindern, dass chmod rekursiv auf / wirkt . Diese Option sollte mit -R verwendet werden Option wirksam werden.

[root@node051 ~]# chown -c --preserve-root tom /
changed ownership of '/' from root to tom

Nur die Berechtigungen der / geändert werden und der Besitz von Dateien und Verzeichnissen in / bleibt gleich.

[root@node051 ~]# ls -ld /
drwxr-xr-x 23 tom root 4096 Feb 19 14:36 /
[root@node051 ~]# ls -l
total 88
drwxr-xr-x   2 root root  4096 Feb 19 14:33 bin
drwxr-xr-x   3 root root  4096 Feb 19 14:36 boot
drwxr-xr-x  16 root root  3660 Mar 28 11:09 dev
drwxr-xr-x  90 root root  4096 Apr  4 02:28 etc
drwxr-xr-x   2 root root  4096 Feb 19 14:35 home
lrwxrwxrwx   1 root root    33 Feb 19 14:35 initrd.img -> boot/initrd.img-4.15.0-88-generic
lrwxrwxrwx   1 root root    33 Feb 19 14:29 initrd.img.old -> boot/initrd.img-4.15.0-76-generic
drwxr-xr-x  22 root root  4096 Feb 19 14:37 lib
drwxr-xr-x   2 root root  4096 Feb 19 14:28 lib64
drwx------   2 root root 16384 Feb 19 14:27 lost+found

Schlussfolgerung

In diesem Tutorial haben wir gelernt, wie man den Besitz von Dateien und Verzeichnissen in Linux ändert. Danke fürs Lesen und teilen Sie uns Ihre Kommentare mit.


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

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

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

  4. Linux-wc-Befehl

  5. chown-Befehlsbeispiele in Linux

Gzip-Befehl unter Linux

Gunzip-Befehl unter Linux

Stat-Befehl unter Linux

Chmod-Befehl – ​​So ändern Sie Dateiberechtigungen in Linux

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

Beispiele für chown-Befehle unter Linux