Was ist der Unterschied zwischen den Optionen -g und -G in useradd?

7

Nachdem ich die Hilfe durchgesehen habe . Ich habe keinen großen Unterschied zwischen ihnen gefunden.

-g, --gid GROUP

Der Gruppenname oder die Nummer der anfänglichen Anmeldegruppe des Benutzers. Der Gruppenname muss vorhanden sein. Eine Gruppennummer muss sich auf eine bereits vorhandene Gruppe beziehen.

-G, --groups GROUP1 [, GROUP2, ... [, GROUPN]]]

Eine Liste zusätzlicher Gruppen, zu denen der Benutzer auch gehört. Jede Gruppe wird durch ein Komma von der nächsten getrennt, ohne dazwischenliegende Leerzeichen. Die Gruppen unterliegen denselben Einschränkungen wie die mit der Option -g angegebene Gruppe. Standardmäßig gehört der Benutzer nur zur ursprünglichen Gruppe.

Wenn sie gleich sind. Warum existieren beide?

Joe.wang
quelle

Antworten:

14

-gLegt die anfängliche oder primäre Gruppe fest. Dies wird im Gruppenfeld in angezeigt /etc/passwd. Bei vielen Distributionen entspricht der primäre Gruppenname dem Benutzernamen.

-GLegt die zusätzlichen oder zusätzlichen Gruppen fest. Dies sind die Gruppen in /etc/groupdieser Liste Ihres Benutzerkontos. Dies könnte Gruppen wie sudo, staffusw.

Roaima
quelle
Vielen Dank und schnelle Hilfe. @roaima Meinten Sie die primäre Gruppe ( -g) und sekundäre Gruppe ( -G)? Vielen Dank.
Joe.wang
@ Joe.wang ja. "Ergänzend", "sekundär" und "zusätzlich" sind Namen für dieselbe Sache. Kusalanandas Antwort zeigt dies ziemlich deutlich mit dem idBefehl, denke ich.
Roaima
7

Sie sind nicht gleich. Die -gOption gibt die "primäre" Gruppe an, zu der ein Benutzer gehören soll, während die -GOption eine oder mehrere zusätzliche ("sekundäre") Gruppen angibt.

Auf einer Arbeitsmaschine habe ich Zugriff auf die ich habe

$ id
uid=1001(me) gid=1001(me) groups=1001(me),27(sudo),110(lxd),1005(theproject)

Dies zeigt, dass meine "primäre" Gruppe me(wie mein Benutzername) ist. Ich bin jedoch auch Mitglied einer Reihe von sekundären Gruppen.

Die Mitgliedschaft in der sudoGruppe, zum Beispiel, ermöglicht es mir , die verwenden sudoBefehl scary stuff mit dem System zu tun, aufgrund der Art und Weise dies für so konfiguriert ist , sudoin /etc/sudoersauf dieser Maschine.

Durch die Mitgliedschaft in der theprojectGruppe kann ich gruppenlesbare / beschreibbare Dateien in einem Projekt ändern, an dem ich mit anderen arbeite.

Die erstellte Datei wird (normalerweise) automatisch der primären Gruppe zugewiesen.

Kusalananda
quelle
1

Die über angewendete Gruppe -gist die primäre Gruppe. Wenn Sie beispielsweise eine Datei erstellen, wird diese standardmäßig mit Ihrer primären Gruppe als der dieser Datei zugeordneten Gruppe erstellt. Sie können jedoch vorübergehend ändern, welche Gruppe standardmäßig mit den Befehlen sgoder verwendet wird newgrp. Alle Gruppen in der -Gsind sekundäre Gruppen. Mehr dazu hier

Zachary Brady
quelle