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

Как использовать команду id в Linux. 5 полезных примеров

Как использовать команду id в Linux. 5 полезных примеров

Команда id в Linux используется для отображения реального и эффективного идентификатора пользователя и идентификатора группы пользователя.

В этой статье мы покажем вам, как использовать команду id в Linux, с некоторыми из наиболее распространенных и полезных примеров.

 

Команда id в Linux

Это синтаксис команды id:

id [options] [username]

 

Если вы не предоставите имя пользователя, команда отобразит сведения о текущем вошедшем в систему пользователе.

id

 

Вот вывод, который он отображал для нас в Ubuntu Linux.

destroyer@andreyex:~$ id
uid=1000(destroyer) gid=1000(destroyer) groups=1000(destroyer),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),119(lpadmin),130(lxd),131(sambashare)

 

В приведенном выше выводе пользователь destroyer имеет uid 1000 и gid 1000. Это основная группа, к которой пользователь destroyer относится по умолчанию.

Кроме того, пользователь destroyer также является членом некоторых других групп, и эти группы также отображаются в выходных данных.

 

Примеры команды id

Вот наиболее распространенные параметры для команды id:

вариант Описание
-u Распечатать эффективный идентификатор пользователя
-g Распечатать эффективный идентификатор группы
-G Распечатать идентификаторы всех групп, к которым принадлежит пользователь
-n Напечатайте имена вместо идентификаторов (должны сочетаться с -u, -g или -G)
-r Напечатайте реальный идентификатор вместо эффективных идентификаторов (должен сочетаться с -u, -g или -G)

 

Реальный против Эффективного идентификатора пользователя и группы?

Это может сбить вас с толку. Когда создается пользователь, ему дается имя пользователя, идентификатор пользователя (uid), группа по умолчанию, а идентификатор этой группы по умолчанию – это gid для этого пользователя. Это «реальный» идентификатор пользователя и группы.

Поскольку в Linux процессы могут выполняться как другие пользователи и группы, существует также второй набор идентификаторов, называемый эффективными идентификаторами.

В большинстве случаев действительные и эффективные идентификаторы UID и GID совпадают. Но бывают ситуации, когда обычный пользователь должен изменить привилегированный файл. Здесь используется концепция эффективного идентификатора. Наиболее распространенный пример – использование команды passwd для изменения пароля, который изменяет файл /etc/passwd, принадлежащий root.

 

1. Распечатать UID и GID определенного пользователя

Чтобы распечатать uid и gid и все другие идентификаторы группы пользователя, вам просто нужно указать имя пользователя:

id username

 

Вы можете перечислить всех пользователей в вашей системе Linux, чтобы получить желаемое имя пользователя.

 

2. Распечатайте только UID пользователя

Вы можете использовать -uопцию для печати UID в Linux. Как упоминалось ранее, если вы пропустите имя пользователя, в нем отобразится информация о вошедшем в систему пользователе.

id -u userame

 

Имейте в виду, что он отображает только UID, числовое значение, а не имя.

destroyer@andreyex:~$ id -u
1000

 

3. Распечатайте только GID пользователя

Точно так же вы можете использовать опцию -gдля печати GID пользователя. Когда мы говорим GID, это числовой идентификатор группы по умолчанию, к которой принадлежит пользователь.

id -g username

 

Опять же, он будет отображать только числовой идентификатор группы.

destroyer@andreyex:~$ id -g nobody 
65534

 

4. Распечатайте идентификаторы всех других групп, к которым принадлежит пользователь

Пользователь может принадлежать к нескольким группам. Это основная особенность файловой системы Linux. Вы можете использовать команду usermod и добавить ее в группу sudo, чтобы предоставить ей привилегии root.

Вы можете использовать опцию -G для отображения идентификаторов всех групп, к которым принадлежит пользователь.

id -G username

 

Это также отображает только идентификатор.

destroyer@andreyex:~$ id -G destroyer
1000 4 24 27 30 46 119 130 131

 

5. Напечатайте имена вместо числовых идентификаторов

Только числовые идентификаторы могут сбивать с толку. Если вы хотите, чтобы имена, вы можете комбинировать -nопцию -u, -g или -G для отображения имен.

Например, если вы хотите отобразить все группы, к которым принадлежит пользователь, вы можете использовать его следующим образом:

id -nG username

 

Если мы используем предыдущий пример с параметром -n, вот что он показывает:

destroyer@andreyex:~$ id -nG destroyer
destroyer adm cdrom sudo dip plugdev lpadmin lxd sambashare

 

Бонусный совет: распечатайте настоящие удостоверения личности

Все приведенные выше примеры отображают действующие идентификаторы. Почти все время это будет настоящий ID.

Тем не менее, если вы хотите убедиться, чтобы получить реальный ID, вы можете комбинировать вариант -r с -u, -g или -G.

Это можно использовать так:

id -ru username

 

Хорошо! Мы думаем, что вы знаете достаточно о команде id сейчас. Если у вас есть вопросы или предложения, не стесняйтесь оставлять комментарии.

Exit mobile version