chroot是一個比較有用的命令,它可以構(gòu)造一個相對封閉的環(huán)境(sandbox),在這個封閉系統(tǒng)里運行命令而不必擔心會對原有系統(tǒng)造成影響。
Linux/Unix系統(tǒng)里的每個命令或者進程,都有一個 當前的運行目錄 (current working directory, i.e., root directory), 這個目錄可以使用 chroot來改變。
chroot改變的目錄后,在這個目錄下面運行的進程無法不能訪問 root directory 之外的文件。
下面以一個例子說明。
1. 創(chuàng)建目錄 /home/charles/tmp/jail
這個目錄將會作為一個封閉的測試環(huán)境。
2.在測試目錄下創(chuàng)建子目錄:
把 /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
+關(guān)注
關(guān)注
87文章
11310瀏覽量
209625 -
UNIX
+關(guān)注
關(guān)注
0文章
296瀏覽量
41497 -
虛擬機
+關(guān)注
關(guān)注
1文章
917瀏覽量
28221
發(fā)布評論請先 登錄
相關(guān)推薦
評論