使用chroot和supermin5建立安全隔離的環境
阿新 • • 發佈:2018-11-12
chroot
chroot 顧名思義就是 change root directory。在 linux 系統中,系統預設的根路徑是 “/”。而在使用 chroot 之後,系統的目錄結構將以指定的目錄作為 “/”。
使用chroot後可以建立一個完全隔離的環境,方便使用者在完全隔離的環境下的開發執行。
在執行 chroot 之後,使用者就進入了新的根目錄下,並且所有的操作都是基於新的根目錄來操作,使用者根本訪問不到原來的系統根目錄。
因此,我們可以設定使用者登入前使用chroot,這樣就可以限制使用者只能在一定的目錄下操作,避免使用者訪問一些系統的檔案。
supermin5
Supermin 是一個用來建立迷你虛擬環境的工具,有點類似建立的迷你虛擬機器環境。
如果機器上沒有 supermin5 命令,可以使用下面的命令安裝
sudo yum install -y supermin*
使用supermin5建立虛擬環境
注:以下命令需要使用root使用者來執行
# mkdir myenv
# cd myenv
# 下面命令是準備要安裝的軟體包並儲存在supermin.d目錄下
# supermin5 -v --prepare bash coreutils iputils tar wget git vim yum python python2-pip -o supermin.d
# 下面命令是根據上一步準備的安裝包目錄製作隔離的環境,並儲存在appliance.d目錄下
# supermin5 -v --build --format chroot supermin.d -o appliance.d
# 如果要上網執行下面命令
# cp /etc/resolv.conf appliance.d/etc/
# 如果要使用yum安裝軟體包
# echo 7 > appliance.d/etc/yum/vars/releasever
使用chroot切換根目錄
注:以下命令需要使用root使用者來執行
# cd appliance.d/
# chroot . <<< 切換根目錄
# 以下操作均是在新的根目錄下執行了
bash-4.2# ls <<<
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
bash-4.2# python
Python 2.7.5 (default, Apr 11 2018, 07:36:10)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
...