Як отримати первинну групу користувача?


15

У наступній команді будуть перераховані всі групи someUser(первинна група та додаткові групи):

groups someUser

Але чи є спосіб отримати лише первинну групу?


Чи не першочергова група перерахована першою?
simlev

Відповіді:


23

Спробуйте виконати наступні команди

id -g

id -gn


Деякі офтопіки, але для отримання поточного використання імені користувача id -un.
userlond

11

Дивіться посібник з FreeBSD (інформація також дійсна для Linux):

Ідентифікатор групи (GID)

Ідентифікатор групи (GID) - це число, яке використовується для однозначної ідентифікації первинної групи, до якої належить користувач. Групи - це механізм контролю доступу до ресурсів на основі GID користувача, а не їх UID. Це може значно зменшити розмір деяких файлів конфігурації та дозволяє користувачам бути членами більш ніж однієї групи. Рекомендується використовувати GID 65535 або нижче, оскільки вищі GID можуть порушити деяке програмне забезпечення.

Якщо так, біг id <username>покаже gid=<primary group>:

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

Якщо ви хочете, щоб команда повертала тільки назву первинної групи, див 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

значить, id -gn <username>повинен дати вам те, що ви хочете.


Це має бути прийнятою відповіддю. Дякую :)
grrigore
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.