Во-первых, для изменения секретного пароля юзера (поле 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). Не забудьте указать, в качестве значения этой переменной, ваш любимый текстовый редактор.
Иван Паскаль [email protected]