Журнал LinuxFormat - перейти на главную

LXF104:Совет месяца

Материал из Linuxformat
Перейти к: навигация, поиск

Администрируете ли вы критически важный сервер в крупном дата-центре или потихоньку «ломаете» свой домашний компьютер, если случится беда, Live CD всегда готовы прийти к вам на помощь. Совершив ошибку, вы можете загрузить Knoppix, Ubuntu, GRML или что-нибудь еще, смонтировать разделы жесткого диска и все исправить. Однако, некоторые неполадки устранить подобным образом затруднительно, поскольку для этого требуется, чтобы вы были загружены в свою систему. У одного из участников форума LXF недавно была подобная ситуация: перестал работать пароль root.

Решение приходит в лице команды chroot (changroot), которая устанавливает рабочее окружение внутри директории. Имейте в виду, что root в данном случае имеет смысл «корневой каталог», а не «суперпользователь», хотя только последнему разрешено выполнять эту команду. Chroot ограничивает систему заданным каталогом; доступ ко всему, что лежит вне него, запрещается, и все выглядит так, как будто выбранная вами директория и есть корневая. Теперь, чтобы, например, задать новый пароль достаточно загрузиться с LiveCD, смонтировать корневую файловую систему в /mnt/tmp, и выполнить команды

sudo -i
mount --bind/dev /mny/tmp/dev
mount -type proc none/mnt/tmp/proc
chroot /mnt/bin/bash

Первая из них позволяет получить права root в Ubuntu. Следующая делает каталоги /dev и /proc доступными из chroot, а последняя переходит в избранный каталог и запускает bash. Теперь можно набрать passwd, чтобы поменять пароль (или вызвать любую другую команду). Когда закончите, нажмите Ctrl-D, чтобы выйти из chroot.

Персональные инструменты
купить
подписаться
Яндекс.Метрика