萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> Linux系統下jailkit的安裝與使用示例

Linux系統下jailkit的安裝與使用示例

   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來測試。

  ssh [email protected]

  [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多用戶環境

  輔助建立安全的生產環境

copyright © 萬盛學電腦網 all rights reserved