In diesem Tutorial lernen wir, wie man eine Gruppe unter Linux mit groupadd erstellt Befehl.
Was ist eine Linux-Gruppe?
Eine Linux-Gruppe wird verwendet, um die Berechtigungen eines Benutzers zu verwalten. Wir können eine Reihe von Berechtigungen für eine Gruppe definieren, z. B. Lese- und Schreibzugriff auf eine bestimmte Ressource. Dann erhalten alle Benutzer in der Gruppe automatisch Zugriff auf diese Ressource.
Einfach ausgedrückt ist eine Gruppe eine Sammlung von Benutzern. Es hilft uns, einer Gruppe von Benutzern schnell Berechtigungen zu erteilen. Zum Beispiel ist „sudo“ eine Gruppe und jeder Benutzer in dieser Gruppe erhält automatisch die Superuser-Privilegien.
Wie erstelle ich eine Gruppe unter Linux?
Der Linux-Befehl groupadd wird verwendet, um eine Gruppe in Linux zu erstellen. Es ist ein Linux-spezifischer Befehl und kann für alle Distributionen wie Ubuntu, CentOS und Debian verwendet werden.
Linux groupadd-Befehlssyntax
Die groupadd-Befehlssyntax lautet:
groupadd [options] GROUP
Sehen wir uns einige Beispiele an, um die Verwendung des Befehls groupadd und seiner verschiedenen Optionen zu verstehen.
Linux-Erstellungsgruppe
Der Befehl groupadd kann vom Root-Benutzer oder als Superuser mit sudo-Berechtigungen ausgeführt werden.
root@localhost:~# groupadd test_users
Wenn die Gruppe erstellt wurde, gibt es keine Fehler- oder Erfolgsmeldung.
Die Gruppeninformationen werden in /etc/group
gespeichert Datei. Wir können diese Datei auf die neu erstellten Gruppeninformationen überprüfen.
root@localhost:~# cat /etc/group | grep test_users test_users:x:1004: root@localhost:~#
Die obige Zahl bezeichnet die Gruppen-ID, die ein ganzzahliger Wert ist. Wir können auch getent
verwenden Befehl, um die Gruppendetails abzurufen.
root@localhost:~# getent group test_users test_users:x:1004:journaldev root@localhost:~#
Fehler, wenn die Gruppe bereits existiert
Wenn die Gruppe bereits existiert, wird die Fehlermeldung angezeigt. Lassen Sie uns den obigen Befehl erneut ausführen.
root@localhost:~# groupadd test_users groupadd: group 'test_users' already exists root@localhost:~#
Erstellen einer Gruppe mit Gruppen-ID
Wir können die Gruppen-ID auch beim Erstellen der Gruppe mit der Option -g angeben.
root@localhost:~# groupadd -g 1005 test_users1 root@localhost:~# cat /etc/group | grep 1005 test_users1:x:1005: root@localhost:~#
Wenn die Gruppen-ID bereits verwendet wird, erhalten Sie eine Fehlermeldung.
root@localhost:~# groupadd -g 1005 test_users2 groupadd: GID '1005' already exists root@localhost:~#
Linux-Gruppe fügt Force-Success-Option hinzu
Wir können die Option -f oder –force angeben, um erfolgreich zu beenden, wenn die Gruppe bereits existiert.
root@localhost:~# groupadd -f test_users root@localhost:~#
Wenn wir eine Gruppe mit der Option Erfolg erzwingen erstellen und die Gruppen-ID bereits existiert, wird die Gruppen-ID ignoriert und die Gruppe erstellt.
root@localhost:~# groupadd -f -g 1005 test_users2 root@localhost:~# cat /etc/group | grep test_users2 test_users2:x:1006: root@localhost:~#
Beachten Sie, dass die Linux-Gruppe mit einer anderen Gruppen-ID erstellt wird, da wir die Option -f verwendet haben.
Linux-Gruppenhilfe
Wenn Sie Hilfe bei der Verwendung des Befehls groupadd benötigen, verwenden Sie die Option -h.
root@localhost:~# groupadd -h Usage: groupadd [options] GROUP Options: -f, --force exit successfully if the group already exists, and cancel -g if the GID is already used -g, --gid GID use GID for the new group -h, --help display this help message and exit -K, --key KEY=VALUE override /etc/login.defs defaults -o, --non-unique allow to create groups with duplicate (non-unique) GID -p, --password PASSWORD use this encrypted password for the new group -r, --system create a system account -R, --root CHROOT_DIR directory to chroot into --extrausers Use the extra users database root@localhost:~#
Linux groupadd -K Option
Wir können die Option -K verwenden, um die in der Datei /etc/login.defs vorhandenen GID_MIN- und GID_MAX-Werte zu überschreiben.
Dies bedeutet, dass die neue Gruppen-ID aus dem Bereich genommen wird, der mit der Option -K bereitgestellt wird. Sehen wir uns ein Beispiel an, um diese Funktion klar zu verstehen.
root@localhost:~# cat /etc/login.defs | grep GID GID_MIN 1000 GID_MAX 60000 root@localhost:~# root@localhost:~# groupadd -K GID_MIN=20000 -K GID_MAX=21000 test_users6 root@localhost:~# cat /etc/group | grep test_users6 test_users6:x:20000: root@localhost:~#
Wenn Sie sich die früheren Befehle ansehen, waren die zugewiesenen Gruppen-IDs nahe bei 1000. Aber im obigen Befehl groupadd ist die verwendete Gruppen-ID 20000.
Erstellen einer Gruppe mit Passwort
Wir können die Option -p verwenden, um eine Gruppe mit Passwort zu erstellen.
root@localhost:~# groupadd -p abc123 test_users_pwd root@localhost:~#
Aber ich habe es nie selbst benutzt oder niemanden gesehen, der es benutzt. Tatsächlich gibt die Manpage von gpasswd dies als Sicherheitsproblem an.
root@localhost:~# man gpasswd Notes about group passwords Group passwords are an inherent security problem since more than one person is permitted to know the password. However, groups are a useful tool for permitting co-operation between different users.'
Erstellen einer Systemgruppe
Wir können die Option -r verwenden, um eine Systemgruppe zu erstellen.
Es gibt keinen Unterschied zwischen einer normalen Gruppe und einer Systemgruppe. Der einzige Unterschied ist die Zuordnung der Gruppen-ID.
Für normale Gruppen werden die Gruppen-IDs von 1000 bis 60000 (Standardwert) vergeben. Für eine Systemgruppe ist die Gruppen-ID kleiner als 1000.
Auch hier hat die Gruppen-ID keine Bedeutung oder bietet keine zusätzlichen Berechtigungen.
root@localhost:~# groupadd -r system_group root@localhost:~# cat /etc/group | grep system_group system_group:x:999: root@localhost:~#
Beachten Sie, dass die zugewiesene Gruppen-ID 999 ist.
Schlussfolgerung
Wir können den Befehl groupadd verwenden, um Gruppen in Linux hinzuzufügen. Es ist ein sehr einfacher und allgemeiner Befehl, der mit allen Linux-Distributionen verwendet werden kann, um eine Gruppe zu erstellen.
Referenzen:
- StackExchange-Diskussion zu Anwendungsfällen für Gruppenkennwörter
- AskUbuntu-Diskussion zu Systemgruppen