Кто я: Полное руководство по идентификации пользователя в ОС

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

В этом уроке вы поймете, как ваша система видит вас и получите идеи, которые поднимут ваш уровень технической компетентности на совершенно новый уровень.

Приготовьтесь, ведь вы собираетесь открыть для себя сторону своей личности, которая была скрыта на виду!

Необходимые условия

Прежде чем вы окунетесь в сложный мир идентификации пользователей ОС, убедитесь, что у вас есть доступ к машине с Windows, macOS или Linux. В этом уроке для демонстраций используются Windows 11 и macOS 12.5 (Monterey).

Получение имени вошедшего в систему пользователя с помощью команды whoami

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

Откройте терминал или PowerShell и выполните следующую команду whoami, чтобы получить информацию о вошедшем в систему пользователе.

whoami

Ниже выводится имя пользователя (т. е. admin), связанное с текущей сессией.

Retrieving the currently logged-in username

Теперь выполните следующую команду who на macOS, чтобы перечислить всех вошедших в систему пользователей в вашей macOS.

? Эта команда не существует в Windows.

who

Вывод ниже показывает, что пользователь macos вошел в систему дважды: один раз через консоль, а другой раз через терминал ttys000. Оба входа начались 31 августа в разное время (21:48 и 21:49).

Пользователям, открывающим несколько окон терминала или входящим в систему несколько раз, могут быть назначены разные имена устройств терминала, такие как ttys001, ttys002 и так далее. Эти имена устройств помогают идентифицировать и управлять другими параллельными сеансами терминала на системе.

Showing logged-in users’ details

Проверка членства пользователя в группе

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

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

Выполните команду whoami ниже, чтобы увидеть членство вашей учетной записи в группе (/groups).

# Команда PowerShell
whoami /groups
# Команда macOS/Linux
groups

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

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

Displaying the current user’s group membership (PowerShell)
Showing the current user’s group membership (macOS/Linux)

Получение идентификатора безопасности пользователя (SID)

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

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

Выполните следующую команду для получения SID текущего пользователя (/user).

# Команда PowerShell
whoami /user
# Команда macOS/Linux
id

Ниже, вместе с именем пользователя, указан соответствующий SID пользователя (для Windows), который включает в себя ряд числовых компонентов, идентифицирующих следующее:

  • Ревизия – Указывает версию структуры SID.
  • Идентификатор Авторитета – Уникальное значение, присвоенное каждому авторитету, генерирующему SID.
  • Идентификатор Домена – Представляет домен или службу безопасности.
  • Относительный идентификатор (RID) – Уникальный номер, присвоенный каждому принципалу безопасности в пределах домена.
Obtaining the user SID

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

Showing the UID and the GID of the current user

Отображение привилегий безопасности вошедшего в систему пользователя

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

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

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

whoami /priv

? Системы на основе Unix не имеют прямого эквивалента команды Windows whoami /priv. Вместо этого команда id или groups могут быть альтернативой. Управление привилегиями безопасности осуществляется с помощью разрешений на файлы, учетных записей пользователей и механизмов контроля доступа.

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

  • Имя привилегии – Показывает названия различных привилегий, доступных для пользователя.
  • Описание – Краткое описание того, что позволяет сделать каждая привилегия пользователю.
  • Состояние – Указывает текущее состояние каждой привилегии для пользователя, и есть два возможных состояния, как указано ниже:
State Details
Enabled Indicates the user has been granted that specific privilege and can exercise the associated actions on the system.
Disabled Indicates the user does not have the corresponding privilege and is not allowed to perform actions associated with that privilege.
Displaying the security privileges of the currently logged-in user

Форматирование вывода команды whoami

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

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

Формат списка (/fo list) может быть полезен, если вы хотите более компактного отображения. Но если вам нужна информация для дальнейшей обработки или анализа в приложении электронных таблиц, то более подходящим будет формат CSV (/fo csv).

# Отображает результат в формате списка
whoami /priv /fo list
# Отображает результат в формате CSV
whoami /priv /fo csv

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

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

Formatting the whoami command’s output

В качестве альтернативы запустите команду id или groups, переданную (|) в команду редактора потока (sed) для форматирования вывода, как показано ниже. В системах на основе Unix нет эквивалентных команд для whoami /priv /fo list или whoami /priv /fo csv.

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

  • Заменить разделители пробела и запятой ([ ,]) на новую строку (/\n/) для каждой строки.
  • Заменить пробелы на запятые (tr ' ' ','), захватить тексты, не являющиеся пробелами (\([^ ]*\)), и заключить их в двойные кавычки ("\1").
# Отображение вывода команды id в формате списка
id | sed 's/[ ,]/\n/g'
# Отображение вывода команды groups в формате csv
groups | sed 's/\([^ ]*\)/"\1"/g' | tr ' ' ','
Displaying the id command’s output in list format
Displaying the groups command’s output in csv format

Заключение

На протяжении этого руководства вы погрузились в сложное искусство обнаружения и понимания идентичности пользователя с помощью команды whoami. Вы научились получать имя пользователя, членство в группах, и даже идентификатор безопасности пользователя (SID).

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

Теперь, почему бы вам не погрузиться в мир механизмов аутентификации и авторизации? Как насчет многофакторной аутентификации (MFA), контроля доступа на основе ролей (RBAC) и контроля доступа на основе атрибутов (ABAC)? Понимание работы этих механизмов может значительно улучшить ваше понимание управления пользователями и безопасности системы.

Source:
https://adamtheautomator.com/whoami/