>столкнулся с аналогичной проблемой восстановления пароля,
>лучший способ решения описан здесь:
>http://www.opennet.me/base/sys/bsd_recover_password.txt.html
>
>но свою проблему я так и не решил, и тому есть причины:
>
>1. Сервер без CD-ROMа
>2. Из PicoBSD мой раздел не монтируется
>3. Скопировать бинарик pwd_mkdb или passwd с дискеты PicoBSD на раздел или
>другую дискету не удается.
>4. В файловой системе single-mode бинариков для смены пароля нет...
>5. Компьютер к интернету не подключен...
>6. Простое редактирование /etc/master.passwd ничего не даст, т.к. необходимо обновить бинарную базу
>pwd.db
>
>Единственный выход я вижу в:
>1. Использовании дискеты msdosfs
>2. Passwd, pwd_mkdb уже скомпилированные для FreeBSD 5.2 (линуксовые не подходят) находящиеся
>на этой дискете...
>
>Я хочу попросить от Вас выложить бинарики:
>/usr/bin/passwd
>/usr/bin/pwd_mkdb
>/bin/passwd
>/bin/pwd_mkdb
>
>в интернете или отправить по почте
>rus66(at)supermail(dot)ru
>
>P.S. to pwd: надеюсь ссылка, которую я указал, поможет все решить
одуреть, да шо ж вы своей головой то не пытаетесь думать?!
берем установочные хлюпики + fixit, предварительно их содержимое
на наличие необходимых утилит + ПОМНИМ что в корневом разделе (а для
смены или удаления root-password нам в ЛЮБОМ случае надо смонтировать
наш "/") есть директории: /sbin и /rescue [rescue начиная с 5.x]
Если утилит недостаточно - копируем на дискету, предварительно
посмотрев как слинкованы.
Грузимся с любого LiveCD или bootable-хлюпики + fixit, далеко ходить не
надо - достаточно установочных от дистрибутива:
Загрузились, в случае если у нас КОРЕНЬ на non-raid устройствах:
adX (ATA) или daY (scsi):
0) выйдя в SHELL смотрим:
# echo $PATH
УСТАНАВЛИВАЕМ нужный нам PATH (к утилитам на LiveCD или Floppy-fixit)
или во всем нижеописанном используем ПОЛНЫЙ ПУТЬ к УТИЛИТАМ:
# /stand/fsck и тд и тп - это лишь пример, смотрите ГДЕ и ЧТО у вас
на CD/Floppy
1) смотрим dmesg и обнаруженные устройства, это наши диски, должны
быть обнаружены, проверить чем угодно: fdisk -s adX или disklabel
(лучше предварительно посмотреть ЧТО у нас было в /etc/fstab и
выписать на листочек - корень обычно /dev/adXs1a - партиция "a",
слайсов тоже не много - не более 4'ех, даже перебором несложно)
2) обязательно запускаем:
# fsck -y /dev/adXs1a (на ВСЯКИЙ случай делаем проверку FS, вдруг она
не была нормально размонтирована и не стоит clear-check bit)
далее fsck на /usr и можно на /var (в принципе НЕОБЯЗАТЕЛЬНО потому
как всегда на LiveCD/Floppy+fixit есть строчный редактор ed/ex - vi-like)
2) после fsck монтируем наш "/" на rw (можно предварительно создать
директорию и иерархию, например: /mnt/myroot
# mount -w /dev/adXs1a /mnt/myroot
# ls -la /mnt/myroot/etc/master.passwd
3) редактируем /mnt/myroot/etc/master.passwd
# ed /mnt/myroot/etc/master.passwd - вычищаем крипт у root'а
Если верхнее сложно, пункт 3) заменяем:
# fsck -y /dev/adXs1Z (допустим это /usr)
# mount -w /dev/adXs1Z /mnt/myroot/usr
НЕ ЗАБЫВАЕМ про пункт 0)
выполняем chroot в /mnt/myroot
# chroot /mnt/myroot
Все, имеем среду с НОВЫМ корнем и usr на ДИСКЕ - echo $PATH
и пользуйтесь на здоровье:
passwd, pw, vipw ...
Вобщем вариантов на базе этого и на базе ЧТО ЕСТЬ и ЧТО НУЖНО - полно,
единственное условие - ВКЛЮЧИТЬ МОЗГИ, а не тупо следовать чьим-то
руководствам, так как они рассчитаны на КОНКРЕТНУЮ ситуацию и на
конкретные условия
Если у нас RAID - значит нужно загрузить нужный модуль или заранее
подготовить нужное ядро для LiveCD/Floppy и записать его туда