ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Команда Id в Linux

Команда Id в Linux

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 печатает информацию о данном пользователе или о текущем вошедшем в систему пользователе, если в качестве аргумента не указано имя пользователя или идентификатор.

Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы.

Exit mobile version