id — это утилита командной строки, которая выводит реальные и действующие идентификаторы пользователей и групп.
Содержание
Использование команды id
Синтаксис команды id следующий:
id [OPTIONS] [USERNAME]
Если имя пользователя не указано, команда id отображает информацию о текущем вошедшем в систему пользователе.
При вызове без какой-либо опции id печатает реальный идентификатор пользователя ( uid ), реальный идентификатор основной группы пользователя ( gid ) и реальные идентификаторы дополнительных групп ( groups ), к которым принадлежит пользователь. Действующий идентификатор пользователя, идентификатор группы и идентификаторы дополнительных групп печатаются только в том случае, если они отличаются от реальных.
id
uid=1000(linuxize) gid=1000(linuxize) groups=1000(linuxize),4(adm),27(sudo),998(docker)
Если SELinux включен, то id также выводит контекст безопасности ( context ) пользователя:
uid=1000(linuxize) gid=1000(linuxize) groups=1000(linuxize) 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)
В случае, если в системе существует пользователь с именем, совпадающим с предоставленным идентификатором, поиск имени имеет приоритет. При использовании идентификатора пользователя в качестве аргумента префикс идентификатора с помощью символа + чтобы избежать интерпретации идентификатора как имени.
Например, если у вас есть пользователь с именем 1010 и другой пользователь с идентификатором 1010 , при вводе id 1010 команда отобразит информацию о пользователе с именем 1010 . Чтобы получить информацию о пользователе с ID 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
linuxize
Выполнение команды 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
linuxizeadmsudodocker
Это может быть полезно при передаче вывода в команду, которая может анализировать символы новой строки.
Выводы
Команда id выводит информацию о данном пользователе или о текущем вошедшем в систему пользователе, если в качестве аргумента не указано имя пользователя или идентификатор.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.