|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Eugene B. Berdnikov 2:5020/400 23 Mar 2001 23:04:51 To : Valentin Nechayev Subject : Re: kernel and security patches -------------------------------------------------------------------------------- Valentin Nechayev <netch@segfault.kiev.ua> wrote: VN> Без chroot, root vnode одна на всех. При chroot (стандартном): VN> 1) root vnode задается для каждого процесса своя, передается по VN> наследству при fork() и exec(), меняется по chroot. Значение при старте VN> первых процессов - базовый корень системы. VN> 2) Для имен, начинающихся с "/", берется этот самый root vnode процесса. VN> 3) namei_lookup явно проверяет ситуацию, когда vnode каталога VN> совпадает с root vnode текущего процесса, а имя объекта - "..". VN> В этом случае он отвечает не результатом соотв. реального поиска, а VN> тем же самым vnode, что поступил как аргумент. VN> 4) Собственно chroot меняет root vnode процесса на заданный. VN> Вариант сисколла, называемый собственно chroot, получает vnode VN> нового корня lookup'ом по указанному пути; fchroot - получает дескриптор VN> каталога и ставит chroot на него. VN> VN> Проблемы этого подхода: VN> VN> 1. Успешный chroot действует на все последующие lookup'ы по абсолютному VN> имени. Hо не по относительному! Пусть текущий каталог был "/", а chroot VN> был задан на "/jail". Сделав что-то от текущего каталога (прочитав, VN> например, "etc/passwd"), мы это делаем вне указанного поддерева. Кстати, почему chroot(2) не меняет cwd внутрь нового рута? Есть ли тут какой-то сермяжный смысл, или это идейный промах? :) VN> Если система поддерживает fchdir и chroot неограниченно и бесконтрольно, В линуксе fchdir (пока?) нет. VN> Замечание 3. Там же есть ограничение на право делать mknod процессом, VN> сидящим в chroot: у него такого права нет. В линуксе mknod(2) из-под chroot возможен. -- Eugene Berdnikov --- ifmail v.2.15dev5 * Origin: Institute for High Energy Physics, Protvino, Russia (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/5353804302d5.html, оценка из 5, голосов 10
|