народ у меня такая проблема - удален пользователь root :-(
ричем конкретно - смотрела и в /etc/passwd
помогите пожалуйста его восстановить!
как я понимаю - нужно зайти как сингл-юзер и вручную добавить строку рута в /etc/master.passwd
но в таком режиме система не понимает даже команду more не то чтобы vi
как можно отредактировать файл?
>народ у меня такая проблема - удален пользователь root :-(
>ричем конкретно - смотрела и в /etc/passwd
>помогите пожалуйста его восстановить!
>как я понимаю - нужно зайти как сингл-юзер и вручную добавить строку
>рута в /etc/master.passwd
>но в таком режиме система не понимает даже команду more не то
>чтобы vi
>как можно отредактировать файл?перемантировать в rw режиме
что именно привело к этому?
>народ у меня такая проблема - удален пользователь root :-(
>ричем конкретно - смотрела и в /etc/passwd
>помогите пожалуйста его восстановить!
>как я понимаю - нужно зайти как сингл-юзер и вручную добавить строку
>рута в /etc/master.passwd
>но в таком режиме система не понимает даже команду more не то
>чтобы vi
>как можно отредактировать файл?
Попробую предположить следующее - в сингл юзер монтируется только корневой раздел. Т.к. more лежит в /usr/bin, то его и не находит.
Можно попробовать так:
mount -a (для freebsd, если линуксы - я не уверен, что сработает)
либо
cat /etc/fstab и монтировать вручную
И ещё - корневой раздел, скорее всего, будет примонтирован в read only - необходимо будет перемонтировать.
>народ у меня такая проблема - удален пользователь root :-(
>ричем конкретно - смотрела и в /etc/passwd
>помогите пожалуйста его восстановить!
>как я понимаю - нужно зайти как сингл-юзер и вручную добавить строку
>рута в /etc/master.passwd
>но в таком режиме система не понимает даже команду more не то
>чтобы vi
>как можно отредактировать файл?выписать на листочек /etc/fstab - слайсы-партиции и куда монтируются
загрузиться с флопов c использованием fixit. Там не будет проблем
с путями, или с установочного-cd или live-cd и как было сказано, в меню
выйти на fixit.После того как в Fixit вышли в shell, запустить fsck -y /dev/устройство
на которое монтируется root-fs из /etc/fstab что на листочке, затем
тоже самое проделать с /usr: fsck и mount в /mnt/usr, затем
из /mnt/usr/src/etc/master.passwd взять беспарольный вход для root'а
и всандалить в /mnt/etc/master.passwd, все дела.по шагам:
1) загрузились с хлюпиков или с cd
2) вышли в режим Fixit(shell)
3) fsck -y /dev/устройство_на_котором_rootfs
4) fsck -y /dev/устройство_на котором_usr (если система установлена с sources, если нет, опустить этот пункт и использовать строку
root::0:0::0:0:Charlie &:/root:/bin/csh
для master.passwd
4) смонтировать нашу прочищенную rootfs и usrmount -t ufs /dev/устройство_на_котором_rootfs /mnt
mount -t ufs /dev/устройство_на котором_usr /mnt/usr5) взять шаблон-строку для root'а из sources:
grep root /mnt/usr/src/etc/master.passwd6) используя ed/vi, если в Fixit режиме выполнился chroot, вовсе можно
использовать vipw чтобы вставить указанную выше строку в
/mnt/etc/master.passwd и /mnt/etc/passwd7) запустить pwd_mkdb
pwd_mkdb -d /mnt/etc /mnt/etc/master.passwd
Вроде все, хотя в fixit наверняка можно проще сделать если chroot там
отрабатывает, просто не помню, chroot можно сделать после выпонения пункта
4) - типа chroot /mnt, тогда можно vipw, и любой редактор из /usr, еще
проще использовать ed - тот же vi только строчный, вовсе без
всяких заморочек, fsck/mount и edПосле успешного проведения восстановления, перегрузится и незабыть
создать пароль у рута, ибо по шаблону root:: означает без пароля
все началось замечательно
но когда дошла до пункта4) смонтировать нашу прочищенную rootfs и usr
система выдает что device busy
не понимаю
>все началось замечательно
>но когда дошла до пункта
>
>4) смонтировать нашу прочищенную rootfs и usr
>система выдает что device busy
>не понимаюкоманду mount выполни и если непонятно, кинь сюда, включая то что скопировано с /etc/fstab жесткого диска твоей системы
если говорит что busy - значит уже смонтирована видимо
версия FreeBSD какая? Если 5.x то в loader'е при загрузке что выбирается?
>команду mount выполнине могу я ее выполнить
и если непонятно, кинь сюда, включая то что скопировано
>с /etc/fstab жесткого диска твоей системы/dev/ad0s1b swap
/dev/ad0s1a /
/dev/ad0s1d /tmp
/dev/ad0s1f /usr
/dev/ad0s1e /var
>если говорит что busy - значит уже смонтирована видимо
ну а если смонтировано то почему дальше не пускает>версия FreeBSD какая? Если 5.x то в loader'е при загрузке что выбирается?
версия 5.2
следовательно мне даже с диска не нужно грузиться я просто при перезагрузке выбираю sinle user mode
>
>>команду mount выполни
>
>не могу я ее выполнитьвидимо путь не прописан, выполни:
$ echo $PATH
если он пустой, задай нормальный:
$ setenv PATH /bin:/sbin:/usr/bin:/usr/sbin
или выполняй команды задавая полный путь:
$ /sbin/mount
> и если непонятно, кинь сюда, включая то что скопировано
>>с /etc/fstab жесткого диска твоей системы
>
>/dev/ad0s1b swap
>/dev/ad0s1a /
>/dev/ad0s1d /tmp
>/dev/ad0s1f /usr
>/dev/ad0s1e /varвыполни команду mount и смотри что у тебя смонтировано, если смонтировано
на rw, продолжай дальше править как описано, если смонтировано на чтение
- размонтируй umount /dir_куда_смонтировано и примонтируй на rw:mount /dev/ad0s1a /mnt
mount /dev/ad0s1f /mnt/usr>
>>если говорит что busy - значит уже смонтирована видимо
>ну а если смонтировано то почему дальше не пускает
>
>>версия FreeBSD какая? Если 5.x то в loader'е при загрузке что выбирается?
>версия 5.2
>следовательно мне даже с диска не нужно грузиться я просто при перезагрузке
>выбираю sinle user modeесли в single-user mode не потребуется пароль, то достаточно single-user
mode, смотри как смонтирован root-fs, если на чтение, запусти fsck -y,
затем перемонтируй на rw, тоже самое с /usr, затем если переменная$ echo $PATH пустая, задай
$ setenv PATH /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/binдальше как описано, vi или попробуй vipw или другой редактор
все получилось! огромное спасибо!