chroot是一个比较有用的命令,它可以构造一个相对封闭的环境(sandbox),在这个封闭系统里运行命令而不必担心会对原有系统造成影响。
Linux/Unix系统里的每个命令或者进程,都有一个 当前的运行目录 (current working directory, i.e., root directory), 这个目录可以使用 chroot来改变。
chroot改变的目录后,在这个目录下面运行的进程无法不能访问 root directory 之外的文件。
下面以一个例子说明。
1. 创建目录 /home/charles/tmp/jail
这个目录将会作为一个封闭的测试环境。
2.在测试目录下创建子目录:
把 /bin/bash 和 /bin/ls 拷贝到测试目录:
3. 查看 ls 用到的共享库:
把用到的共享库拷贝到对应的测试目录:
然后再用 ldd对测试目录下的 ls 和 bash确认一下:
把落下的几个库文件拷过去:
4. 使用 chroot进入测试目录:
~$ sudo chroot /home/charles/tmp/jail/ /bin/bash
bash-4.3#
:~$ sudo chroot /home/charles/tmp/jail/ /bin/bashbash-4.3# ls
bin lib
bash-4.3# pwd
/
-
Linux
+关注
关注
87文章
11310浏览量
209639 -
UNIX
+关注
关注
0文章
296浏览量
41497 -
虚拟机
+关注
关注
1文章
917浏览量
28223
发布评论请先 登录
相关推荐
评论