Как поменять данные в учетной карточке?

Во-первых, для изменения секретного пароля юзера (поле 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