Как поменять данные в учетной карточке?
Во-первых, для изменения секретного пароля юзера (поле Password)
надо использовать специальную команду
passwd "имя юзера"
поскольку, в учетной карточке пароль хранится в зашифрованном виде
и правильно изменить его текстовым редактором невозможно.
Все остальные поля можно поменять с помощью утилиты vipw или
chpass. Можно, также, использовать "универсальную" утилиту pw,
хотя в данном случае, это, пожалуй, самый неудобный инструмент.
Программа vipw (можете посмотреть о ней также в разделе "Как добавить
юзера") позволяет редактировать запись непосредственно в файле master.passwd.
Естественно, вы должны представлять себе формат этой записи (об этом можно
прочитать в man 5 passwd).
Несколько более удобной является утилита chpass (она же chsh и chfn).
Она дает возможность редактировать конкретную учетную карточку юзера,
имя которого вы укажете при запуске этой программы. Но, при этом, она
выводит какждое поле какрточки в отдельной строке с подсказкой - что
какое поле означает.
Login: vasia
Password: .....
Uid [#]: 1000
Gid [#]: 1000
... и т.д.
Особенно, программа chpass полезна, если вы захотите изменить
Password change time (дату, когда система предложит юзеру поменять пароль)
или Account expiration time (дату, после которой не пускать юзера в систему).
Дело в том, что в самой учетной карточке эти даты хранятся в цифровом формате,
понятном только самой системе, а chpass показывает и воспринимает их
в "человеческом" виде (месяц, день, год).
Программу pw тоже можно использовать для изменения данных в учетной
карточке (вообще-то ее удобнее применять для создания/удаления юзеров).
Этой программе все данные нужно задавать в командной строке, с помощью
соответствующих ключей. Например:
pw usermod vasia -s /bin/csh
запишет в учетную карточку юзера vasia Shell - /bin/csh.
Список всех возможных ключей можно "спросить" у самой программы
pw usermod help
(и, конечно, хорошо бы почитать man pw).
Чтобы не "действовать вслепую" можно посмотреть текущие данные у юзера
командой
pw usershow vasia.
Конечно, в данном случае pw usermod менее удобна, чем
"полноэкранные" утилиты. Ее использование может быть оправдано только
в случае, когда надо сделать много однотипных изменений для нескольких юзеров.
Ну, или если вы привыкли ей пользоваться (pw - утилита универсальная
для регистрации/просмотра/изменения/удаления юзеров, и во многих случаях
может оказаться более удобной, чем остальные).
Заметьте, что vipw вообще не проверяет корректность данных.
А chpass и pw usermod проверяют только отдельные поля (и то,
иногда отделываются предупреждениями).
Ни одна из них не проверяет на уникальность Name и user ID.
Поэтому, пользуйтесь ими с осторожностью.
И, наконец, опять замечание по поводу текстового редактора.
Ни одна из описанных "полноэкранных" утилит не имеет своего редактора и
вызывает тот редактор, который задан переменной окружения EDITOR
(если таковой не обнаружится, используется редактор vi).
Не забудьте указать, в качестве значения этой переменной, ваш любимый
текстовый редактор.
Иван Паскаль pascal@tsu.ru