jailkit 是一款能夠在一個chroot jail中快速創建受限用戶帳戶的工具集。它包含了一個安全日志守護進程,shells可以限制用戶,開啟和設置chroot jail守護進程的工具。
【操作步驟】
1.下載相關軟件:
代碼如下:
wget -c http://olivier.sessink.nl/jailkit/jailkit-2.11.tar.gz
2.解壓編譯安裝等操作
代碼如下:
tar zxvf jailkit-2.11.tar.gz
cd jailkit-2.11
./configure
make && make install
cp extra/jailkit /etc/init.d/
chmod 755 /etc/init.d/jailkit
chkconif jailkit on
3.安裝比較簡單,就上述步驟,請下來就是配置chroot環境。
a. 創建個chroot目錄:
代碼如下:
mkdir /home/sky // # /home/sky也就是虛擬的根目錄
b.初始化虛擬的根(chroot)環境:(復制相應的鏈接庫到/home/sky/目錄)
代碼如下:
jk_init -v -j /home/sky/ sftp scp ssh jk_lsh extendedshell
其實這一步就是相對於重構一個小的系統,/home/sky就是根目錄,然後創建
這個子系統所需要相應鏈接庫等相關目錄或文件。
4.基礎配置完置,接下來就是測試過程,是否滿足開始的需求:
a.創建測試用戶:有兩種方法,可以用系統自帶的命令,或者使用/usr/sbin/jk_addjailuser.
代碼如下:
jk_addjailuser -d /home/test3 /home/sky/ test3 #創建test3用戶
如果系統用戶已經創建好,只需要移動到chroot環境下,命令如下
代碼如下:
jk_jailuser -m -n -j /home/sky/ --shell=/bin/bash test1
echo "111111" |passwd test1 --stdin //# 更改密碼,方便後面ssh測試.
完成上述步驟後,進行測試。
【測試步驟】
代碼如下:
su - test1 ##切換為test1用戶
pwd
/home/test1
cd /tmp
bash: cd: /tmp: No such file or directory
touch a
mkdir tmp //# 建立tmp目錄,注意這裡是/home/test1/tmp,
其實對應的系統目錄是/home/sky/home/tes1/tmp.不要理解錯了。
再使用ssh來測試。
[email protected]'s password:
還是一樣的效果,可以多測試。到了這裡,就有個問題如何限制到使用有限的命令呢?
我們看下
代碼如下:
ls -l /home/sky/
總計 28
drwxr-xr-x 2 root root 4096 11-09 10:34 bin
drwxr-xr-x 2 root root 4096 11-09 10:34 dev
drwxr-xr-x 3 root root 4096 11-09 10:34 etc
drwxr-xr-x 5 root root 4096 11-10 20:34 home
drwxr-xr-x 2 root root 4096 11-09 10:34 lib
drwxr-xr-x 2 root root 4096 11-09 10:34 lib64
drwxr-xr-x 7 root root 4096 11-09 10:34 usr
# 現在大家明白了,只需要把bin目錄下的文件給刪除,那麼用戶就不能使用相應的命令[/code]
使用jailkit 建立受限的SSH帳戶
SSH Tunnel是一個非常有用的東西,比如創建 SSH 隧道:
代碼如下:
ssh -qTfnN -D 7070 user_name@host_home
但是在分享 SSH 帳戶的時候,發現如果不限制這個 SSH 用戶的目錄,則服務器所有文件將被一覽無余。經過尋找,找到了chroot工具 jailkit。可以讓管理員建立一個專用的用戶提供SSH Tunnel服務,避免其看到服務器上的文件。
首先將home/jail(也可以是其他目錄)設定為jail目錄
[/code]
mkdir /log
jk_init -v -j /log basicshell ssh jk_lsh[/code]
建立用戶,並添加到jail中
代碼如下:
useradd onlinelog
passwd onlinelog
jk_jailuser -m -j /log -s /bin/bash onlinelog
jk_cp -v -k -f -j /log /usr/bin/tail
jk_cp -v -k -f -j /log /usr/bin/vim
jk_cp -v -k -f -j /log /usr/bin/id
啟動jailkit
代碼如下:
service jailkit start
OK,然後這個用戶就相當於運行在一個小型的獨立環境中了。
其他
Jailkit的作用不僅僅可以建立一些只能使用特定命令的帳戶。從資料上看,Jailkit可以:
限制用戶活動范圍和權限
搭建安全的SSH多用戶環境
輔助建立安全的生產環境