Команда id

Команда id предназначена для вызова одноименной утилиты, осуществляющей вывод информации об учетной записи пользователя. Данная утилита позволяет получать информацию об идентификаторе учетной записи пользователя и ее имени, идентификаторе основной группы пользователя и ее названии, идентификаторах остальных групп пользователя и их названиях, а также о контексте SELinux, связанном с его учетной записью.

Базовый синтаксис команды выглядит следующим образом:

$ id [параметры] [имя пользователя]

При использовании утилиты без параметров и имени пользователя она выведет информацию об идентификаторе учетной записи вызвавшего ее пользователя, идентификаторе и названии его основной группы, а также идентификаторах и названиях его остальных групп. В случае указания имени пользователя она выведет аналогичную информацию, касающуюся этого пользователя, причем права суперпользователя не потребуются. При этом утилита поддерживает параметр -u, позволяющий вывести лишь идентификатор учетной записи пользователя, параметр -g, позволяющий вывести лишь идентификатор основной группы пользователя, параметр -G, позволяющий вывести лишь идентификаторы остальных групп пользователей, параметр -n, сочетающийся с предыдущими параметрами и позволяющий выводить имена учетных записей пользователей или названия групп вместо их идентификаторов, параметр -r, сочетающийся с двумя первыми параметрами и позволяющий выводить реальные идентификаторы учетных записей пользователей и групп вместо эффективных, а также параметр -Z, позволяющий вывести информацию о контексте SELinux, связанным с учетной записью пользователя.

Примеры использования

Вывод информации об учетной записи текущего пользователя

Для вывода информации об учетной записи текущего пользователя следует использовать команду id без каких-либо параметров:

$ id uid=1000(alex) gid=1000(alex) группы=1000(alex),4(adm),20(dialout),24(cdrom), 27(sudo),30(dip),46(plugdev),118(lpadmin),129(sambashare)

В данном выводе в разделе uid представлена информация об учетной записи пользователя, в разделе gid — информация об его основной группе, в разделе группы — информация об его остальных группах.

Вывод информации об учетной записи пользователя с заданным именем

Для вывода информации об учетной записи пользователя с с заданным именем нужно использовать команду id и передать ей имя интересующего вас пользователя:

$ id gdm
uid=123(gdm) gid=128(gdm) группы=128(gdm)

Вывод полностью аналогичен предыдущему примеру, за исключением того, что в данном случае была выведена информация о системном пользователе.

Вывод идентификаторов и имен учетной записи и групп пользователя

Для вывода идентификаторов и учетной записи и групп пользователя следует использовать параметры -u, -g и -G. При необходимости вывода имен вместо идентификаторов следует добавить параметр -n:

$ id -u
1000
$ id -g
1000
$ id -G
1000 4 20 24 27 30 46 118 129
$ id -u -n
alex
$ id -g -n
alex
$ id -G -n
alex adm dialout cdrom sudo dip plugdev lpadmin sambashare

Данные параметры полезны для создания сценариев, предназначенных для управления учетными записями пользователей.

Вывод информации о контексте SELinux, связанном с учетной записью пользователя

Для вывода информации о контексте безопасности SELinux, связанном с учетной записью пользователя, следует использовать параметр -Z:

$ id -Z
id: --context (-Z) работает только для ядер с поддержкой SELinux

Данная функция работает лишь в системах, использующих SELinux, таких, как Fedora Workstation. В случае Ubuntu и Linux Mint выводится представленное выше сообщение об ошибке.