Einführung
Die chgrp
Der Befehl ändert den Besitz eines Verzeichnisses oder einer Datei in Linux. Jede Datei ist einem Besitzer oder einer Gruppe zugeordnet und hat Regeln, die definieren, welche Benutzer oder Gruppen die Datei lesen, schreiben oder ausführen können.
In diesem Tutorial lernen Sie, wie Sie chgrp
verwenden Befehl zum Ändern des Gruppenbesitzes einer Datei.
Voraussetzungen
- Ein System, auf dem Linux ausgeführt wird
- Ein Benutzerkonto mit sudo-Berechtigungen
- Zugriff auf ein Terminal (Strg+Alt+T )
Was ist der chgrp-Befehl?
Die chgrp
Der Befehl (Gruppe ändern) ändert den Gruppennamen, zu dem eine Datei oder ein Verzeichnis gehört. Jede Datei in Linux wird von einem Benutzer erstellt, während jeder Benutzer Gruppen angehört. Durch die Änderung des Gruppenbesitzes einer Datei ändern sich auch die Zugriffs- und Änderungsberechtigungen für eine Datei.
Da die chgrp
Der Befehl erfordert Superuser-Berechtigungen. Denken Sie daran, den Befehl mit sudo
auszuführen Präfix für die ordnungsgemäße Ausführung.
Chgrp-Befehlssyntax erklärt
Die chgrp
Befehlssyntax ist:
chgrp [OPTION] [GROUP_NAME] [DIRECTORY/FILE_NAME]
[OPTION]
- Zusätzliche Optionen. Sie können den Befehl auch ohne sie verwenden.[GROUP_NAME]
- Die Gruppe, der Sie die Datei zuweisen möchten.[DIRECTORY/FILE_NAME]
- Das Zielverzeichnis/die Zieldatei.
Die [OPTIONS]
sind:
OPTION | BESCHREIBUNG |
---|---|
-f , --silent , --quiet | Führt den Befehl aus, ohne Fehlermeldungen anzuzeigen. |
-v , --verbose | Gibt die Aktionsdetails für jede verarbeitete Datei aus. |
-c , --changes | Ähnlich wie --verbose , meldet sich aber nur, wenn eine Änderung vorgenommen wird. |
--dereference | Wirkt sich eher auf den Referenten jedes symbolischen Links aus als auf den symbolischen Link selbst. |
-h , --no-dereference | Betrifft symbolische Links anstelle von referenzierten Dateien. Verwenden Sie diese Option nur auf Systemen, die den Besitz eines Symlinks ändern können. |
--no-preserve-root | Behandelt '/' nicht besonders (Standardeinstellung). |
--preserve-root | Kann nicht rekursiv mit '/' arbeiten. |
--reference=RFILE | Ändert den Gruppennamen einer Datei in den Gruppennamen der referenzierten Datei. |
-R , --recursive | Bearbeitet Dateien und Verzeichnisse rekursiv. |
-H | Wenn ein Befehlszeilenargument ein symbolischer Link zu einem Verzeichnis ist, durchläuft es dieses. Wird in Kombination mit dem -R verwendet Möglichkeit. |
-L | Durchläuft bei einer rekursiven Traversierung jeden symbolischen Link zu einem gefundenen Verzeichnis. Wird in Kombination mit dem -R verwendet Möglichkeit. |
-P | Traversiert keine symbolischen Links. Dies ist die Standardeinstellung, wenn -H , -L , oder -P sind nicht angegeben. Wird in Kombination mit dem -R verwendet Möglichkeit. |
--help | Zeigt die Hilfedatei an und beendet sich. |
--version | Gibt Versionsinformationen aus und beendet sich. |
Der [GROUP_NAME]
Das Attribut ist die neue Gruppe, die die Datei oder das Verzeichnis bei der Ausführung erhält. Sie können auch die Gruppen-ID angeben (GID ) anstelle des Gruppennamens, indem Sie ihn mit dem + anhängen unterschreiben.
Der [DIRECTORY/FILE_NAME]
ist das Zielverzeichnis oder der Dateiname, dessen Gruppenzugehörigkeit Sie ändern möchten.
Sie können überprüfen, zu welcher Gruppe eine Datei oder ein Verzeichnis gehört, indem Sie den folgenden Befehl ausführen:
ls -l
Die Ausgabe listet den Gruppenbesitz wie im Bild unten auf:
In dieser Ausgabe wird die Datei ls
Der Befehl zeigt die Details jeder Datei und jedes Unterverzeichnisses an, die im phoenixNAP-Verzeichnis enthalten sind. Der Besitzer und die Gruppe jeder Datei und jedes Verzeichnisses hier ist bosko .
chgrp-Befehl:5 Beispiele
Sehen Sie sich fünf Beispiele zur Verwendung von chgrp
an Befehl. Unten finden Sie Befehle und Beispielausgaben zum Ändern des Eigentums einer Verzeichnisgruppe, zum Ändern des Gruppeneigentums, damit es mit einer Referenzdatei übereinstimmt, zum Anzeigen von Ausführungsdetails und zum Ausblenden von Befehlsfehlern.
Verzeichnisgruppe ändern
Wenn Sie den Besitz einer Verzeichnisgruppe ändern möchten, setzen Sie den Verzeichnisnamen anstelle von [FILE_NAME]
ein Attribut im Befehl:
chgrp [GROUP_NAME] [DIRECTORY_NAME]
Sehen Sie sich den Gruppennamen des Verzeichnisses Beispiel an vor und nach der Verwendung von chgrp
Befehl. Die Gruppe des Verzeichnisses wurde von der Standardeinstellung bosko geändert zu phoenixnap mit dem Befehl:
sudo chgrp phoenixnap example
Gruppenbesitz rekursiv ändern
Das -R
Mit der Option können Sie den Gruppenbesitz eines Verzeichnisses, aller seiner Unterverzeichnisse und aller darin enthaltenen Inhalte rekursiv ändern. Die Syntax lautet:
sudo chgrp -R [GROUP_NAME] [DIRECTORY_NAME]
Beispielsweise ändert der folgende Befehl die Gruppenzugehörigkeit des example Verzeichnis und alle seine Dateien:
sudo chgrp -R phoenixnap example
In der obigen Abbildung sehen Sie diese Dateien in einem Unterverzeichnis von example habe auch phoenixnap Gruppenbesitz.
Ändern Sie die Gruppe, um mit der Referenzdatei übereinzustimmen
Wenn Sie die Gruppe einer Datei ändern möchten, damit sie mit der Gruppe einer anderen Referenzdatei übereinstimmt verwenden Sie die folgende Syntax:
chgrp [OPTION] --reference=[RFILE_NAME] [FILE_NAME]
Der [RFILE_NAME]
syntax ist der Name der Referenzdatei, während [FILE_NAME]
ist der Name der Zieldatei.
Zum Beispiel, um den Gruppenbesitz der Datei atom_273.snap zu ändern identisch mit dem des Tests sein Datei würden Sie Folgendes ausführen:
sudo chgrp --reference=test atom_273.snap
Ausführungsdetails von chgrp anzeigen
Das -c
Option ermöglicht es Benutzern, eine Liste der Änderungen anzuzeigen chgrp
gemacht hat, um jede Datei angegeben. Die Liste ist hilfreich, wenn Sie sicherstellen möchten, dass die Änderungen korrekt sind. Um die angewendeten Änderungen anzuzeigen, verwenden Sie den Befehl:
sudo chgrp -c -R [GROUP_NAME] [DIRECTORY/FILE_NAME]
Um die Änderungen aufzulisten, die in unserem Beispiel vorgenommen wurden Verzeichnis würden wir ausführen:
sudo chgrp -c -R bosko example
In diesem Fall haben wir die Gruppe des Beispiels geändert Verzeichnis und alle darin enthaltenen Dateien und chgrp
listet alle Änderungen auf, sobald sie aufgetreten sind.
Chgrp-Befehlsfehler ausblenden
Das -f
Mit der Option können Benutzer potenzielle Fehlermeldungen beim Ausführen von chgrp
unterdrücken Befehl. Die Syntax zum Ausblenden von Befehlsfehlern lautet:
sudo chgrp -f [GROUP_NAME] [DIRECTORY/FILE_NAME]
Hier haben wir zum Beispiel chgrp
verwendet Befehl für eine nicht vorhandene Datei:
sudo chgrp phoenixnap nonexistentfile
Die Ausgabe zeigt an, dass auf die Datei nicht zugegriffen werden kann, da es keine solche Datei oder kein solches Verzeichnis gibt.
Führen Sie jedoch denselben Befehl mit -f
aus Option unterdrückt diesen Fehler: