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