In früheren Artikeln haben Sie die Befehle groupadd und groupdel kennengelernt. In diesem Tutorial lernen Sie den Befehl groupmod kennen.
Der Befehl groupmod in Linux modifiziert die angegebene Gruppe, indem er ihren Namen oder die Gruppen-ID (GID) ändert.
Die Syntax des Befehls lautet:
groupmod [options] GROUP
Das Ändern der Gruppe ist eine administrative Aufgabe, deshalb müssen Sie ein sudo-Benutzer sein oder das Root-Konto verwenden, um diesen Befehl auszuführen.
Ich werde sudo hier in Beispielen für groupmod-Befehle verwenden.
Ändere den Gruppennamen mit dem groupmod-Befehl
Wenn Sie den Namen einer Gruppe ändern möchten, können Sie dies folgendermaßen tun:
sudo groupmod -n new_groupname old_groupname
Das Gute daran ist, dass, obwohl Sie den Gruppennamen geändert haben, dies keine Dateien betrifft, die der Gruppe gehören.
Sehen wir es uns anhand realer Beispiele an.
Hier ist also eine Datei, die dem Benutzer abhishek und der Gruppe test_group.
gehört[email protected]:~$ ls -l ab.txt
-rw-r--r-- 1 abhishek test_group 0 Feb 24 16:39 ab.txt
Wenn ich jetzt den Gruppennamen von test_group in testgroup ändere (den Unterstrich aus dem Namen entferne)
[email protected]:~$ sudo groupmod -n testgroup test_group
Es „ändert“ den Gruppenbesitz der Datei, um den neuen Gruppennamen widerzuspiegeln:
[email protected]:~$ ls -l ab.txt
-rw-r--r-- 1 abhishek testgroup 0 Feb 24 16:39 ab.txt
Tatsächlich bleibt die Gruppen-ID gleich, obwohl der Gruppenname geändert wurde. Sehen wir uns an, wie die Gruppen-ID geändert wird.
Gruppen-ID mit groupmod-Befehl ändern
Sie können die GID einer Gruppe folgendermaßen ändern:
sudo groupmod -g GID groupname
Nun, dies ist eine riskante Änderung und sollte vermieden werden. Erstens werden keine Überprüfungen bezüglich der Login-Defs wie GID_MIN-, GID_MAX-, SYS_GID_MIN-, SYS_GID_MAX-Werte durchgeführt, um Systemgruppen und normale Gruppen zu unterscheiden.
Zweitens und wichtiger ist, dass die Dateien, die der Gruppe gehören, im Gruppenbesitz einer nicht existierenden Gruppe verbleiben.
Sehen Sie es im Beispiel unten, wo ich die Gruppen-ID von group testing auf 1020 geändert habe und die Datei, die dieser Gruppe gehört, immer noch die alte GID widerspiegelt.
[email protected]:~$ ls -l a.txt
-rw-r--r-- 1 abhishek testing 57 Feb 24 15:57 a.txt
[email protected]:~$ sudo groupmod -g 1020 testing
[email protected]:~$ ls -l a.txt
-rw-r--r-- 1 abhishek 1008 57 Feb 24 15:57 a.txt
Falls Sie sich fragen, können Sie die GID in der Datei /etc/group sehen. Sie können auch den id-Befehl verwenden, um GID, UID und andere Details anzuzeigen.
Ich hoffe, Sie haben ein besseres Verständnis des groupmod-Befehls für die Gruppenverwaltung in Linux. Fragen oder Anregungen sind willkommen.