虚拟机:Linux或Unix系统使用chroot

电子说

1.3w人已加入

描述

chroot是一个比较有用的命令,它可以构造一个相对封闭的环境(sandbox),在这个封闭系统里运行命令而不必担心会对原有系统造成影响。

Linux/Unix系统里的每个命令或者进程,都有一个 当前的运行目录 (current working directory, i.e., root directory), 这个目录可以使用 chroot来改变。

chroot改变的目录后,在这个目录下面运行的进程无法不能访问 root directory 之外的文件。

下面以一个例子说明。

1. 创建目录 /home/charles/tmp/jail

这个目录将会作为一个封闭的测试环境。

2.在测试目录下创建子目录:

UNIX

把 /bin/bash 和 /bin/ls 拷贝到测试目录:

UNIX

3. 查看 ls 用到的共享库:

UNIX

把用到的共享库拷贝到对应的测试目录:

UNIX

然后再用 ldd对测试目录下的 ls 和 bash确认一下:

UNIX

把落下的几个库文件拷过去:

UNIX

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

/

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分