Отображение идентификаторов пользователей и групп в Linux

LinuxLinuxBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

Операционная система Linux использует надежный систему прав доступа, основанную на идентификаторах пользователей и групп. Понимание того, как просматривать и интерпретировать эти идентификаторы, является фундаментом для системного администрирования и управления безопасностью. В этом практическом занятии (LabEx) вы научитесь использовать команду id, мощный инструмент для отображения информации о пользователях и группах в Linux.

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/UserandGroupManagementGroup -.-> linux/groups("Group Displaying") linux/UserandGroupManagementGroup -.-> linux/id("User/Group ID Displaying") subgraph Lab Skills linux/cd -.-> lab-271305{{"Отображение идентификаторов пользователей и групп в Linux"}} linux/groups -.-> lab-271305{{"Отображение идентификаторов пользователей и групп в Linux"}} linux/id -.-> lab-271305{{"Отображение идентификаторов пользователей и групп в Linux"}} end

Отображение вашей идентификации пользователя

В Linux каждый пользователь имеет уникальный идентификатор пользователя (UID) и принадлежит по крайней мере одной группе с идентификатором группы (GID). На этом этапе вы узнаете, как отобразить информацию о своей собственной идентификации пользователя.

Сначала откройте терминал и убедитесь, что вы находитесь в директории проекта:

cd ~/project

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

id

Эта команда отображает ваш текущий идентификатор пользователя (UID), идентификатор основной группы (GID) и все дополнительные группы, к которым вы принадлежите. Вывод будет похож на следующий:

uid=1000(labex) gid=1000(labex) groups=1000(labex),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),120(lpadmin),132(lxd),133(sambashare)

Разберем этот вывод:

  • uid=1000(labex) - Здесь показан ваш идентификатор пользователя (1000) и имя пользователя (labex)
  • gid=1000(labex) - Здесь показан идентификатор вашей основной группы (1000) и имя группы (labex)
  • groups=1000(labex),4(adm),... - Здесь перечислены все группы, к которым вы принадлежите, включая их идентификаторы и имена

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

Проверка идентификации другого пользователя

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

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

id npc

Вывод будет похож на следующий:

uid=1001(npc) gid=1001(npc) groups=1001(npc)

Это показывает, что пользователь npc имеет:

  • Идентификатор пользователя (UID): 1001
  • Идентификатор основной группы (GID): 1001
  • Принадлежность к группам: только к основной группе npc

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

Использование опций команды ID

Команда id имеет несколько полезных опций, которые позволяют отображать определенные части информации об идентификации пользователя. На этом этапе вы познакомитесь с этими опциями.

Отображение только идентификатора пользователя

Чтобы отобразить только идентификатор пользователя (UID) без какой-либо другой информации, используйте опцию -u:

id -u

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

1000

Это ваш числовой идентификатор пользователя без форматирования и дополнительной информации.

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

Аналогично, чтобы отобразить только идентификатор вашей основной группы (GID), используйте опцию -g:

id -g

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

1000

Отображение имен вместо чисел

Вы можете комбинировать вышеуказанные опции с опцией -n, чтобы отображать имена вместо числовых идентификаторов:

id -un

В результате будет выведено ваше имя пользователя:

labex

Аналогично, чтобы отобразить имя вашей основной группы:

id -gn

Вывод:

labex

Эти опции особенно полезны в сценариях оболочки (shell scripts), где вам нужно программно получать и использовать определенную информацию об идентификации.

Исследование принадлежности к группам

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

Перечисление всех групп, к которым вы принадлежите

Вы можете использовать команду groups для отображения всех групп, к которым принадлежит ваш пользователь:

groups

Выводом будет список имен групп:

labex adm cdrom sudo dip plugdev lpadmin lxd sambashare

Это более простой вид по сравнению с командой id, так как здесь отображаются только имена групп без их идентификаторов.

Отображение только информации о группах с идентификаторами

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

id -G

Вывод:

1000 4 24 27 30 46 120 132 133

И с опцией -Gn для отображения всех имен групп:

id -Gn

Вывод:

labex adm cdrom sudo dip plugdev lpadmin lxd sambashare

Проверка принадлежности к группам другого пользователя

Вы также можете проверить, к каким группам принадлежит другой пользователь:

groups npc

Вывод:

npc : npc

Или используя команду id:

id -Gn npc

Вывод:

npc

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

Резюме

В этом практическом занятии (lab) вы узнали, как использовать команду id и связанные утилиты для отображения и интерпретации информации о пользователях и группах в Linux. Теперь вы знаете, как:

  • Отображать информацию о себе как пользователе и о своей группе с помощью команды id
  • Проверять информацию об идентификации других пользователей
  • Использовать различные опции команды id для отображения определенных частей информации об идентификации
  • Исследовать принадлежность к группам с помощью команд id и groups

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