> Снижает ли chroot произвотельность дисковых операций
а для чего должен использоваться chroot?
(кроме как в моменты для усстановки новой операционной системы?)
ведь нет никакого смысла использовать chroot [например] в качестве «изоляции, на случай случай взлома»... так как после взлома за`chroot`нутого сервиса — сразу происходит вполне документированная операция «побег-из-chroot» (и это не какойто там баг ядра, а вполне всё как пологается)
> ведь нет никакого смысла использовать chroot [например] в качестве «изоляции, на случай случай взлома»
если сервис выполняется не от рута, то есть некоторый смысл, а если от рута, то grsecurity
Неверно. chroot должен использоваться везде, где требуется создание песочницы. Это в разы более обширная ниша, чем просто «разработка, сборка, тестирование». Чисто как пример: деплоймент.
Это же не виртуализация.
Виртуализацией является эмуляция железа(создание виртуального железа). Т.е. это не виртуализация в признанном смысле.
Снижает ли chroot произвотельность дисковых операций
Надо смотреть внутренности chroot. Я думаю есть оверхед на операции поиска файла по имени, но он меньше, чем будь оно если ты используешь симлинки. А на симлинках в Linux построено много чего, поэтому бояться тем более не следует.
> Что будет, когда человек в chroot запросит /home/1.txt?
Будет произведён поиск пути начиная от каталога, на который указывает root-дескриптор процесса. // К.О.
Из всем известной древней книжки: «Ядро хранит глобальную переменную, которая указывает на индекс глобального корня, выделяемый по алгоритму iget при загрузке системы. Процессы могут менять свое представление о корневом каталоге файловой системы с помощью системной функции chroot. [...] Выполняя функцию chroot, ядро следует тому же алгоритму, что и при смене текущего каталога. Оно запоминает индекс нового корня в пространстве процесса, снимая с индекса блокировку по завершении выполнения функции.»
Не думаю, что в ядре Linux иначе. Исходники грепать лень.
Ну да, как-то так. В результате получается незначительный оверхед.
Стоит бояться не самого chroot, а того, что ты будешь делать с окружением: создавать дополнительные /home, юзеров, etc.
>если сервис выполняется не от рута, то есть некоторый смысл, а если от рута, то grsecurity
тогда приложение из тюрьмы сбежать уже не может, если не из-под рута?
не влияет вообще, это ведь замена от силы нескольких указателей. И да, весь ваш линукс работает "в чруте", тк inird последним делом чрутится в настоящий корень.