- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
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.