id это утилита командной строки, которая печатает реальные и эффективные идентификаторы пользователей и групп.
Использование команды id
Синтаксис команды id следующий:
id [OPTIONS] [USERNAME]
Если имя пользователя опущено, команда id отображает информацию о текущем вошедшем в систему пользователе.
При вызове без какой-либо опции, команда id печатает реальный идентификатор пользователя (uid), реальный идентификатор основной группы пользователя (gid) и реальные идентификаторы дополнительных групп (groups), к которым принадлежит пользователь. Эффективный идентификатор пользователя, идентификатор группы и дополнительные идентификаторы группы печатаются только тогда, когда они отличаются от реальных.
id
uid=1000(andreyex) gid=1000(andreyex) groups=1000(andreyex),4(adm),27(sudo),998(docker)
Если SELinux включен, то id также печатает контекст безопасности пользователя (context):
uid=1000(andreyex) gid=1000(andreyex) groups=1000(andreyex) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Чтобы получить информацию о другом пользователе, передайте имя пользователя или идентификатор пользователя в качестве аргумента команды id:
id mark
uid=1001(mark) gid=1001(mark) groups=1001(mark),998(docker)
В случае, если в системе существует пользователь с именем, совпадающим с указанным ID, поиск имени имеет приоритет. При использовании идентификатора пользователя в качестве аргумента перед идентификатором ставьте +символ перед символом, чтобы избежать его интерпретации как имени.
Например, если у вас есть пользователь с именем 1010и другой пользователь с идентификатором 1010, при вводе команды id 1010 отобразится информация о пользователе с именем 1010. Чтобы получить информацию о пользователе с идентификатором 1010, введите id +1010.
Параметры команды id
Команда id принимает несколько параметров, которые позволяют отображать только конкретную информацию. Это полезно при использовании id в скриптах оболочки.
Чтобы распечатать только эффективный идентификатор пользователя, используйте параметр -u( –user):
id -u
1000
Опция -g( –group) заставляет id печатать только эффективный идентификатор группы:
id -g
1000 4 27 998
Используйте опцию -G( –groups) для печати эффективных идентификаторов всех групп, к которым принадлежит пользователь:
id -G
1000
Чтобы напечатать имена вместо цифр использовать вариант -n, –name. Эта опция может использоваться только в сочетании с -u, -g и -G.
id -un
andreyex
Выполнение команды id с параметрами -un дает тот же результат, что и запуск whoami, и вывод id -Gn эквивалентен выводу команды groups.
Вариант -r( –real) может быть использован в сочетании с -u, -g и -G печатать реальные, а не эффективные значения:
id -ur
Чтобы напечатать только контекст безопасности процесса, который обычно является контекстом безопасности пользователя, используйте параметр -Z( –context):
id -Z
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Если SELinux отключен, id выводит сообщение об ошибке:
id: --context (-Z) works only on an SELinux-enabled kernel
Опция -z( –zero) указывает id разделять выходные элементы символом NUL, а не пробелом:
id -znG
andreyexadmsudodocker
Это может быть полезно при передаче вывода в команду, которая может анализировать переводы строки.
Вывод
Команда id печатает информацию о данном пользователе или о текущем вошедшем в систему пользователе, если в качестве аргумента не указано имя пользователя или идентификатор.
Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы.