Команда id в Linux с примерами (вывод реальных и эффективных идентификаторов пользователей и групп)

Сегодня вы узнаете, как использовать команду id в Linux. Очень маленькая команда, но очень полезная.

id означает личность.

Как вы можете понять по самому имени, вы можете использовать команду id для печати информации о пользователях и группах для указанного пользователя ИЛИ для текущего пользователя.

Короче говоря, команда id выводит реальные и эффективные идентификаторы пользователей и групп.

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

Настоящий пользователь:

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

Пользователь может проверить, кто изначально вошел в систему, запустив logname команда.

Как и в моем случае, я вошел в систему с пользователем с именем helpdesk.

~$ logname 
helpdesk

В этом случае, служба поддержки настоящий пользователь.

Эффективный пользователь:

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

Например, нам может потребоваться переключиться на пользователя root для выполнения некоторых административных задач, для которых мы используем su команда, и мы можем использовать whoami команда для проверки.

~$ su - root
Password: 

~$ whoami
root

Давай запустим logname теперь и посмотрите, что получится.

~$ su - root
Password: 

~$ whoami
root

~$ logname
helpdesk

Как видите, logname Команда по-прежнему показывает, что мы вошли в систему от пользователя службы поддержки.

Следовательно, в этом случае корень эффективный пользователь.

Я думаю, что теперь представление о вашем реальном и эффективном пользователе должно быть прояснено.

Предлагаемое чтение:

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

В Linux по умолчанию каждому пользователю присваивается уникальное числовое значение, называемое UID(Идентификатор пользователя).

Точно так же каждой группе присваивается уникальное числовое значение, называемое GID (Идентификатор группы).

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

Вся эта информация хранится в /etc/passwd файл. Вы можете отобразить содержимое этого файла, используя команда кота.

~$ cat /etc/passwd
Информация о пользователях и группах

Ключевые особенности команды id:

  • Распечатать идентификатор пользователя (UID) и идентификатор группы (GID)
  • Распечатайте только действующий идентификатор пользователя и группы
  • Вы можете распечатать имена пользователей / групп вместо идентификационных номеров
  • Распечатать все идентификаторы групп (основные и дополнительные)
  • Отображать реальный идентификатор вместо действующего идентификатора
  • Распечатать контекст безопасности процесса
  • Вы можете разделить выходные записи символами NUL

Прежде всего, давайте сосредоточимся на некоторых из наиболее важных опций, которые мы можем использовать с id.

Параметры Объяснение
Игнорировать, для совместимости с другими версиями.
-Z, —context Вывести только контекст безопасности процесса.
-g, —group Распечатать только эффективный идентификатор группы
-G, —groups Распечатать все идентификаторы групп
-n, —name Выведите имя вместо числа для -ugG
-r, —real Напечатайте реальный идентификатор вместо эффективного идентификатора с -ugG
-u, —user Распечатать только действующий идентификатор пользователя
-z, —zero Разделяйте записи символами NUL, а не пробелами
—помощь Отобразить страницу справки по команде id
—версия Проверить версию команды id

Синтаксис:

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

id [OPTION]... [USER]

1. Распечатать UID и GID текущего пользователя.

Запуск id команда без каких-либо параметров распечатает данные о текущем пользователе.

Я вошел в систему под именем пользователя служба поддержки. Теперь, запустив id командой мы получим следующую информацию:

  • UID: ID пользователя — uid=1000(helpdesk)
  • GID: идентификатор группы, который также называется первичной группой — gid=1000(helpdesk)
  • Дополнительная информация о группе или группе Seconday — groups=1000(helpdesk),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare)
$ id
uid=1000(helpdesk) gid=1000(helpdesk) groups=1000(helpdesk),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare)
Детали пользователя

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

Чтобы отобразить сведения о конкретном пользователе, передайте имя этого пользователя в качестве аргумента в id команда.

В этом примере я печатаю сведения о пользователе с именем Аюш.

~$ id ayush
uid=1007(ayush) gid=1011(ayush) groups=1011(ayush)

3. Распечатайте только действующий идентификатор пользователя.

Для печати только эффективный идентификатор пользователя (UID) пользователя передает -u возможность id команда. Возьмем несколько примеров.

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

~$ id -u
1000

Если вы хотите распечатать идентификатор пользователя определенного пользователя, выполните следующую команду. Здесь я печатаю идентификатор пользователя с именем Аюш.

~$ id -u ayush
1001

4. Распечатайте только действующий идентификатор группы.

Для печати только эффективный идентификатор группы (GID) пользователя передается -g возможность id команда. Возьмем несколько примеров.

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

~$ id -g
1000

Если вы хотите распечатать идентификатор группы определенного пользователя, выполните следующую команду. Здесь я печатаю идентификатор группы пользователя с именем Аюш.

~$ id -g ayush
1011

Читайте также:

5. Напечатайте имя пользователя вместо числа (UID).

Вы можете распечатать имя пользователя вместо номера UID. для этого передать -n возможность id команда, но -n опция должна использоваться вместе с одной из этих трех опций (-u, -g или -G).

~$ id -un
helpdesk

Примечание: Вы можете получить тот же результат, используя whoami команда.

~$ whoami 
helpdesk

6. Напечатайте название группы вместо номера (GID).

Вы можете распечатать название группы вместо номера GID. для этого передать -n возможность id команда, но -n опция должна использоваться вместе с одной из этих трех опций (-u, -g или -G).

~$ id -gn
helpdesk

7. Распечатайте идентификаторы всех групп.

Распечатать все идентификаторы групп (GID), у которых есть член по имени user1.

~$ id -G user1
1012 1004 1005 1006 1007 1008

Введите следующую команду, чтобы распечатать все идентификаторы групп текущего пользователя.

~$ id -G
1000 4 24 27 30 46 116 126

Выведите все имена групп вместо номеров GID, у которых есть член по имени user1.

~$ id -nG user1
user1 group1 group2 group3 group4 group5

Примечание: Вы можете получить тот же результат, используя groups команда.

$ groups
user1 group1 group2 group3 group4 group5

8. Напечатайте настоящее удостоверение личности вместо действующего удостоверения личности.

Чтобы напечатать настоящий идентификатор вместо действующего идентификатора, передайте -r возможность id команда, но -r опция должна использоваться вместе с одной из этих трех опций (-u, -g, или -G).

Возьмем несколько примеров:

# Print real UID :

~$ id -ur
1000

# Print real GID :

~$ id -gr
1000

# Print real GID's :

~$ id -Gr
1000 4 24 27 30 46 116 126

Вы можете распечатать имена вместо числовых идентификаторов (UID и GID), объединив -n вариант.

Возьмем несколько примеров:

# Print real Username :

~$ id -unr
helpdesk

# Print real Group name :

~$ id -gnr
helpdesk

# Print real Group names :

~$ id -Gnr
helpdesk adm cdrom sudo dip plugdev lpadmin sambashare

9. Распечатайте контекст безопасности процесса.

Чтобы распечатать только контекст безопасности процесса, передайте -Z возможность id но помните, что это работает только с ядром с поддержкой SELinux.

В противном случае вы получите следующую ошибку.

~$ id -Z
id: --context (-Z) works only on an SELinux-enabled kernel

И если в вашей операционной системе включен SELinux, вы получите следующий результат.

~$ id -Z
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

10. Разделите выходные записи символами NUL.

Обычно, когда мы запускаем id command мы получаем выходные записи, разделенные пробелами.

Выходные записи, разделенные пробелами

Вы можете разделить выходные записи символами NUL, а не пробелами, передав -z возможность id команда.

~$ id -nGz user1
user1group1group2group3group4group5

11. Проверьте версию команды id.

Проверьте версию команды id с помощью следующей команды.

~$ id --version
id (GNU coreutils) 8.28

12. Справка / доступ к странице руководства

Используйте следующие команды для доступа к странице руководства / странице справки команды id.

~$ id --help
~$ man id

Вы можете посетить следующие веб-сайты, чтобы получить дополнительную информацию о команде id.

Заключение

Надеюсь, вы кое-что узнали из этой статьи.

Я изо всех сил старался включить в это руководство все функции команды id.

Теперь хотелось бы услышать ваши мысли.

Было ли это руководство полезно для вас?

Или, может быть, у вас есть вопросы.

Разве я не включил в это руководство какую-либо команду?

Оставьте комментарий ниже.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован.