Неделя восстановления: Режим single-user
06.12.2007

single user modeБывают случаи, когда Fedora перестает загружаться, например, из-за краха файловой системы, случайного удаление загрузочных файлов или неправильной конфигурации системы. Большинство пользователей никогда с этим не сталкивались, однако полезно знать, что делать, чтобы восстановить систему.

Существует специальный режим работы системы — «single user». Это уровень загрузки системы, при котором вы сразу попадаете в шел с root-правами, без выполнения большинства скриптов, запускающихся при нормальной загрузке системы. Поскольку этот режим запускается из вашей текущей файловой системы, он будет работать, только когда ядро, initrd и основная файловая система не повреждены, но он не требует файлов: /etc/inittab, /etc/passwd, и /etc/shadow и загрузочных скриптов. Этот режим может быть использован, когда система в порядке, но по какой-то причине не загружается.

Для загрузки системы в этом режиме, вместо обычной загрузки через меню grub, нажмите пробел в момент, когда появится экран ожидания выбора системы из списка grub. Если у вас установлен пароль на загрузку системы, нажмите P и наберите пароль.Нажмите A для применения опций ядра, которое грузится по-умолчанию, а после наберите пробел и s, чтобы загрузиться в режиме «single-mode». Ваш экран должен выглядеть как на рис. 1. После чего нажмите enter.

Ваша система будет загружена и вы сразу же попадете в шел под суперпользователем (см. рис. 2). Вы можете выполнять все программы, за исключением работы с сетью, принтерами и другими сервисами. Если скрипт запуска сервиса не поврежден, вы можете запустить данный сервис командой service nameOfService start.

Обычно в «single user» для восстановления выполняются следующие операции:

  • установка нового пароля для root-пользователя: passwd
  • замена или восстановление файлов: /etc/inittab, /etc/passwd, и /etc/shadow
  • проверка файловой системы, которая не работает корректно в обычном режиме, а только в «single user»: fsck -f -y /dev/filesystemDevice (Предупреждение: команда, приведенная здесь, запустит восстановление без дальнейших подтверждений пользователя. Результатом выполнения команды может быть восстановленная файловая система, которая может быть подмонтирована, однако, в редких случаях, можно и потерять данные).

Когда вы закончите работать в «single mode», выйдете из шела, используя команду exit, или используя ctrl-d для начала нормальной загрузки системы. Иногда лучше выполнить полную перезагрузку системы, используя команду reboot.

Помните, что использование режима «simgle mode» довольно небезопасно: любой пользователь, имеющий физический доступ к компьютеру, может получить права пользователя root. Пароль на загрузчик может усложнить злоумышленнику задачу. Если вы не установили пароль на загрузчик при установки системы, вы можете его установить в любое время:
1. Используйте команду grub-md5-crypt для генерации зашифрованной версии вашего пароля:

# grub-md5-crypt
Password: hello
Retype password: hello
$1$gNc9G$BppzXI37ogNVc2aJ8tjSe0

2. Скопируйте зашифрованный пароль в конфигурационный файл загрузчика grub /boot/grub/grub.conf:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/concord3/f8root
# initrd /initrd-version.img
#boot=/dev/md0
password --md5
$1$gNc9G$BppzXI37ogNVc2aJ8tjSe0
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.23.1-49.fc8)
root (hd0,0)
kernel /vmlinuz-2.6.23.1-49.fc8 ro root=/dev/concord3/f8root rhgb quiet
initrd /initrd-2.6.23.1-49.fc8.img
title Fedora (2.6.23.1-42.fc8)
root (hd0,0)
kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/concord3/f8root rhgb quiet
initrd /initrd-2.6.23.1-42.fc8.img

Однако пользователь, имеющий физический доступ к компьютеру, может обойти этот пароль, используя загрузку с другого устройства, что будет рассмотрено на этой неделе в одной из последующих статей.