Как вывести список всех пользователей в Linux

Как вывести список всех пользователей в Linux

Пользователи - самый важный компонент в системе Linux. Linux предоставляет администраторам встроенные команды, которые позволяют им эффективно управлять пользователями. Есть один для создания пользователей, удаления пользователей и изменения разрешений пользователей. Но как насчет перечисления всех пользователей, которые в настоящее время присутствуют в системе?





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





Как показать список всех пользователей в Linux

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





Использование файла Passwd

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

  1. Имена пользователей
  2. Зашифрованные пароли
  3. ID пользователя
  4. ID группы пользователя
  5. Полное имя
  6. В /дом каталог пользователя
  7. Оболочка входа пользователя

Тип кот / etc / passwd или меньше / etc / passwd в вашем терминале, чтобы прочитать текстовый файл. Открытие / etc / passwd файл сгенерирует вывод, который выглядит примерно так.



root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh

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

Чтобы получить список всех имен пользователей с помощью пароль файл:





awk -F: '{ print }' /etc/passwd

Awk - это утилита командной строки, которая позволяет пользователям Linux создавать простые «однострочные» программы, которые выполняют быстрые операции с терминала. В вышеупомянутом коде:

  1. -F означает Разделитель полей. Поскольку символ двоеточия является разделителем в / etc / passwd файла, мы передаем двоеточие в качестве разделителя в команде awk.
  2. {print $ 1} дает указание системе напечатать первое поле. В этом случае первое поле - это имя пользователя.
  3. / etc / passwd файл содержит данные, относящиеся к пользователям.

Выполнение указанной выше команды выведет имена всех пользователей. Поскольку / etc / passwd файл содержит пользователей системы, вывод также будет включать их имена пользователей.





root
daemon
bin
sys
sync
games
man

Вы можете немного подправить команду awk, чтобы печатать полные имена пользователей. Введите следующую команду, чтобы отобразить полные имена пользователей в Linux:

awk -F: '{ print }' /etc/passwd

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

В качестве альтернативы вы также можете использовать резать вместо команды awk. Синтаксис cut очень похож на команду awk.

Чтобы распечатать имена пользователей в Linux с помощью cut:

cut -d: f1 /etc/passwd

Здесь, -d это разделитель, f1 обозначает первое поле (имя пользователя), а / etc / passwd текстовый файл, содержащий данные.

как использовать ноутбук в качестве монитора

Чтобы распечатать имена пользователей с помощью cut:

cut -d: f5 /etc/passwd

Точно так же вы можете вывести другие поля из / etc / passwd файл, просто заменив f5 с участием f1-f7 .

Связанный: Как изменить пароль в Linux

Список пользователей с помощью команды getent

Команда getent печатает содержимое важных текстовых файлов, которые действуют как база данных для системы. Такие файлы, как / etc / passwd а также /etc/nsswitch.conf содержат информацию, относящуюся к пользователям и сетям соответственно, и могут быть прочитаны с помощью команды getent.

iphone 12 pro max против s21 ultra

Чтобы распечатать содержимое / etc / passwd файл с помощью getent:

getent passwd

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

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh

Вы можете связать команду getent с awk или cut, чтобы получить только список имен пользователей.

getent passwd | awk -F: '{print }'
getent passwd | cut -d: -f1

Чтобы распечатать полные имена пользователей:

getent passwd | awk -F: '{print }'
getent passwd | cut -d: -f5

Проверить, существует ли пользователь

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

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

compgen -u | grep username
getent passwd | grep username

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

Чтобы проверить, существует ли пользователь в системе без использования grep:

getent passwd username

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

getent passwd | grep -q username && echo 'User found' || echo 'User not found'
compgen -u | grep -q username && echo 'User found' || echo 'User not found'

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

Подсчитайте количество пользователей в системе

Чтобы подсчитать количество пользователей в системе Linux:

compgen -u | wc -l
getent passwd | wc -l

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

Проверка учетных записей пользователей в Linux

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

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

Делиться Делиться Твитнуть Эл. адрес Как начать работу с Linux

Заинтересованы в использовании Linux, но не знаете, с чего начать? Узнайте, как использовать Linux, от выбора дистрибутива до установки приложений.

Читать далее
Похожие темы
  • Linux
  • Linux
Об авторе Дипеш Шарма(Опубликовано 79 статей)

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

Ещё от Deepesh Sharma

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку технических советов, обзоров, бесплатных электронных книг и эксклюзивных предложений!

Нажмите здесь, чтобы подписаться
Категория Linux