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文章
11456瀏覽量
212742 -
UNIX
+關注
關注
0文章
296瀏覽量
42079 -
虛擬機
+關注
關注
1文章
962瀏覽量
29016
發布評論請先 登錄
掌握Linux操作系統的虛擬機定制安裝
在虛擬機搭建Windows和Unix系統
你會用VMware虛擬機安裝Linux系統?

評論