Der Linux-Befehl groupdel wird verwendet, um eine Gruppe zu löschen. Dies ist ein sehr mächtiger Befehl, verwenden Sie ihn also mit Bedacht. Es ist ein gängiger Linux-Befehl und Sie können ihn in allen Linux-Distributionen wie Ubuntu, CentOS, Debian, Fedora usw. verwenden.
Sehen wir uns einige Beispiele für das Löschen einer Gruppe in Linux mit dem Befehl groupdel an.
Linux-Gruppe ohne Benutzer löschen
Für das Beispiel habe ich bereits einige Gruppen und einen Testbenutzer erstellt. Schauen wir uns das einfache Beispiel an, um eine Gruppe zu löschen, die keine Benutzer hat.
root@localhost:~# getent group test_users1 test_users1:x:1005: root@localhost:~# root@localhost:~# groupdel test_users1 root@localhost:~# getent group test_users1 root@localhost:~#
Löschen einer Gruppe mit Benutzern
Ich habe eine Gruppe test_users
erstellt und journaldev
hinzugefügt Benutzer dazu. Lassen Sie uns dies mit getent
bestätigen und id
Befehle.
root@localhost:~# getent group test_users test_users:x:1004:journaldev root@localhost:~# root@localhost:~# id journaldev uid=1002(journaldev) gid=1003(journaldev) groups=1003(journaldev),27(sudo),1004(test_users),1007(test_users_pwd) root@localhost:~#
Mal sehen, was passiert, wenn wir diese Gruppe löschen.
root@localhost:~# groupdel test_users root@localhost:~# id journaldev uid=1002(journaldev) gid=1003(journaldev) groups=1003(journaldev),27(sudo),1007(test_users_pwd) root@localhost:~# getent group test_users root@localhost:~#
Die Gruppe wird gelöscht und aus der Benutzergruppenliste entfernt.
Können wir die Systemgruppe mit dem Befehl groupdel löschen?
Können wir eine Gruppe auf Systemebene mit dem Befehl groupdel entfernen?
Versuchen wir, sudo
zu entfernen gruppieren Sie mit dem Befehl groupdel und sehen Sie, was passiert.
root@localhost:~# groupdel sudo root@localhost:~# id journaldev uid=1002(journaldev) gid=1003(journaldev) groups=1003(journaldev),1007(test_users_pwd) root@localhost:~# getent group sudo root@localhost:~#
Sieht so aus, als könnten wir die Benutzergruppe „sudo“ entfernen. Mal sehen, was mit den Superuser-Rechten des Benutzers passiert.
root@localhost:~# su - journaldev journaldev@localhost:~$ journaldev@localhost:~$ ls /root ls: cannot open directory '/root': Permission denied journaldev@localhost:~$ sudo ls /root [sudo] password for journaldev: journaldev is not in the sudoers file. This incident will be reported. journaldev@localhost:~$
Sieht so aus, als würden auch die sudo-Berechtigungen entfernt, was offensichtlich ist, weil wir die „sudo“-Gruppe selbst entfernt haben.
Primäre Gruppe eines Benutzers löschen
Wenn wir einen neuen Benutzer erstellen, wird auch eine neue Gruppe mit demselben Namen erstellt und diesem zugewiesen. Dies wird als primäre Gruppe des Benutzers bezeichnet.
Mal sehen, ob wir die primäre Gruppe des Benutzers entfernen können?
root@localhost:~# groupdel journaldev groupdel: cannot remove the primary group of user 'journaldev' root@localhost:~#
Schauen wir uns die Hilfeoption an, um zu sehen, ob es eine Möglichkeit gibt, diese Fehlermeldung zu umgehen?
root@localhost:~# groupdel -h Usage: groupdel [options] GROUP Options: -h, --help display this help message and exit -R, --root CHROOT_DIR directory to chroot into -f, --force delete group even if it is the primary group of a user root@localhost:~#
Die Ausgabe besagt eindeutig, dass wir die Option -f verwenden können, um die primäre Gruppe des Benutzers zu löschen.
root@localhost:~# groupdel -f journaldev root@localhost:~# id journaldev uid=1002(journaldev) gid=1003 groups=1003 root@localhost:~#
Wir konnten die primäre Gruppe des Benutzers entfernen. Aber die „gid=1003“ wird immer noch in den Benutzerinformationen angezeigt. Ich verstehe also nicht, was der Anwendungsfall für diese Funktion ist.
Linux-Groupdel-Befehlsexit-Werte
Wenn Sie den Befehl groupdel in einem Shell-Skript verwenden, ist es besser, die Exit-Werte zu kennen, um zu überprüfen, ob der Befehl ordnungsgemäß ausgeführt wurde oder ein Fehler aufgetreten ist.
Ausgangswert | Beschreibung |
0 | Erfolg |
2 | ungültige Befehlssyntax |
6 | die Gruppe existiert nicht |
8 | Kann primäre Benutzergruppe nicht löschen |
10 | Gruppeninformationsdateien können nicht aktualisiert werden |
Schlussfolgerung
Der Linux-Befehl groupdel ist sehr leistungsfähig und kann auch Systemgruppen entfernen. Wenn Sie diesen Befehl verwenden, um eine Gruppe zu entfernen, seien Sie bitte besonders vorsichtig, da er nicht rückgängig gemacht werden kann und große Probleme verursachen kann, wenn die Gruppe viele Benutzer hat.
Referenz
- groupdel Manpage