Bei Linux-Berechtigungen sind alle Dateien, einschließlich Verzeichnisse, dem Benutzer- und Gruppenbesitz zugeordnet. Darüber hinaus bestimmen die Datei und Verzeichnisse und normalerweise zugewiesene Berechtigungen, die Zugriffsrechte wie Lesen, Schreiben und Ausführen bestimmen, die letztendlich bestimmen, wer welche Zugriffsrechte hat.
In diesem Tutorial zeige ich Ihnen, wie Sie den Gruppenbesitz einer Datei oder eines Verzeichnisses mit dem Befehl chgrp ändern. Der Linux-Befehl zum Ändern der Gruppe, der als chgrp
bekannt ist wird verwendet, um den Gruppennamen zu ändern, zu dem eine Datei oder ein Verzeichnis gehört. Im Gegensatz zum chown-Befehl, bei dem Sie sowohl den Benutzer- als auch den Gruppennamen angeben müssen, chgrp
erfordert nur die Gruppe.
Syntax für den Befehl chgrp
Die Syntax zum Ändern der Gruppe, zu der eine Datei gehört, ist recht einfach. Rufen Sie einfach chgrp
auf Befehl und definieren Sie danach den Gruppennamen gefolgt vom Objektnamen.
$ chgrp OPTION group_name /path/to/file or directory
Das Attribut group_name stellt die neue Gruppe dar, die die Datei oder das Verzeichnis erwerben wird. Zusätzlich können Sie anstelle des Gruppennamens die GID (Gruppen-ID) angeben. In diesem Fall müssen Sie die GID mit einem Pluszeichen (+) anhängen.
Ändern Sie die Gruppe einer Datei mit dem Befehl chgrp
In diesem Abschnitt sehen wir uns an, wie Sie den Gruppenbesitz einer Datei ändern können. Bevor Sie die Gruppe einer Datei mit dem Befehl chgrp ändern, sollten Sie zunächst die aktuelle Gruppe überprüfen, zu der die Datei gehört. Dies kann einfach mit dem Befehl ls erreicht werden, um die Dateiberechtigungen der Datei wie gezeigt auszudrucken:
$ ls -l
Das folgende Beispiel gibt die Dateiberechtigungen einer Datei mit dem Namen settings.py
aus innerhalb des docs-Verzeichnisses.
In der obigen Ausgabe gehört die Datei dem Benutzer „Winnie“ und der Gruppe „Winnie“. Um die Gruppe der Datei beispielsweise von „Winnie“ in die Gruppe „linoxide“ zu ändern, führen Sie den Befehl chgrp wie gezeigt aus:
$ chgrp linoxide settings.py
In den meisten Fällen werden Sie jedoch beim Ändern der Gruppe einer Datei oder eines Verzeichnisses als normaler Benutzer auf einen chgrp operation not permitted
stoßen Fehler, wie im Bild unten angezeigt. Der Fehler weist darauf hin, dass der Benutzer nicht über ausreichende Berechtigungen verfügt, um den Gruppenbesitz der Datei zu ändern.
Eine Problemumgehung für diese Herausforderung besteht darin, den regulären Benutzer zur sudoers-Gruppe hinzuzufügen und den sudo-Befehl wie unten gezeigt aufzurufen:
$ sudo chgrp linoxide settings.py
Aus der obigen Ausgabe können wir ersehen, dass wir die Gruppe erfolgreich in „linoxide“ geändert haben, nachdem wir den sudo-Befehl aufgerufen und das Passwort übermittelt haben.
Außerdem können Sie mehrere Dateien als Argumente angeben, wenn Sie den Befehl chgrp wie folgt verwenden:
$ sudo chgrp group_name file_1 file_2 file_3
Im Beispiel unten haben wir 3 Dateien:settings.py
, file1.txt
und file2.txt
alle gehören zur Gruppe 'Winnie'. Lassen Sie uns nun den Gruppenbesitz auf „Linoxide“ ändern. Die Syntax lautet:
$ sudo chgrp linoxide settings.py file1.txt file2.txt
Gruppenbesitz rekursiv ändern
Manchmal müssen Sie möglicherweise die Gruppe aller Dateien und Unterverzeichnisse eines Verzeichnisses rekursiv ändern. Um den Gruppennamen rekursiv zu ändern, verwenden Sie -R
Flag, wie in der folgenden Syntax gezeigt.
$ sudo chgrp group-name directory
Zum Beispiel, um den Besitz von /var/www/html/nextcloud
zu ändern Verzeichnis und seinen Inhalt in www-data group
, führen Sie den folgenden Befehl aus:
$ sudo chgrp -R www-data /var/www/html/nextcloud
Gruppeneigentum an symbolischen Links ändern
Bei Verwendung der rekursiven Option werden die symbolischen Links nicht durchlaufen, und daher behalten die symbolischen Links ihren Gruppenbesitz. Um den Gruppenbesitz auf die symbolischen Links anzuwenden, übergeben Sie -h
Parameter wie gezeigt:
$ sudo chgrp -Rh www-data /var/www/html/nextcloud
Schlussfolgerung
In diesem Tutorial haben wir Sie durch die chgrp
geführt Befehl unter Linux. Während Sie dasselbe mit dem chown-Befehl erreichen können, bietet der chgrp-Befehl einen viel einfacheren Weg, dies zu tun.
Einige mögen fragen, warum wir chgrp haben, wenn der Befehl chown existiert. Der Chgrp-Code wurde viel älter erstellt, Chown konnte anfangs keine Gruppe einrichten.
Hinweis:Chown ändert nur die Gruppe chown :group
ist auf vielen Plattformen immer noch nicht portierbar oder Standard.
Danke fürs Lesen und geben Sie bitte Ihr Feedback im Kommentarbereich unten ab.