Пользователи - самый важный компонент в системе Linux. Linux предоставляет администраторам встроенные команды, которые позволяют им эффективно управлять пользователями. Есть один для создания пользователей, удаления пользователей и изменения разрешений пользователей. Но как насчет перечисления всех пользователей, которые в настоящее время присутствуют в системе?
В этой статье мы обсудим, как вы можете получить список всех пользователей в Linux, а также краткое руководство, чтобы проверить, существует ли пользователь в системе или нет.
Как показать список всех пользователей в Linux
Когда вы создаете нового пользователя, имя пользователя, пароль и другие данные сохраняются в определенных файлах на машине Linux. К счастью, Linux позволяет вам читать и изменять такие файлы без каких-либо ограничений. Используя эти файлы, вы можете узнать информацию о пользователях, такую как их имена пользователей, количество пользователей и многое другое.
Использование файла Passwd
В пароль file - это текстовый файл, содержащий записи паролей всех пользователей, которые в настоящее время присутствуют в вашей системе. Этот файл находится в
/etc каталог в вашем локальном хранилище и содержит следующую информацию:- Имена пользователей
- Зашифрованные пароли
- ID пользователя
- ID группы пользователя
- Полное имя
- В /home каталог пользователя
- Оболочка входа пользователя
Тип кот / etc / passwd или же меньше / etc / passwd в вашем терминале, чтобы прочитать текстовый файл. Открытие /etc/passwd файл сгенерирует вывод, который выглядит примерно так.
корень: x: 0: 0: корень: / корень: / bin / bash
демон: x: 1: 1: демон: / usr / sbin: / bin / sh
bin: x: 2: 2: bin: / bin: / bin / sh
sys: x: 3: 3: sys: / dev: / bin / sh
синхронизация: x: 4: 65534: синхронизация: / bin: / bin / sync
игры: x: 5: 60: игры: / usr / games: / bin / sh
человек: x: 6: 12: человек: / var / cache / man: / bin / sh
Вышеупомянутый вывод содержит семь полей, которые содержат информацию, относящуюся к пользователям. Эти поля разделены разделителем, в данном случае двоеточием. Каждая строка вывода обозначает одного пользователя.
Чтобы получить список всех имен пользователей с помощью пароль файл:
awk -F: '{печать $ 1}' / etc / passwd
Awk - это утилита командной строки, которая позволяет пользователям Linux создавать простые однострочные программы, выполняющие быстрые операции с терминала. В вышеупомянутом коде:
- -F означает Разделитель полей. Поскольку символ двоеточия является разделителем в /etc/passwd файла, мы передаем двоеточие в качестве разделителя в команде awk.
- {print $ 1} дает указание системе напечатать первое поле. В этом случае первое поле - это имя пользователя.
- /etc/passwd файл содержит данные, относящиеся к пользователям.
Выполнение вышеуказанной команды выведет имена всех пользователей. Поскольку /etc/passwd файл содержит пользователей системы, вывод также будет включать их имена пользователей.
корень
демон
мусорное ведро
sys
синхронизировать
игры
человек
Вы можете немного подправить команду awk, чтобы выводить полные имена пользователей. Введите следующую команду, чтобы отобразить полные имена пользователей в Linux:
awk -F: '{печать $ 5}' / etc / passwd
Поскольку у системных пользователей одинаковое имя пользователя и полное имя, вы не заметите никакой разницы в выводе. Только пользователи, которых вы добавили в свою систему, будут иметь разные имена пользователей и полные имена.
В качестве альтернативы вы также можете использовать резать вместо команды awk. Синтаксис cut очень похож на команду awk.
Чтобы распечатать имена пользователей в Linux с помощью cut:
вырезать -d: f1 / etc / passwd
Здесь, -d это разделитель, f1 обозначает первое поле (имя пользователя), а /etc/passwd текстовый файл, содержащий данные.
Чтобы распечатать имена пользователей с помощью cut:
вырезать -d: f5 / etc / passwd
Точно так же вы можете вывести другие поля из /etc/passwd файл, просто заменив f5 с f1-f7.
Связанный: Как изменить пароль в Linux
Список пользователей с помощью команды getent
Команда getent печатает содержимое важных текстовых файлов, которые действуют как база данных для системы. Такие файлы, как /etc/passwd и /etc/nsswitch.conf содержат информацию, относящуюся к пользователям и сетям соответственно, и могут быть прочитаны с помощью команды getent.
Чтобы распечатать содержимое /etc/passwd файл с помощью getent:
getent passwd
Вывод будет содержать семь разных полей, разделенных двоеточием. Каждое поле зарезервировано для конкретной информации, включая имена пользователей и пути к домашним каталогам пользователей.
корень: x: 0: 0: корень: / корень: / bin / bash
демон: x: 1: 1: демон: / usr / sbin: / bin / sh
bin: x: 2: 2: bin: / bin: / bin / sh
sys: x: 3: 3: sys: / dev: / bin / sh
синхронизация: x: 4: 65534: синхронизация: / bin: / bin / sync
игры: x: 5: 60: игры: / usr / games: / bin / sh
человек: x: 6: 12: человек: / var / cache / man: / bin / sh
Вы можете связать команду getent с awk или cut, чтобы получить только список имен пользователей.
getent passwd | awk -F: '{печать $ 1}'
getent passwd | вырезать -d: -f1
Чтобы распечатать полные имена пользователей:
getent passwd | awk -F: '{распечатать $ 5}'
getent passwd | вырезать -d: -f5
Проверить, существует ли пользователь
В некоторых ситуациях вы можете захотеть проверить, существует ли пользователь в вашей системе Linux или нет. В grep Команда пригодится, когда вы хотите получить определенный текстовый шаблон из файла.
Вы можете использовать любую из следующих команд, чтобы проверить существование пользователя.
compgen -u | grep имя пользователя
getent passwd | grep имя пользователя
Если пользователь существует, информация для входа в систему, связанная с ним, будет отображаться на экране. С другой стороны, если пользователя нет в системе, произойдет ошибка.
Чтобы проверить, существует ли пользователь в системе без использования grep:
getent passwd имя пользователя
Вы также можете подключить getent или же compgen команда с grep и эхо для отображения пользовательского вывода.
getent passwd | grep -q имя пользователя && echo "Пользователь найден" || echo "Пользователь не найден"
compgen -u | grep -q имя пользователя && echo "Пользователь найден" || echo "Пользователь не найден"
Приведенная выше команда напечатает «Пользователь найден», если пользователь существует в системе, и «Пользователь не найден», если это не так.
Подсчитайте количество пользователей в системе
Чтобы подсчитать количество пользователей в системе Linux:
compgen -u | туалет -l
getent passwd | туалет -l
В приведенных выше командах compgen и getent несут ответственность за отображение списка, содержащего всех пользователей и другую информацию, связанную с ними. В Туалет обозначает количество слов и используется для подсчета количества слов или строк в выводе. В -l флаг обозначает Линии.
Проверка учетных записей пользователей в Linux
Каждый администратор Linux должен знать, как они могут управлять другими пользователями системы и администрировать их. Освоение команд Linux, которые позволяют создавать, удалять, контролировать и перечислять других пользователей, - отличный способ начать управление пользователями.
Освоение среды Linux должно быть вашей первой целью, если вы только новичок. Есть определенные вещи, которые вы должны сделать сразу после установки вашего первого дистрибутива Linux. Изучение некоторых основных команд является одним из них и необходим для выполнения простых вычислительных задач в Linux.
Заинтересованы в использовании Linux, но не знаете, с чего начать? Узнайте, как использовать Linux, от выбора дистрибутива до установки приложений.
- Linux
- Linux
Дипеш - младший редактор Linux в MUO. Он пишет информационный контент в Интернете более 3 лет. В свободное время он любит писать, слушать музыку и играть на гитаре.
Подписывайтесь на нашу новостную рассылку
Подпишитесь на нашу рассылку технических советов, обзоров, бесплатных электронных книг и эксклюзивных предложений!
Еще один шаг…!
Пожалуйста, подтвердите свой адрес электронной почты в электронном письме, которое мы вам только что отправили.