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