Как я могу перечислить всех пользователей вместе с их идентификаторами? Я хочу сделать это из терминала.
Попробуй пройти бота-учителя. Он научит тебя Linux в виде игры: Курсы Linux и DevOPS Бесплатный урок
Как я могу перечислить всех пользователей вместе с их идентификаторами? Я хочу сделать это из терминала.
Попробуй пройти бота-учителя. Он научит тебя Linux в виде игры: Курсы Linux и DevOPS Бесплатный урок
Перечислите всех пользователей с /home
папка:
awk -F: '/\/home/ {printf "%s:%s\n",$1,$3}' /etc/passwd
или все пользователи с UID >= 1000
:
awk -F: '($3 >= 1000) {printf "%s:%s\n",$1,$3}' /etc/passwd
комбинация
awk -F: '/\/home/ && ($3 >= 1000) {printf "%s:%s\n",$1,$3}' /etc/passwd
или для всех записей
awk -F: '{printf "%s:%s\n",$1,$3}' /etc/passwd
Дополнительная информация здесь
Попробуй пройти бота-учителя. Он научит тебя Linux в виде игры: Курсы Linux и DevOPS Бесплатный урок
Вы можете легко найти его, просто используя cut
:
cut -d: -f1,3 /etc/passwd
-d:
устанавливает разделитель как :
для cut
-f1,3
извлекает только поля 1 и 3, разделенные символом :
из /etc/passwd
файл
Проверять man cut
чтобы получить больше идей.
Пример :
$ cut -d: -f1,3 /etc/passwdroot:0daemon:1bin:2sys:3sync:4games:5......
Если у вас есть ldap
сконфигурирован, чтобы включить ldap
пользователей в выходных данных :
getent passwd | cut -d: -f1,3
В качестве альтернативы можно перечислить всех пользователей, включая информацию о UID и GID.
for user in $(cat /etc/passwd | cut -f1 -d":"); do id $user; done
Овации,
Поскольку вы пытаетесь указать UID и имя пользователя, приведенная ниже команда лучше всего работает в Solaris. У них есть два awk
>awk -F: '($3 =1000) {printf "%s:%s",$1,$3}' / etc/passwd
>Я нахожу, что самый простой способ - это установить webmin на вашем сервере и просто перейти к системным пользователям и группам, и там у вас есть красиво отформатированный список со всеми именами пользователей и группами с их идентификаторами, домашним каталогом и т.д.
cat /etc/passwd