>Установил на новом винте FreeBSD 4.5, а со старого (тамм версия 3.2)
>перенёс домашние директории пользователей и файлы "master.passwd" и "passwd".
>Получилось очень интересно - часть пользователей - фантомы :-((
>То есть: им не разрешает система логинится по тому, как считает их
>несуществующими. Пробовал удалять их - то же самое - говорит, что
>отсутствует такой юзер. А если попробовать добавить его, то говорит, что
>он уже существует!!! :-(
>Помогите разобраться, может я чего упустил?
кто ж знает что ты делал, если просто взял и перенес master.passwd и
passwd - то голову лечить нужно эт к гадалке не ходи.
После установки у тебя были /etc/passwd и master.passwd ПРАВИЛЬНОГО,
НУЖНОГО формата и хеши: /etc/pwd.db и /etc/spwd.db
man pwd_mkdb
Все что нужно было сделать, прочитать man 5 passwd и сравнить поля
нового и старого master.passwd, после чего написать скрипт вырезающий
всех нужных тебе пользователей из старого master.passwd с конвертацие(добавлением новых полей для соответствия новому формату)
Получил бы файл usernewstyle_master.passwd, после чего его можно
прямо через vipw подгрузить к текущему что есть после установки.
После vipw базы автоматически будут пересобраны, ошибаться в форматах
нельзя, иначе замучаешься потом искать.
Почти такой же вариант:
- вырезать из старого /etc/passwd всех пользователей, сконвертить в новый
формат newpasswd_oldusers
- по newpasswd_oldusers вырезать этих пользователей из старого master.passwd с конвертацией опять же в новый формат
(ошибок быть не должно)
- теперь можно склеивать текущий passwd с изготовленным, текущий
master.passwd с изготовленным
- после склейки pwd_mkdb и он не должен выдать ошибок.
остальное - пользовательские SHELL'ы указанные в passwd, должны
присутствовать в /etc/shells, ну и не забыть поправить текущий /etc/group
в соответствии с тем что было в старом.
Елки, это и в man 5 passwd описывается
Да, оригинальный passwd/master.passwd можно взять из /usr/src/etc/master.passwd, надеюсь понятно как это сделать(домашнее задание)?