Есть ли удобная команда, которую я могу использовать для вывода списка пользователей в консоли в системе Ubuntu?
Когда я cat /etc/passwd
получаю трудно читаемый список пользователей. Было бы неплохо увидеть алфавитный список с записями в столбцах и именами групп в скобках рядом с идентификаторами групп.
command-line
users
М. Дадли
источник
источник
cut
. Для алфавита естьsort
. Если вам нужны имена групп, поиграйтесь с объединением (которое может показывать только подмножество столбцов, кстати).Ответы:
Хороший способ для хорошего вывода файла / etc / passwd:
Теперь вы можете отсортировать это:
С именами групп в последнем столбце (без скобок):
источник
n
вариант.column -ts: /etc/passwd
работал нормально.Если у вас есть root-доступ на компьютере, вы можете сделать следующее:
Как это работает
Зарегистрируйтесь как root, чтобы прочитать файл shadow. Вам требуются права суперпользователя только в том случае, если вы хотите проверить, есть ли у пользователя установленный пароль (обычный пользователь), в противном случае вы можете просто
cat /etc/passwd
вместоsudo grep ...
:Показывать только тех пользователей, у которых установлен пароль:
Сортировать по имени пользователя:
Откажитесь от всей информации, кроме имени пользователя:
Переберите имена пользователей и обогатите их информацией о группах:
Отформатируйте ввод в столбцы:
Используйте vi для просмотра результата:
Если у вас нет корневого доступа,
попробуйте что-то вроде этого:
Его вывод немного отличается, но я оставляю читателю в качестве упражнения объединить две части в этом ответе в нечто, полностью соответствующее работе. (Разве ты не просто любишь
sed
?)источник
В Ubuntu это может быть следующим:
семь полей из / etc / passwd хранятся в $ f1, f2 ..., $ f7
источник
То, что я делаю, и это работает для моих целей
Конечно, это не дает вам список пользователей, а скорее список домашних каталогов пользователей и прошлых каталогов пользователей, но любая команда, которую вы хотите выполнить для пользователя, которого нет в терминале, сообщит вам и может стать подсказкой для удаления. домашний файл, который не имеет пользователя или переместить его!
источник
Я думал, что это будет легко
join
, ноjoin
требует, чтобы файлы были отсортированы в поле соединения . Так что требуется (?) Обходной путь с временными файлами. Вывод сортируется по пользователю и отображает идентификатор пользователя, группы и группы.Перевести персонажа в другого с помощью
tr
;sort
в соответствии с ключевым полем с-k
, вывод в файл с-o
; объединить в отношении полей в файле first (-1
) и second (-2
), вывести определенные поля в первый файл (-o 1.1
), а также во второй (,2.1,2.3
).источник
/tmp
было бы лучше, потому что FHS заявляет, что/var/tmp
не будет стираться при перезагрузках, которые нам на самом деле не нужны.