Изменить: @ steeldriver предоставил ответ, который, как мне кажется. Я думаю, что нашел причину, по которой я не получил результат, который я хотел в первую очередь. При создании пользователя я ввел полное имя, номер комнаты, рабочий телефон, домашний телефон и другое. Но я пропустил сообщение об ошибке.Несмотря на то, что организационная информация (также известная как информация GECOS, о которой мне сообщил @muru) отсутствует, похоже, пользователь был успешно создан. Сообщение об ошибке гласило:
chfn: fields too long
adduser: `/bin/chfn user_that_i_created' returned error code 1. Exiting.
Конец редактирования.
Извините за вопрос, я действительно пытался найти ответ сам и, кажется, не могу задать Google правильный вопрос, чтобы найти ответ, который мне нужен.
Итак, мы все знаем, как найти пользовательские данные, интересные с технической точки зрения, с помощью / etc / passwd
и grep
или других команд. Но это не то, что я ищу.
При создании пользователя вас просят указать комнату, рабочий телефон и другие данные организации. Вы бы изменили эти данные с помощью chfn
. Но как вы можете просто вывести эти данные? Я думаю, это должно быть в каком-то файле? Могу ли я сделать cat [файл, в котором хранятся данные пользователя организации]
, чтобы увидеть номер телефона, номер комнаты и т. Д.? Как я могу отобразить эту информацию?
fn
в chfn
означает f ull n ame, и информация сохраняется в поле полного имени пароля. база данных - или то, что man 5 passwd
вызывает
· имя пользователя или поле комментария
(его также обычно называют полем GECOS ). Таким образом, вы можете получить их с помощью getent
$ getent passwd testuser
testuser:x:1001:1001:John Doe,101,234-555-1224,689-555-3785:/home/testuser:/bin/sh
. Если вы используете локальное управление учетными записями (а не какое-то распределенное управление, такое как NIS или LDAP), данные хранятся в виде простого текста в / etc / passwd
, и к нему можно получить доступ напрямую с помощью cat
или less
или с помощью любого из различных инструментов обработки текста, например.
$ awk -F: -v user=testuser '$1 == user {print $5}' /etc/passwd
John Doe,101,234-555-1224,689-555-3785
Вы также можете использовать команду finger
для доступа к нему в удобочитаемом формате:
$ finger -l testuser
Login: testuser Name: John Doe
Directory: /home/testuser Shell: /bin/sh
Office: 101, 234-555-1224 Home Phone: 689-555-3785
Last login Thu Jul 8 14:41 (EDT) on pts/2 from 192.168.1.4
No mail.
No Plan.