Взагалі кажучи, кращим способом рутовий доступу до * BSD є не логін користувачем root, а sudo з-під непривилегированного користувача. Але розглянемо ситуацію, коли все, що у вас є - сервер з FreeBSD і ніяких доступів до нього.
Рутовий пароль можна примусово змінити, для цього знадобиться фізичний доступ до консолі сервера (тобто фізичне підключення з клавіатурою, або, якщо мова про colocation, доступ через IP-KVM або IPMI / BMC) і перезавантаження сервера. Для цього виконайте такі дії:
- Перезавантажте сервер (якщо він включений; просто включите, якщо вимкнений)
- При завантаженні ОС виберіть завантаження в одного користувача режим (опція меню "Boot FreeBSD in single user mode", зазвичай йде під пунктом 4)
- Натисніть Enter у відповідь на питання "Enter full pathname of shell or RETURN for / bin / sh:"
- Тепер сервер завантажений в "сингл". При цьому монтується тільки розділ /. причому в режимі "тільки читання" (інші не монтуються взагалі). Перемонтують його в "нормальний" режим, що дозволяє здійснювати операції запису: mount -o rw /
- Тепер можна змінити рутовий пароль командою passwd - старий пароль при цьому не запитають
- Замінили пароль? Можна продовжити ОС в стандартному, розрахованому на багато користувачів режимі - для цього достатньо вийти з "синглового" шелла, набравши exit.
Даний спосіб (логін в сингл без рутовий пароля) працює з коробки. Щоб відключити цю можливість (щоб хтось, що має фізичний доступ до сервера, що не змінив вам рутовий пароль), потрібно змінити налаштування фізичної консолі: в файлі / etc / ttys змінити рядок
Спробуйте тепер перезавантажитися в одного користувача режим - без знання поточного рутовий пароля в нього не потрапити.
Цей спосіб працює, навіть якщо виконані рекомендації щодо захисту від завантаження в "сингл" без рутовий пароля, так як він взагалі не вимагає завантаження цільової ОС, щоб змінити в ній рутовий пароль.
- Завантажитеся на цільовому сервері в FreeBSD з іншого розділу або взагалі з іншого носія - HDD, CD, з USB-флешки, через мережу по PXE, через virtual media за допомогою BMC / KVM, etc.
Прімонтіруйте кореневий розділ ОС, від якої ви забули пароль, в поточну завантажену ОС:
(Де ad0s1. Відповідно, вказує на кореневий розділ ОС, доступ до якої потрібно відновити - в конкретному випадку букви і цифри можуть змінюватися)
Змініть "поточний" кореневий розділ на примонтировать:
Тепер Ви працюєте як ніби в тій, з загубленим паролем, ОС.
Тепер можна змінити рутовий пароль командою passwd - старий пароль при цьому не запитають
Виходимо з chroot "назовні" в запущену ОС:
Отмонтіруем препаріруемий кореневий розділ ОС, до якої міняємо пароль:
Готово. Можна перезавантажитися назад в цікаву для вас ОС і логінитися з новим рутовий паролем.