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

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

Mit dem Befehl chown in Linux können Sie den Besitz von Dateien und Verzeichnissen ändern. Sie können sich zu Recht vorstellen, dass „chown“ die Abkürzung für „Eigentümer wechseln“ ist.

Wenn Ihnen diese Begriffe nicht bekannt sind, empfehle ich dringend, meinen erklärenden Artikel über Dateiberechtigungen und Eigentumsrechte in Linux zu lesen.

Hier ist ein Bild, um sich schnell daran zu erinnern:

Mit dem Befehl chown können Sie sowohl den Benutzer- als auch den Gruppenbesitz einer Datei oder eines Verzeichnisses ändern.

Beispiele für den chown-Befehl in Linux

So sieht die Syntax für den Befehl chown aus:

chown [options] user_spec files

Denken Sie daran, dass chown ein Verwaltungsbefehl ist und Sie daher root sein oder sudo-Rechte haben müssen, um Änderungen mit dem Befehl chown vorzunehmen. Ich hoffe, Sie wissen, wie man einen Sudo-Benutzer hinzufügt.

Andernfalls wird ein Fehler wie dieser angezeigt:

chown: changing ownership of 'agatha.txt': Operation not permitted

Sehen wir uns nun anhand von Beispielen an, wie der Befehl chown verwendet wird.

Hier ist der Beispielsatz, den ich verwenden werde:

-rw-r--r-- 1 abhishek abhishek  456 Jan 24 09:30 agatha.txt
drwxr-xr-x 2 abhishek abhishek 4096 Jan 24 09:31 mydir
drwxr-xr-x 3 abhishek abhishek 4096 Jan 24 09:30 new
-rw-r--r-- 1 abhishek abhishek  356 Jan 24 09:30 sherlock.txt

1. Ändern oder Festlegen des Benutzerbesitzes einer Datei

Um den Eigentümer einer Datei zu ändern, verwenden Sie den Befehl auf diese Weise:

sudo chown user_name file_name

Anstelle des Benutzernamens können Sie auch die UID (Benutzer-ID) verwenden. Hier ist ein Beispiel für die vorgenommenen Änderungen:

[email protected]:~/tutorial$ sudo chown prakash agatha.txt 
[email protected]:~/tutorial$ ls -l agatha.txt 
-rw-r--r-- 1 prakash abhishek 456 Jan 24 09:30 agatha.txt

Wie Sie sehen können, hat sich der Besitzer der Datei von „abhishek“ zu „prakash“ geändert, aber die Gruppe bleibt „abhishek“. Lassen Sie mich Ihnen zeigen, wie Sie sowohl die Eigentümerschaft von Benutzern als auch von Gruppen ändern können.

2. Ändern Sie den Benutzer- und Gruppenbesitz

Um den Benutzer- und Gruppenbesitz einer Datei zu ändern, können Sie die Gruppe mit dem Benutzernamen getrennt durch eine Spalte wie diese angeben:

sudo chown user_name:group_name file_name

Natürlich können Sie statt Benutzername bzw. Gruppenname auch UID und GID verwenden.

[email protected]:~/tutorial$ sudo chown prakash:adm sherlock.txt 
[email protected]:~/tutorial$ ls -l sherlock.txt 
-rw-r--r-- 1 prakash adm 356 Jan 24 09:30 sherlock.txt

Wie Sie im obigen Beispiel sehen können, habe ich den Benutzer der Datei sherlock.txt auf „prakash“ und die Gruppe auf „adm“ geändert.

3. Ändern Sie die Gruppe in die Standardgruppe eines Benutzers

Jeder Benutzer hat eine Standard- oder primäre Gruppe. Wenn der Benutzer eine neue Datei oder ein neues Verzeichnis erstellt, wird diese primäre Gruppe automatisch zum Gruppeneigentümer der Datei. Sie können die Standardgruppe eines Benutzers mit dem Befehl id auflisten.

Wenn Sie nun den Gruppenbesitz einer Datei auf die Standardgruppe eines Benutzers ändern möchten, sollten Sie einfach den Gruppennamen nach dem Doppelpunkt belassen.

sudo chown user_name: file_name

Wie Sie im folgenden Beispiel sehen können, ist der Eigentümer der sherlock.text-Datei „prakash ‘ und Gruppenbesitzer ‚adm ‘. Ich habe den Eigentümer in „abhishek“ geändert, aber den Gruppennamen nicht angegeben. Und doch hat es die Gruppe von „adm“ in die Standardgruppe „abhishek“ geändert.

[email protected]:~/tutorial$ ls -l sherlock.txt 
-rw-r--r-- 1 prakash adm 356 Jan 24 09:30 sherlock.txt
[email protected]:~/tutorial$ sudo chown abhishek: sherlock.txt 
[email protected]:~/tutorial$ id abhishek
uid=1000(abhishek) gid=1000(abhishek) groups=1000(abhishek),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare),999(docker)
[email protected]:~/tutorial$ ls -l sherlock.txt 
-rw-r--r-- 1 abhishek abhishek 356 Jan 24 09:30 sherlock.txt

4. Nur die Gruppe ändern

Wenn Sie nur die Gruppe ändern möchten, ohne vom Eigentümer des Benutzers gestört zu werden, können Sie den Befehl chown wie folgt verwenden:

sudo chown :group_name file_name

Im folgenden Beispiel setze ich den Gruppenbesitz auf sudo, ohne den Benutzerbesitz zu berühren:

[email protected]:~/tutorial$ ls -l agatha.txt 
-rw-r--r-- 1 prakash abhishek 456 Jan 24 09:30 agatha.txt
[email protected]:~/tutorial$ sudo chown :sudo agatha.txt 
[email protected]:~/tutorial$ ls -l agatha.txt 
-rw-r--r-- 1 prakash sudo 456 Jan 24 09:30 agatha.txt

5. Benutzer- und Gruppenbesitz eines Verzeichnisses rekursiv ändern

In allen oben genannten Befehlen können Sie Datei durch Verzeichnis ersetzen, und es funktioniert genauso, wenn Sie den Eigentümer des Verzeichnisses ändern.

Das einzige Problem dabei ist, dass der Besitz des Inhalts innerhalb des Verzeichnisses standardmäßig nicht geändert wird.

Um den Eigentümer des Verzeichnisses zusammen mit allen Inhalten innerhalb des Verzeichnisses zu ändern, können Sie die rekursive Option -R.

verwenden
sudo chown -R user_name:group_name directory_name

6. Legen Sie denselben Benutzer- und Gruppenbesitz als Referenzdatei fest

Sie können eine Datei als Referenz verwenden und den Benutzer- und Gruppenbesitz einer Datei basierend auf der Referenzdatei folgendermaßen ändern:

sudo chown --reference=file1.txt file2.txt

Im Beispiel unten wurde die Datei agatha.txt als Referenz verwendet. Und wie Sie sehen können, wurde der Besitz von sherlock.txt auf der Grundlage von agatha.txt geändert.

[email protected]:~/tutorial$ ls -l agatha.txt sherlock.txt 
-rw-r--r-- 1 prakash  sudo     456 Jan 24 09:30 agatha.txt
-rw-r--r-- 1 abhishek abhishek 356 Jan 24 09:30 sherlock.txt
[email protected]:~/tutorial$ sudo chown --reference=agatha.txt sherlock.txt
[email protected]:~/tutorial$ ls -l agatha.txt sherlock.txt 
-rw-r--r-- 1 prakash sudo 456 Jan 24 09:30 agatha.txt
-rw-r--r-- 1 prakash sudo 356 Jan 24 09:30 sherlock.txt

Ich denke, Sie haben genug Beispiele für den Befehl chown, um ihn zu verstehen. Weitere Einzelheiten finden Sie jederzeit in der Manpage von chown.

Wenn Sie Fragen oder Anregungen haben, lassen Sie es mich wissen.


Linux
  1. Was ist ein Chown-Befehl unter Linux und wie wird er verwendet?

  2. So verwenden Sie den Su-Befehl unter Linux

  3. So verwenden Sie den Befehl chmod (Modus ändern) unter Linux

  4. Verwendung von Chown in Ubuntu

  5. Wie kann ich die Standardgruppe eines Benutzers in Linux ändern?

So ändern Sie das Benutzerkennwort in Linux

Chown-Befehl in Linux (Dateibesitz)

Chown-Befehl in Linux (Dateibesitz ändern)

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

So ändern Sie den Benutzer unter Linux

So verwenden Sie den ulimit-Befehl unter Linux