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

24

Я хотел бы видеть, сколько пользователей в моей системе. Как я могу просмотреть список всех пользователей в системе?

айй лмао
источник
2
Я думаю, /etc/passwdчто поможет вам.
Зелёный
5
Вы имеете в виду, сколько учетных записей пользователей в системе или сколько пользователей в настоящее время вошли в систему?
D_Bye

Ответы:

28

Вы можете получить список всех пользователей с

getent passwd | cut -d':' -f1

Выбирает первый столбец (имя пользователя) в базе данных пользователей системы. В отличие от анализа решений /etc/passwd, это будет работать независимо от типа используемой базы данных (традиционная /etc/passwd, LDAP и т. Д.). Обратите внимание, что в этот список также входят пользователи системы (например, никто, почта и т. Д.).

Точный номер пользователя может быть определен следующим образом:

getent passwd | wc -l

Список зарегистрированных в данный момент пользователей можно получить с помощью команды usersили who:

users  # or
who
Marco
источник
Почему бы не использовать getent passwdдля получения текущего списка пользователей, включая пользователей, найденных через LDAP и т. Д.? Кроме того, wc -lбыл бы намного более короткий способ подсчитать количество строк /etc/passwd(или getent passwd, если на то пошло, вывод ).
n.st
@ n.st Это действительно лучше. Я включил изменение в свой ответ. Спасибо.
Марко
Это не обязательно будет список всех пользователей. Некоторые пользовательские базы данных могут быть не перечисляемыми
Стефан Шазелас
3

Вы могли бы просто файл или использовать,cat/etc/passwd

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

Чтобы вырезать первое поле того же файла, в нем будут перечислены имена, которые вы ожидаете. Кроме того, w whoи fingerпоможет вам с тем, кто все вошли в систему, из каких мест / tty и их данные деятельности.

Кейшов Борат
источник
1

Это работает:

sed 's/:.*//g' /etc/passwd
Отображаемое имя
источник
Вы также можете удалить глобальный флаг, если хотите.
DisplayName