Как я могу перечислить всех пользователей наряду с их UIDs? Я хочу сделать это от терминала.
Перечислите всех пользователей с /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
[еще 1111] информация здесь
Можно найти его легко, просто используя cut
:
cut -d: -f1,3 /etc/passwd
-d:
наборы разделитель как :
для cut
-f1,3
извлечения поле 1 и 3, только разграниченное :
от /etc/passwd
Проверка файла
man cut
для получения большей идеи.
Пример:
$ cut -d: -f1,3 /etc/passwd
root:0
daemon:1
bin:2
sys:3
sync:4
games:5
......
, Если Вы имеете ldap
настроенный, для включения эти ldap
пользователи в выводе:
getent passwd | cut -d: -f1,3
Поскольку Вы пытаетесь перечислить UID, и Имя пользователя, ниже команды работает лучше лучше всего над Солярисом. У них есть два awk
awk-F: '(3$> =1000) {printf "%s: % s", 1$, 3$}'/etc/passwd
Я нахожу, что самый легкий путь состоит в том, чтобы иметь webmin на Вашем сервере и просто перейти к Системе> Пользователи и Группы, и там у Вас есть приятно форматированный список со всеми именами пользователей & группы с их uid's, корневой каталог и т.д.
Кроме того, перечислять всех пользователей включая информацию о GID и UID.
for user in $(cat /etc/passwd | cut -f1 -d":"); do id $users; done
Удачи,