關(guān)于Linux系統(tǒng)下jailkit的安裝與使用示例的方法
對于學(xué)習(xí)啦小編來說jailkit 是一款能夠在一個(gè)chroot jail中快速創(chuàng)建受限用戶帳戶的工具集。它包含了一個(gè)安全日志守護(hù)進(jìn)程,shells可以限制用戶,開啟和設(shè)置chroot jail守護(hù)進(jìn)程的工具。接下來學(xué)習(xí)啦小編就給感興趣的童鞋介紹下Linux系統(tǒng)下jailkit的安裝與使用示例。
【操作步驟】
1.下載相關(guān)軟件:
代碼如下:
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環(huán)境。
a. 創(chuàng)建個(gè)chroot目錄:
代碼如下:
mkdir /home/sky // # /home/sky也就是虛擬的根目錄
b.初始化虛擬的根(chroot)環(huán)境:(復(fù)制相應(yīng)的鏈接庫到/home/sky/目錄)
代碼如下:
jk_init -v -j /home/sky/ sftp scp ssh jk_lsh extendedshell
其實(shí)這一步就是相對于重構(gòu)一個(gè)小的系統(tǒng),/home/sky就是根目錄,然后創(chuàng)建
這個(gè)子系統(tǒng)所需要相應(yīng)鏈接庫等相關(guān)目錄或文件。
4.基礎(chǔ)配置完置,接下來就是測試過程,是否滿足開始的需求:
a.創(chuàng)建測試用戶:有兩種方法,可以用系統(tǒng)自帶的命令,或者使用/usr/sbin/jk_addjailuser.
代碼如下:
jk_addjailuser -d /home/test3 /home/sky/ test3 #創(chuàng)建test3用戶
如果系統(tǒng)用戶已經(jīng)創(chuàng)建好,只需要移動到chroot環(huán)境下,命令如下
代碼如下:
jk_jailuser -m -n -j /home/sky/ --shell=/bin/bash test1
echo "111111" |passwd test1 --stdin //# 更改密碼,方便后面ssh測試.
完成上述步驟后,進(jìn)行測試。
【測試步驟】
代碼如下:
su - test1 ##切換為test1用戶
pwd
/home/test1
cd /tmp
bash: cd: /tmp: No such file or directory
touch a
mkdir tmp //# 建立tmp目錄,注意這里是/home/test1/tmp,
其實(shí)對應(yīng)的系統(tǒng)目錄是/home/sky/home/tes1/tmp.不要理解錯了。
再使用ssh來測試。
ssh test1@192.168.3.XX
test1@192.168.3.XX's password:
還是一樣的效果,可以多測試。到了這里,就有個(gè)問題如何限制到使用有限的命令呢?
我們看下
代碼如下:
ls -l /home/sky/
總計(jì) 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
# 現(xiàn)在大家明白了,只需要把bin目錄下的文件給刪除,那么用戶就不能使用相應(yīng)的命令[/code]
使用jailkit 建立受限的SSH帳戶
SSH Tunnel是一個(gè)非常有用的東西,比如創(chuàng)建 SSH 隧道:
代碼如下:
ssh -qTfnN -D 7070 user_name@host_home
但是在分享 SSH 帳戶的時(shí)候,發(fā)現(xiàn)如果不限制這個(gè) SSH 用戶的目錄,則服務(wù)器所有文件將被一覽無余。經(jīng)過尋找,找到了chroot工具 jailkit??梢宰尮芾韱T建立一個(gè)專用的用戶提供SSH Tunnel服務(wù),避免其看到服務(wù)器上的文件。
首先將home/jail(也可以是其他目錄)設(shè)定為jail目錄
[/code]
mkdir /log
jk_init -v -j /log basicshell ssh jk_lsh[/code]
建立用戶,并添加到j(luò)ail中
代碼如下:
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,然后這個(gè)用戶就相當(dāng)于運(yùn)行在一個(gè)小型的獨(dú)立環(huán)境中了。
最后學(xué)習(xí)啦小編再給你們說說Jailkit其他功能
Jailkit的作用不僅僅可以建立一些只能使用特定命令的帳戶。從資料上看,Jailkit可以:
限制用戶活動范圍和權(quán)限
搭建安全的SSH多用戶環(huán)境
輔助建立安全的生產(chǎn)環(huán)境