Введение в утилиту chfn
В операционных системах семейства Linux служебные метаданные учетных записей — полное имя сотрудника, номер кабинета и контактные телефоны — хранятся в специальном поле GECOS. Для корректного и безопасного редактирования этих параметров предназначена стандартная утилита chfn. Вместо сухого разбора справочных руководств man, мы на наглядных практических примерах в терминале разберем процесс модификации и проверки пользовательских сведений.
Создание тестовой учетной записи и инспекция начального состояния
Чтобы не затрагивать рабочие профили системы, подготовим изолированного пользователя testuser. Для этого выполним команду id -u testuser &>/dev/null || useradd -m -s /bin/bash testuser, которая создаст учетную запись с домашним каталогом и оболочкой Bash, если она еще не зарегистрирована.

Сразу после инициализации учетной записи проверим ее конфигурационную запись в базе /etc/passwd с помощью команды getent passwd testuser.
В выводе пятое поле (отвечающее за блок GECOS) остается пустым — это подтверждает, что никакие расширенные контактные данные для нового пользователя еще не заданы.

Пакетное заполнение атрибутов GECOS с помощью флагов chfn
Утилита chfn поддерживает неинтерактивный режим пакетной настройки, что крайне удобно для сценариев автоматизации. Для одновременного присвоения всех персональных реквизитов пользователю testuser запустим команду chfn -f 'Tech Writer' -r 'Lab-404' -w '02-1234-5678' -h '010-9876-5432' testuser.
Флаг -f определяет полное имя (Full Name), -r — локацию или номер комнаты (Room), -w — рабочий телефон (Work Phone), а -h — домашний телефон (Home Phone).

Убедимся в успешной синхронизации внесенных изменений с системными файлами, повторно вызвав команду getent passwd testuser.
Как видно из ответа терминала, в пятой позиции строки учетной записи теперь перечислены все указанные значения, разделенные запятыми (,), строго в формате стандарта GECOS.

Установка пакета finger и структурированный просмотр профиля
В то время как getent выводит сырую строку, классическая системная утилита finger форматирует эти метаданные в удобную для чтения карточку. Установим данный инструмент в систему с помощью команды apt-get update -qq && apt-get install -y finger.

После успешной инсталляции запросим карточку профиля командой finger testuser.
Инструмент скомпонует сохраненные данные в наглядный отчет, где четко структурированы реальное имя (Name), рабочее помещение с телефоном (Office) и домашний номер (Home Phone).

Точечное обновление метаданных и очистка тестового окружения
Если требуется изменить лишь часть параметров, нет необходимости перезаписывать все поля заново. Чтобы обновить имя и рабочий кабинет, сохранив прежние телефонные контакты, выполним команду chfn -f 'DevOps Lead' -r 'HQ-701' testuser.
Неуказанные аргументы останутся нетронутыми, а модификации подвергнутся исключительно переданные значения.

Проконтролируем результат частичного обновления непосредственно в системном файле через команду grep '^testuser:' /etc/passwd.
Вывод подтверждает: должность/имя и комната обновились до новых значений, тогда как телефонные номера остались в целости и сохранности.

Завершив практическую работу, наведем порядок в операционной системе. Удалим созданного пользователя вместе с его домашней директорией и почтовым ящиком с помощью команды userdel -r testuser.

Мы подробно рассмотрели практическое применение команды chfn для администрирования полей GECOS в Linux.
Гибкое комбинирование ее ключей позволяет системным инженерам и администраторам быстро поддерживать актуальность контактных сведений пользователей как вручную, так и в рамках автоматизированных скриптов.