Вы когда-нибудь задумывались, кто находится в вашей системе Linux? Неважно, являетесь ли вы профессионалом или только начинаете работать, знание того, как найти список пользователей, является полезным навыком. Это руководство поможет вам пройти через простые шаги по получению списка пользователей в Linux.
В этом руководстве мы рассмотрим несколько основных команд для поиска имен пользователей, идентификаторов пользователей и многого другого. Дело не только в том, кто есть кто, но и в понимании того, что происходит за кулисами вашей системы Linux.
Если вы хотите усилить безопасность, устранить проблемы или вам просто интересно, как устроена ваша система Linux, в этом уроке вы найдете команды Linux, которые позволят вам получить нужную информацию.
Как составить список пользователей в Linux
Для выполнения следующих шагов вам потребуется доступ к интерфейсу командной строки Linux. Будет полезно, если вы также будете иметь базовое представление о командах Linux, но это не является абсолютно необходимым.
1. Получение полного списка пользователей
Самый простой способ получить список пользователей в Linux - это использовать команду getent.
Команда getent извлекает информацию из баз данных Linux, включая информацию о пользователях.
Чтобы получить полный список пользователей, откройте интерфейс командной строки вашей системы и введите следующую команду: getent passwd
В результате будет получен список пользователей системы, в который также войдут (в очень сокращенном виде) сведения об идентификаторе пользователя, идентификаторе группы, домашней папке пользователя, оболочке по умолчанию, дополнительные персональные данные, а также информация о том, есть ли у пользователя пароль.
2. Вывести список только имен пользователей
Чтобы получить более простой список пользователей, введите команду getent passwd | awk -F: '{ print $1}'.
Инструмент awk является универсальным средством обработки текста в Linux и используется в основном для сканирования и обработки шаблонов.
Указав print $1, мы даем Linux указание вернуть только первое поле каждой записи.
В результате мы получаем только список имен и фамилий без всей дополнительной информации, которую мы получили с помощью предыдущей команды.
Однако вы можете заметить, что в приведенном выше примере есть много записей типа systemd-network и systemd-timestamp, что, вероятно, не то, что вы ищете, когда пытаетесь получить список пользователей в системе.
Это происходит потому, что Linux не различает пользователей-людей и системные учетные записи, созданные приложениями.
Мы рассмотрим создание списка только человеческих пользователей в следующих двух шагах.
3. Понимание идентификаторов пользователей
Пользователям в системе присваивается идентификационный номер, известный как UID. Мы можем использовать этот номер для разделения человеческих и нечеловеческих пользователей.
Введите команду gre p-E '^UID_MIN|^UID_MAX' /etc/login.defs, чтобы вернуть диапазон идентификационных номеров пользователей, используемых человеческими пользователями.
Как видно на скриншоте выше, человеческие пользователи в моей системе имеют UID в диапазоне от 1000 до 60 000.
4. Создание списка только человеческих пользователей
Теперь нужно выполнить команду, чтобы получить список пользователей-людей. Основываясь на ответе, который я получил в предыдущем шаге, моя команда была getent passwd {1000..60000}.
Вам нужно убедиться, что числа в фигурных скобках в вашей команде отражают минимальный и максимальный UID, которые вам были предоставлены.
В моем примере выше я получил список из четырех человек после того, как удалил всех нечеловеческих пользователей приложений и систем.
Команда getent - это лишь один из способов получения информации о пользователях. Если вам нужна конкретная информация о пользователе, вы можете настроить команду так, чтобы получить отфильтрованный список, соответствующий вашим требованиям. Фильтрация или сокращение результатов особенно полезны, если в вашей системе работает большое количество пользователей.
Составление списка пользователей в Linux может быть полезно по нескольким причинам, в том числе для того, чтобы помочь администраторам определить, кто имеет учетные записи в системе, или определить, какие пользователи владеют определенными файлами или процессами. Понимание команд Linux означает, что вы можете получить доступ к информации в любой момент, когда она вам нужна, удобным для вас способом.
Для получения дополнительной информации о Linux ознакомьтесь с нашими руководствами о том, как найти информацию о процессоре в Linux, как добавить пользователей в Linux и как найти файл в Linux.
Если тебе понравилась статья - подпишись на канал, чтобы не пропустить ещё много полезных статей!
Также ты можешь читать меня здесь:
- Телеграм: https://t.me/gergenshin
- Яндекс Дзен: https://dzen.ru/gergen
- Официальный сайт: https://www-genshin.ru