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

12 Beispiele für Linux-Chown-Befehle zum Ändern des Besitzers und der Gruppe

Das Konzept von Eigentümern und Gruppen für Dateien ist grundlegend für Linux. Jede Datei ist einem Eigentümer und einer Gruppe zugeordnet. Sie können die Befehle chown und chgrp verwenden, um den Besitzer oder die Gruppe einer bestimmten Datei oder eines bestimmten Verzeichnisses zu ändern.

In diesem Artikel werden wir den Befehl 'chown' besprechen, da er den größten Teil der 'chgrp ' Befehl auch.

Auch wenn Sie diesen Befehl bereits kennen, ist wahrscheinlich eines der unten aufgeführten Beispiele neu für Sie.

1. Eigentümer einer Datei ändern

# ls -lart tmpfile
-rw-r--r-- 1 himanshu family 0 2012-05-22 20:03 tmpfile

# chown root tmpfile

# ls -l tmpfile
-rw-r--r-- 1 root family 0 2012-05-22 20:03 tmpfile

Wir sehen also, dass der Eigentümer der Datei von „himanshu“ auf „root“ geändert wurde.

2. Ändern Sie die Gruppe einer Datei

Mit dem Befehl chown kann auch die Gruppe (zu der eine Datei gehört) geändert werden.

# ls -l tmpfile
-rw-r--r-- 1 himanshu family 0 2012-05-22 20:03 tmpfile

# chown :friends tmpfile

# ls -l tmpfile
-rw-r--r-- 1 himanshu friends 0 2012-05-22 20:03 tmpfile

Wenn Sie genau hinsehen, änderte sich die Gruppe der Datei von „Familie“ zu „Freunde“. Wir sehen also, dass durch einfaches Hinzufügen eines „:“ gefolgt vom neuen Gruppennamen die Gruppe der Datei geändert werden kann.

3. Ändern Sie sowohl den Eigentümer als auch die Gruppe

# ls -l tmpfile
-rw-r--r-- 1 root family 0 2012-05-22 20:03 tmpfile

# chown himanshu:friends tmpfile

# ls -l tmpfile
-rw-r--r-- 1 himanshu friends 0 2012-05-22 20:03 tmpfile

Wir sehen also, dass mit der Syntax „: “ sowohl der Eigentümer als auch die Gruppe auf einmal geändert werden können.

4. Verwenden des Befehls chown für eine symbolische Linkdatei

Hier ist ein symbolischer Link :

# ls -l tmpfile_symlnk
lrwxrwxrwx 1 himanshu family 7 2012-05-22 20:03 tmpfile_symlnk -> tmpfile

Wir sehen also, dass der symbolische Link „tmpfile_symlink“ auf die Datei „tmpfile“ verweist.

Mal sehen, was passiert, wenn der Befehl chown auf einem symbolischen Link ausgegeben wird:

# chown root:friends tmpfile_symlnk

# ls -l tmpfile_symlnk
lrwxrwxrwx 1 himanshu family 7 2012-05-22 20:03 tmpfile_symlnk -> tmpfile

# ls -l tmpfile
-rw-r--r-- 1 root friends 0 2012-05-22 20:03 tmpfile

Wenn der chown-Befehl auf den symbolischen Link ausgegeben wurde, um sowohl den Eigentümer als auch die Gruppe zu ändern, dann ist es der Referent des symbolischen Links, dh „tmpfile“, dessen Eigentümer und Gruppe geändert wurden. Dies ist das Standardverhalten des Befehls chown. Außerdem gibt es ein Flag „–dereference“ für dasselbe.

5. Verwenden des Befehls chown, um den Besitzer/die Gruppe der symbolischen Datei zu ändern.

Mit dem Flag „-h“ können Sie den Besitzer oder die Gruppe eines symbolischen Links erzwingen, wie unten gezeigt.

# ls -l tmpfile_symlnk
lrwxrwxrwx 1 himanshu family 7 2012-05-22 20:03 tmpfile_symlnk -> tmpfile

# chown -h root:friends tmpfile_symlnk

# ls -l tmpfile_symlnk
lrwxrwxrwx 1 root friends 7 2012-05-22 20:03 tmpfile_symlnk -> tmpfile

6. Ändern Sie den Eigentümer nur, wenn eine Datei einem bestimmten Benutzer gehört

Mit dem chown „–from“-Flag können Sie den Besitzer einer Datei nur dann ändern, wenn diese Datei bereits einem bestimmten Besitzer gehört.

# ls -l tmpfile
-rw-r--r-- 1 root friends 0 2012-05-22 20:03 tmpfile

# chown --from=guest himanshu tmpfile

# ls -l tmpfile
-rw-r--r-- 1 root friends 0 2012-05-22 20:03 tmpfile

# chown --from=root himanshu tmpfile

# ls -l tmpfile
-rw-r--r-- 1 himanshu friends 0 2012-05-22 20:03 tmpfile
  • Im obigen Beispiel haben wir überprüft, dass der ursprüngliche Eigentümer/die Gruppe der Datei „tmpfile“ root/friends war.
  • Als nächstes haben wir das „–from“-Flag verwendet, um den Eigentümer in „himanshu“ zu ändern, aber nur, wenn der bestehende Eigentümer „Gast“ ist.
  • Nun, da der bestehende Eigentümer kein „Gast“ war. Der Befehl konnte also den Besitzer der Datei nicht ändern.
  • Als nächstes haben wir versucht, den Eigentümer zu ändern, wenn der vorhandene Eigentümer „root“ ist (was wahr war), und dieses Mal war der Befehl erfolgreich und der Eigentümer wurde in „himanshu“ geändert.

Wenn Sie die Berechtigung einer Datei ändern möchten, sollten Sie den Befehl chmod verwenden.

Wenn Sie ein Anfänger sind, sollten Sie damit beginnen, die Grundlagen der Dateiberechtigungen zu lesen.

7. Gruppe nur ändern, wenn eine Datei bereits zu einer bestimmten Gruppe gehört

Auch hier wird das Flag „–from“ verwendet, aber auf folgende Weise:

# ls -l tmpfile
-rw-r--r-- 1 himanshu friends 0 2012-05-22 20:03 tmpfile

# chown --from=:friends :family tmpfile

# ls -l tmpfile
-rw-r--r-- 1 himanshu family 0 2012-05-22 20:03 tmpfile

Da die Datei „tmpfile“ eigentlich zur Gruppe „friends“ gehörte, war die Bedingung also korrekt und der Befehl erfolgreich.

Wir sehen also, dass wir mit dem Flag „–from=:“ die Gruppe unter einer bestimmten Bedingung ändern können.

HINWEIS:Durch Befolgen der Vorlage „–from=:“ kann die Bedingung sowohl auf den Eigentümer als auch auf die Gruppe angewendet werden.

8. Kopieren Sie die Eigentümer-/Gruppeneinstellungen von einer Datei in eine andere

Dies ist durch die Verwendung des ‚–reference‘-Flags möglich.

# ls -l file
-rwxr-xr-x 1 himanshu family 8968 2012-04-09 07:10 file

# ls -l tmpfile
-rw-r--r-- 1 root friends 0 2012-05-22 20:03 tmpfile

# chown --reference=file tmpfile

# ls -l tmpfile
-rw-r--r-- 1 himanshu family 0 2012-05-22 20:03 tmpfile

Im obigen Beispiel haben wir zuerst den Eigentümer/die Gruppe der Referenzdatei „file“ und dann den Eigentümer/die Gruppe der Zieldatei „tmpfile“ überprüft. Beide waren unterschiedlich. Dann haben wir den Befehl chown mit der Option „–reference“ verwendet, um die Besitzer-/Gruppeneinstellungen aus der Referenzdatei auf die Zieldatei anzuwenden. Der Befehl war erfolgreich und die Eigentümer-/Gruppeneinstellungen von „tmpfile“ wurden ähnlich wie bei „file“ vorgenommen.

9. Ändern Sie den Eigentümer/die Gruppe der Dateien, indem Sie rekursiv durch die Verzeichnisse reisen

Dies wird durch die Option „-R“ ermöglicht.

# ls -l linux/linuxKernel
-rw-r--r-- 1 root friends 0 2012-05-22 21:52 linux/linuxKernel

# ls -l linux/ubuntu/ub10
-rw-r--r-- 1 root friends 0 2012-05-22 21:52 linux/ubuntu/ub10

# ls -l linux/redhat/rh7
-rw-r--r-- 1 root friends 0 2012-05-22 21:52 linux/redhat/rh7

# chown -R himanshu:family linux/

# ls -l linux/redhat/rh7
-rw-r--r-- 1 himanshu family 0 2012-05-22 21:52 linux/redhat/rh7

# ls -l linux/ubuntu/ub10
-rw-r--r-- 1 himanshu family 0 2012-05-22 21:52 linux/ubuntu/ub10

# ls -l linux/linuxKernel
-rw-r--r-- 1 himanshu family 0 2012-05-22 21:52 linux/linuxKernel

Wir sehen das also, nachdem wir den Eigentümer/die Gruppe aller Dateien im Verzeichnis „linux“ und seinen beiden Unterverzeichnissen „ubuntu“ und „redhat“ überprüft haben. Wir haben den Befehl chown mit der Option „-R“ ausgegeben, um sowohl den Eigentümer als auch die Gruppe zu ändern. Der Befehl war erfolgreich und der Eigentümer/die Gruppe aller Dateien wurde erfolgreich geändert.

10. Verwenden des Befehls chown für ein symbolisches Link-Verzeichnis

Mal sehen, was passiert, wenn wir den Befehl „chown“ ausgeben, um den Besitzer/die Gruppe von Dateien in einem Verzeichnis, das ein symbolischer Link zu einem anderen Verzeichnis ist, rekursiv zu ändern.

Hier ist ein symbolisches Link-Verzeichnis „linux_symlnk“, das auf das Verzeichnis „linux“ verweist (bereits in Beispiel „9“ oben verwendet):

$ ls -l linux_symlnk
lrwxrwxrwx 1 himanshu family 6 2012-05-22 22:02 linux_symlnk -> linux/

Lassen Sie uns nun den Besitzer (von himanshu zu root) dieses symbolischen Linkverzeichnisses rekursiv ändern:

# chown -R root:friends linux_symlnk

# ls -l linux_symlnk/
-rw-r--r-- 1 himanshu friends    0 2012-05-22 21:52 linuxKernel
drwxr-xr-x 2 himanshu friends 4096 2012-05-22 21:52 redhat
drwxr-xr-x 2 himanshu friends 4096 2012-05-22 21:52 ubuntu

In der obigen Ausgabe sehen wir, dass der Eigentümer der Dateien und Verzeichnisse nicht geändert wurde. Dies liegt daran, dass der Befehl „chown“ standardmäßig keinen symbolischen Link durchlaufen kann. Dies ist das Standardverhalten, aber dafür gibt es auch ein Flag ‚-P‘.

11. Verwenden von chown, um den Eigentümer/die Gruppe eines Symbolic-Link-Verzeichnisses zwangsweise rekursiv zu ändern

Dies kann mit dem Flag -H

erreicht werden
# chown -R -H guest:family linux_symlnk

# ls -l linux_symlnk/
total 8
-rw-r--r-- 1 guest family    0 2012-05-22 21:52 linuxKernel
drwxr-xr-x 2 guest family 4096 2012-05-22 21:52 redhat
drwxr-xr-x 2 guest family 4096 2012-05-22 21:52 ubuntu

Wir sehen also, dass durch die Verwendung des Flags -H der Eigentümer/die Gruppe aller Dateien/Ordner geändert wurde.

12. Listet alle Änderungen auf, die durch den Befehl chown vorgenommen wurden

Verwenden Sie die ausführliche Option -v, die anzeigt, ob die Eigentümerschaft der Datei geändert oder beibehalten wurde, wie unten gezeigt.

# chown -v -R guest:friends linux
changed ownership of `linux/redhat/rh7' to guest:friends
changed ownership of `linux/redhat' retained to guest:friends
ownership of `linux/redhat_sym' retained as guest:friends
ownership of `linux/ubuntu_sym' retained as guest:friends
changed ownership of `linux/linuxKernel' to guest:friends
changed ownership of `linux/ubuntu/ub10' to guest:friends
ownership of `linux/ubuntu' retained as guest:friends
ownership of `linux' retained as guest:friends

Linux
  1. Linux-Befehle – Übersicht und Beispiele

  2. chgrp-Befehlsbeispiele in Linux

  3. mkdir- und rmdir-Befehlsbeispiele unter Linux

  4. Beispiele für die Befehle swapon und swapoff in Linux

  5. groupmems-Befehlsbeispiele in Linux

Linux Chown Command Tutorial für Anfänger (12 Beispiele)

Chown-Befehl in Linux (Dateibesitz ändern)

Linux Chgrp-Befehl mit Beispielen

20 praktische Beispiele für den Chown-Befehl unter Linux

Befehlsoptionen und Beispiele für den Tee-Befehl in Linux

Beispiele für chown-Befehle unter Linux