Как посмотреть список пользователей в Linux
Файл /etc/passwd
содержит информацию обо всех пользователях системы. Каждая строка соответствует одному пользователю и состоит из 7 полей, разделённых двоеточием (:
). Первое поле — имя пользователя.
✅ Вариант 1: Использование awk
awk -F: '{ print $1 }' /etc/passwd
Объяснение:
-F:
— устанавливает двоеточие как разделитель полей.{ print $1 }
— выводит первое поле (имя пользователя).
✅ Вариант 2: Использование cut
cut -d: -f1 /etc/passwd
Объяснение:
-d:
— указывает, что разделителем является двоеточие.-f1
— выбирает первое поле (имя пользователя).
🔍 Что показывают эти команды?
Список всех локальных пользователей системы, например:
root
daemon
bin
sys
sync
games
man
lp
mail
...
⚠️ Это включает системные учётные записи, такие как
root
,daemon
,bin
и т.д., а не только реальных пользователей.
🛡️ Как вывести только "реальных" пользователей?
Если нужно отфильтровать только пользователей с UID ≥ 1000 (обычно это обычные пользователи), используйте:
awk -F: '$3 >= 1000 {print $1}' /etc/passwd
Или для более точной фильтрации:
awk -F: '($3 >= 1000) && ($3 < 65534) {print $1}' /etc/passwd
Это исключит системные аккаунты и специальные учетные записи.
📌 Пример вывода (после фильтрации):
alice
bob
john
admin