chroot是一個(gè)比較有用的命令,它可以構(gòu)造一個(gè)相對(duì)封閉的環(huán)境(sandbox),在這個(gè)封閉系統(tǒng)里運(yùn)行命令而不必?fù)?dān)心會(huì)對(duì)原有系統(tǒng)造成影響。
Linux/Unix系統(tǒng)里的每個(gè)命令或者進(jìn)程,都有一個(gè) 當(dāng)前的運(yùn)行目錄 (current working directory, i.e., root directory), 這個(gè)目錄可以使用 chroot來(lái)改變。
chroot改變的目錄后,在這個(gè)目錄下面運(yùn)行的進(jìn)程無(wú)法不能訪(fǎng)問(wèn) root directory 之外的文件。
下面以一個(gè)例子說(shuō)明。
1. 創(chuàng)建目錄 /home/charles/tmp/jail
這個(gè)目錄將會(huì)作為一個(gè)封閉的測(cè)試環(huán)境。
2.在測(cè)試目錄下創(chuàng)建子目錄:
把 /bin/bash 和 /bin/ls 拷貝到測(cè)試目錄:
3. 查看 ls 用到的共享庫(kù):
把用到的共享庫(kù)拷貝到對(duì)應(yīng)的測(cè)試目錄:
然后再用 ldd對(duì)測(cè)試目錄下的 ls 和 bash確認(rèn)一下:
把落下的幾個(gè)庫(kù)文件拷過(guò)去:
4. 使用 chroot進(jìn)入測(cè)試目錄:
~$ 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文章
11215瀏覽量
208748 -
UNIX
+關(guān)注
關(guān)注
0文章
296瀏覽量
41394 -
虛擬機(jī)
+關(guān)注
關(guān)注
1文章
906瀏覽量
28027
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論