ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Понедельник, 31 марта, 2025
Сегодня у нас 1 праздник:
Международный День Резервного Копирования (World Backup Day). Пользователи сайта социальных новостей reddit предложили сделать дату 31.03 Международным днём резервного копирования, аргументируя это тем, что никогда заранее нельзя узнать, какие сюрпризы преподнесёт 1.04

Команда 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