Поиск по сайту:
В программировании, как и везде, ошибаться - значит рождаться заново. (Алан.Дж.Перлис)

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

28.07.2020
Как использовать команду 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 для этого пользователя. Это «реальный» идентификатор пользователя и группы.

Читать  Как обновить все пакеты в Oracle Linux 8

Поскольку в 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

 

Читать  Понимание Crontab в Linux с примерами

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 сейчас. Если у вас есть вопросы или предложения, не стесняйтесь оставлять комментарии.

Читать  Как использовать apt-cache для поиска пакетов

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
В этой статье мы расскажем, как настроить конвейер DevOps в…

Спасибо!

Теперь редакторы в курсе.