Изменения

м
Нет описания правки
Конкретно, в запущенном из старого корня процессе получается так:
* <tt>cd / -</tt> &rarr; попадаем в старый корень (rootfs).* <tt>ls /.. -</tt> &rarr; листается новый корень.* <tt>ls /<любая_папка>/.. -</tt> &rarr; листается новый корень.* <tt>cd /.. -</tt> &rarr; всё-таки остаёмся в старом корне.* <tt>mount --move /.. /root -</tt> &rarr; самое интересное. Новый корень перемещается в подпапку rootfs /root, а остальная система становится как бы запущенной в chroot’е.
А из chroot’а, как известно, можно вылезти — нужно только получить открытый дескриптор на директорию, находящуюся ВНЕ текущего корня. Делается это путём открытия / и потом ещё одного chroot’а в его подпапку. После этого достаточно сделать fchdir в открытый дескриптор и потом «cd ..» столько раз, сколько нужно.