Вы можете изменить данные пользователя с помощью chfn (например, p hone, room), но как вы можете просто отобразить эти организационные данные?

Изменить: @ 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 [файл, в котором хранятся данные пользователя организации] , чтобы увидеть номер телефона, номер комнаты и т. Д.? Как я могу отобразить эту информацию?

0
задан 15 July 2021 в 23:05

1 ответ

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.
2
ответ дан 28 July 2021 в 11:18

Другие вопросы по тегам:

Похожие вопросы: