Как выйти из chroot - PullRequest
       9

Как выйти из chroot

2 голосов
/ 03 апреля 2012

Я могу chroot с Dir.chroot

Dir.chroot("/var/chroot/mychroot")

Но как мне вернуться из chroot?

Ответы [ 2 ]

4 голосов
/ 03 апреля 2012

Смысл chroot в том, что вы не можете выйти. Однако, если вы не chdir до /var/chroot/mychroot, вы все равно можете получить доступ к внешней файловой системе, используя . и ..

Я не знаю много Ruby, но вот трюк в Python:

/tmp$ sudo python
>>> import os
>>> os.chroot("/var")
>>> os.listdir("/")    # list our new root
['backups', 'log', 'opt', 'cache', 'spool', 'lib', 'local', 'run', 'lock', 'games', 'mail', 'tmp']
>>> os.listdir(".")    # list a directory outside our jail
['.X0-lock', '.ICE-unix', '.X11-unix']
>>> os.listdir("..")   # list the outside root
['lost+found', 'bin', 'mnt', 'boot', 'opt', 'scratch', 'var', 'proc', 'usr', 'etc', 'lib', 'srv', 'sys', 'media', 'root', 'selinux', 'vmlinuz', 'dev', 'tmp', 'home', 'sbin']
0 голосов
/ 03 апреля 2012

Просто сохраните текущий путь перед использованием Dir.chroot, используя Dir.pwd

...