Jak zdobyć podstawową grupę użytkownika?

15

Następujące polecenie wyświetli listę wszystkich grup someUser(grupy podstawowej i grup dodatkowych):

groups someUser

Ale czy jest sposób na zdobycie tylko grupy podstawowej?

użytkownik7681202
źródło
Czy grupa podstawowa nie jest wymieniona jako pierwsza?
simlev 12.12.17

Odpowiedzi:

23

Spróbuj wykonać następujące polecenia

id -g

id -gn

Bruce
źródło
Niektóre offtopic, ale aby uzyskać bieżącą nazwę użytkownika, użyj id -un.
userlond
11

Zobacz podręcznik FreeBSD (informacje obowiązują również w systemie Linux):

ID grupy (GID)

Identyfikator grupy (GID) to liczba używana do jednoznacznej identyfikacji grupy podstawowej, do której należy użytkownik. Grupy są mechanizmem kontrolującym dostęp do zasobów na podstawie GID użytkownika, a nie jego UID. Może to znacznie zmniejszyć rozmiar niektórych plików konfiguracyjnych i umożliwia użytkownikom członkostwo w więcej niż jednej grupie. Zaleca się stosowanie GID 65535 lub niższego, ponieważ wyższe GID mogą uszkodzić niektóre oprogramowanie.

Jeśli tak, uruchomienie id <username>pokaże gid=<primary group>:

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

Jeśli chcesz, aby polecenie zwróciło tylko nazwę grupy podstawowej, zobacz 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

więc id -gn <username>powinien dać ci to, czego chcesz.

simlev
źródło
To powinna być zaakceptowana odpowiedź. Dziękuję :)
grrigore