Безотказный способ

Безотказный способ

Я новичок в Linux, если быть точным, это первый день, когда я сижу перед ОС Ubuntu. Я добавил пользователей в учебных целях, и теперь я хочу видеть всех пользователей в системе. Как мне увидеть пользователей? Если есть больше одного способа, пожалуйста, дайте мне знать все.

решение1

Безотказный способ

Они перечислены в /etc/passwd. Однако это будет включать пользователей "системы". Как правило, "обычные" пользователи начинаются с UID 1000, поэтому вы можете отфильтровать их с помощью.

awk -F ':' '$3>999' /etc/passwd

Обратите внимание, что у меня также есть пользователь под именем «nobody» с UID 65534, поэтому возможны некоторые ложные срабатывания.

Объяснение кода

  • awk -F ':'используйте awkс разделителем полей :.
  • '$3>999'печатать строку только в том случае, если третье поле больше 999.
  • /etc/passwdпрочитано из этого файла.

Более простой способ

У большинства пользователей есть каталог в домашнем каталоге. Примечание: это может не сработать, если у пользователя нет этого каталога.

ls /home

(Кроме того, игнорируйте, lost+foundесли он существует, поскольку он не связан с пользователем.)

решение2

getent passwd

Преимущество этого метода заключается в том, что в него включаются как пользователи, определенные в данной системе (т. е. перечисленные в /etc/passwd), так и пользователи, которые могут быть добавлены с помощью метода единого входа, например пользователи LDAP.

Если вы хотите видеть только несистемных пользователей:

getent passwd | awk -F ':' '$3>999' | grep -v nobody

Связанный контент