Для решения этой проблемы существуют несколько вариантов, которые мы сейчас и рассмотрим.
Восстановление без перезагрузки
Если на одной из виртуальных консолей сохранился открытым сеанс пользователя root (работать под пользователем root, вообще-то, вопиющее нарушение трудовой дисциплины и безопасности системы), восстановить пароль root проще простого – можно воспользоваться командой passwd. Как вариант – отредактировать файлы passwd и shadow таким образом, чтобы пользователя root пускали без пароля и опять-таки воспользоваться командой passwd.
Перезагрузка в однопользовательском режиме
Для доступа к системным файлам можно перегрузить систему в режиме одиночного пользователя.
Для безопасного выполнения перезагрузки с системной консоли достаточно нажать комбинацию клавиш ++. Однако не везде операционная система настроена таким образом, что позволяет любому пользователю перегрузить операционную систему. Также можно попробовать команды reboot, poweroff, halt, однако на серверах обычно операционная система настраивается таким образом, что перегрузить ее может либо пользователь root, либо специально выделенный пользователь.
При компиляции ядра в него иногда включают средства поддержки функции Magic SysRq, предназначенной для принудительного выполнения перезагрузки компьютера или ввода команд sync и unmount.
Ниже перечислены комбинации клавиш, которые удобно использовать для обращения к данной функции.
• ++ – предпринимается попытка выполнить команду sync для всех смонтированных файловых систем;
• ++ – последовательно выполняются команды unmount и remount в режиме "только для чтения";
• ++ – выполняется перезагрузка системы.
Если перезагрузить систему с помощью упомянутых корректных методов все же не удастся, постарайтесь минимизировать разрушения файловых систем, которые могут возникнуть в связи с аварийным выключением системы. Лучше всего такие действия производить тогда, когда для восстановления операционной системы у вас будет достаточно много времени, например по окончании рабочего дня или на выходные. При аварийном выключении компьютера файловые системы не будут корректно демонтированы, и после перезагрузки системы автоматически запустится программа fsck. На сервере с большим объемом дискового пространства выполнение программы может занять несколько часов.
После перезагрузки компьютера нам необходимо загрузить операционную систему в однопользовательском режиме. Как правило, для этого достаточно указать параметр single. При использовании в качестве загрузчика операционной системы программы LILO в командную строку достаточно ввести следующую команду:
LILO: linux single
После этого операционная система должна загрузиться в однопользовательском режиме. Однако иногда операционная система настраивается так, что для перевода операционной системы в однопользовательский режим необходимо указывать пароль пользователя root. Если операционная система настроена именно так, то при выполнении команды init она потребует ввести соответствующий пароль. Для решения этой проблемы можно воспользоваться следующим вариантом запуска операционной системы Linux:
LILO: linux init=/bin/sh
В результате нормальное выполнение загрузки операционной системы будет отменено, лишь только запустится командная оболочка.
В вышеприведенных примерах подразумевается, что используется пункт меню программы LILO, имеющий название linux. Узнать, какие, собственно, варианты загрузки существуют на вашем компьютере можно в тот момент, когда программа LILO ожидает ввода команды. Список доступных для загрузки ядер можно вывести с помощью клавиши <���ТаЬ>.
Помимо вышеописанных сложностей, вполне может оказаться, что ваш загрузчик операционной системы (LILO в данном случае) настроен на использование паролей, значения которых указываются в файле /etc/lilo.conf. Этот режим применяется для запроса специальных паролей в случае загрузки определенных конфигураций системы.
В этом случае без так называемой гевсие-дискеты делать нам нечего. В дистрибутиве Red Hat Linux инсталляционный диск содержит вариант использования компакт-диска в качестве гевсие-дискеты.
Восстановление пароля root после перезагрузки
После успешной загрузки выполните команду mount для корневой файловой системы (в том случае, если вы производили загрузку операционной системы с дискеты или CD-ROM) или заново смонтируйте ее в режиме доступа «для чтения/записи» (в случае обычной загрузки в режиме single или init=/bin/sh).
Читать дальше
Конец ознакомительного отрывка
Купить книгу