Wie erhalte ich die primäre Gruppe eines Benutzers?

13

Der folgende Befehl listet alle Gruppen von someUser(die primäre Gruppe und die ergänzenden Gruppen) auf:

groups someUser

Aber gibt es eine Möglichkeit, nur die primäre Gruppe zu erreichen?

user7681202
quelle
Ist die primäre Gruppe nicht zuerst aufgeführt?
Simlev

Antworten:

20

Versuchen Sie folgende Befehle

id -g

id -gn

Bruce
quelle
Einige offtopic, aber um den aktuellen Benutzernamen zu verwenden id -un.
Userlond
9

Siehe das FreeBSD- Handbuch (Informationen auch gültig für Linux):

Gruppen-ID (GID)

Die Gruppen-ID (Group ID, GID) ist eine Nummer, mit der die primäre Gruppe, zu der der Benutzer gehört, eindeutig identifiziert wird. Gruppen sind ein Mechanismus zum Steuern des Zugriffs auf Ressourcen basierend auf der GID eines Benutzers und nicht auf dessen UID. Dies kann die Größe einiger Konfigurationsdateien erheblich verringern und es Benutzern ermöglichen, Mitglieder mehrerer Gruppen zu sein. Es wird empfohlen, eine GID von 65535 oder niedriger zu verwenden, da höhere GIDs Software beschädigen können.

Wenn ja, Laufen id <username>zeigen gid=<primary group>:

id <username>
uid=1000(<username>) gid=1000(<username>) groups=1000(<username>),4(adm),24(cdrom),27(sudo)

Wenn der Befehl nur den primären Gruppennamen zurückgeben soll, lesen Sie man id:

   -g, --group
          print only the effective group ID

   -G, --groups
          print all group IDs

   -n, --name
          print a name instead of a number, for -ugG

Also, id -gn <username>solltest du geben, was du willst.

simlev
quelle
Dies sollte die akzeptierte Antwort sein. Vielen Dank :)
Grrigore