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

Chgrp-Befehl in Linux (Gruppe ändern)

Unter Linux ist jede Datei einem Eigentümer und einer Gruppe zugeordnet und verfügt über Berechtigungen, die festlegen, welche Benutzer die Datei lesen, schreiben oder ausführen dürfen.

In diesem Artikel wird die Verwendung von chgrp erläutert Befehl, um den Gruppenbesitz bestimmter Dateien zu ändern.

chgrp Befehlssyntax #

Die chgrp Der Befehl hat folgende Form:

chgrp [OPTIONS] GROUP FILE..
  • GROUP , Name der neuen Gruppe oder die Gruppen-ID (GID). Der numerischen GID muss + vorangestellt werden Symbol.
  • FILE.. , Name einer oder mehrerer Dateien.

Im Gegensatz zum chown Befehl, mit dem Sie den Benutzer- und Gruppenbesitz ändern können, chgrp ändert nur die Eigentümerschaft der Gruppe.

Um herauszufinden, zu welcher Gruppe die Datei gehört, verwenden Sie den ls -l Befehl.

Normale Benutzer können die Gruppe der Datei nur ändern, wenn sie Eigentümer der Datei sind, und nur zu einer Gruppe, in der sie Mitglied sind. Administratoren können den Gruppenbesitz aller Dateien ändern.

So ändern Sie den Besitz der Dateigruppe #

Um den Gruppenbesitz einer Datei oder eines Verzeichnisses zu ändern, rufen Sie chgrp auf Befehl gefolgt vom neuen Gruppennamen und der Zieldatei als Argumente.

Zum Beispiel, um die Gruppe der Datei filename zu ändern zu www-data Sie würden Folgendes ausführen:

chgrp www-data filename

Wenn Sie den Befehl mit einem nicht privilegierten Benutzer ausführen, erhalten Sie den Fehler „Vorgang nicht zulässig“. Um die Fehlermeldung zu unterdrücken, rufen Sie den Befehl mit dem -f auf Möglichkeit. Standardmäßig, bei Erfolg, chgrp erzeugt keine Ausgabe und gibt Null zurück.

Sie können auch mehrere Dateien als Argumente an chgrp übergeben Befehl:

chgrp www-data file1 file2 dir1

Verwenden Sie das -v Option, um Informationen über die verarbeiteten Dateien zu erhalten:

chgrp www-data file1 file2
changed group of 'file1' from nginx to www-data
group of 'file2' retained as www-data

Um nur Informationen über die Dateien auszugeben, deren Gruppe sich tatsächlich ändert, verwenden Sie -c statt -v .

Anstelle des Benutzernamens kann auch die numerische Gruppen-ID (GID) verwendet werden. Das folgende Beispiel ändert den Gruppenbesitz der Datei in eine neue Gruppe mit der GID 1000:

chgrp +1000 filename

Wenn nicht rekursiv gearbeitet wird, ist das Standardverhalten von chgrp Der Befehl besteht darin, den Gruppenbesitz der Symlink-Ziele zu ändern, nicht die symbolischen Links selbst.

Wenn Sie beispielsweise versuchen, die Gruppe des symbolischen Links symlink1 zu ändern das zeigt auf /opt/file1 , chgrp ändert den Eigentümer der Datei oder des Verzeichnisses, auf das der symbolische Link zeigt:

chgrp www-data symlink1

Die Chancen stehen gut, dass Sie, anstatt die Zielgruppe zu ändern, den Fehler „cannot dereference ‚symlink1‘:Permission denied“ erhalten.

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

Um den Gruppenbesitz des Symlinks selbst zu ändern, verwenden Sie -h Möglichkeit:

chgrp -h www-data symlink1

Wie man die Gruppeneigentümerschaft rekursiv ändert #

Um den Gruppenbesitz aller Dateien und Verzeichnisse in einem bestimmten Verzeichnis rekursiv zu ändern, verwenden Sie -R Option.

Beispielsweise ändert der folgende Befehl den Besitz aller Dateien und Verzeichnisse unter /var/www Verzeichnis zu den www-data Gruppe:

chgrp -R www-data /var/www

Wenn die rekursive Option angegeben ist chgrp wird die symbolischen Links nicht durchqueren und keine Änderungen an den symbolischen Links vornehmen. Um den Gruppenbesitz der symbolischen Links zu ändern, übergeben Sie -h Möglichkeit:

chgrp -hR www-data /var/www

Andere Optionen, die verwendet werden können, wenn der Gruppenbesitz rekursiv geändert wird, sind -H und -L .

Wenn das Argument an chgrp übergeben wird Befehl ist ein symbolischer Link, der -H Option bewirkt, dass der Befehl sie durchquert. -L sagt chgrp um jeden symbolischen Link zu einem gefundenen Verzeichnis zu durchlaufen. In den meisten Fällen sollten Sie diese Optionen nicht verwenden, da Sie Ihr System durcheinander bringen oder ein Sicherheitsrisiko darstellen könnten.

Schlussfolgerung #

chgrp ändert den Gruppenbesitz von Dateien, Verzeichnissen und symbolischen Links.

Obwohl Sie das beliebtere chown verwenden können Befehl zum Ändern der Gruppe, chgrp hat eine einfache Syntax, die leicht zu merken ist.

Weitere Informationen zu chgrp Befehl, rufen Sie die chgrp-Manpage auf oder geben Sie man chgrp ein in Ihrem Terminal.

Wenn Sie Fragen oder Feedback haben, können Sie gerne einen Kommentar hinterlassen.


Linux
  1. 5 Praktische Beispiele für den Befehl chgrp unter Linux

  2. Linux-IP-Befehl

  3. Linux-Befehl zum Umbenennen

  4. Linux-cd-Befehl

  5. chgrp-Befehlsbeispiele in Linux

W-Befehl unter Linux

Bei Befehl unter Linux

Linux-Chgrp-Befehl für Anfänger (5 Beispiele)

Linux Chgrp-Befehl mit Beispielen

Lernen Sie die Verwendung des Befehls chgrp (Change Group) in Linux

Lernen Sie die Verwendung des Befehls chgrp (Gruppe ändern) im Linux-System