Меняем вот так:
Код: Выделить всё
chroot foo
И вот везде написано, что тут должна запуститься оболочка. И везде, в том громадном объёме информации, который я перелопатил, сказано, что нужно, раз мы меняем корневую директорию, то и пути к оболочке поменять. Чего-то куда-то перенести. В общем всё куда-то скопировать, что, наверное, правильно, ибо если оболчка была, к примеру в /bin/sh, то, раз корень стал другим, то её тоже нужно перенести куда-то и не только её.
В общем, я в детали почему не вникаю- моя задача скромнее- убедиться что chroot работает, поэтому запускать буду ЧТО-НИБУДЬ. Что-нибудь это "Hello,word". "Hello, word!" это a.out. И я очень сильно подозреваю, ибо ему всё равно на все пути, ибо, как я могу судить он просто загружается в память без всяких там путей и начинает работать. Пишу с комментами; в командной сроке их, есессно, нет:
Код: Выделить всё
//убедимся, что a.out работает
# ./a.out
Hello, word!
//создадим папку foo и скопируем в неё a.out
# mkdir foo
# cp a.out foo/a.out
//убедимся, что a.out перенёсся нормально
# foo/a.out
Hello, word!
//собственно chroot с вариациями:
# chroot foo ./a.out
# chroot foo a.out
#
В общем, безрезультатно всё, не видно "Hello, word!!" Пытался я запустить исполняемый файл и с вечным циклом внутри себя (while(1)) в надежде, что я увижу как-нибудь работу процесса. Бесполезно. ЧЯДНТ? Спасибо, кто откликнется. Вся раьбота из-под root-а, естесственно.