http://olivier.sessink.nl/jailkit/index.html

Jailkit is a set of utilities to limit user accounts to specific files using chroot() and or specific commands. Setting up a chroot shell, a shell limited to some specific command, or a daemon inside a chroot jail is a lot easier and can be automated using these utilities.
Jailkit is known to be used in network security appliances from several leading IT security firms, internet servers from several large enterprise organizations, internet servers from internet service providers, as well as many smaller companies and private users that need to secure cvs, sftp, shell or daemon processes.

編譯/安裝

wget http://olivier.sessink.nl/jailkit/jailkit-2.17.tar.gz
tar zxvf jailkit-2.17.tar.gz
cd jailkit-2.17
./configure
make
make install
cp -rp extra/jailkit /etc/init.d/jailkit
chmod +x /etc/init.d/jailkit
chkconfig jailkit on
service jailkit start

建立 chroot 目錄 (我只要能夠 scp 及 sftp ,不要 ssh),我要把使用者皆限制在 /home/chrooted 裡面

jk_init -v -j  /home/chrooted sftp scp jk_lsh

建立使用者

useradd sftpuser
passwd sftpuser
# 把 /home/sftpuser 關進 /home/chrooted 裡
jk_jailuser -m -j  /home/chrooted sftpuser

設定權限,編輯 /home/chrooted/etc/jailkit/jk_lsh.ini 加入

[sftpuser]
paths= /usr/bin, /usr/lib/
executables= /usr/bin/scp, /usr/libexec/openssh/sftp-server

 

scponly 也可以作得到

不過 scponly 只有 2008 年的 4.8 版,而 jailkit 則還有在更新 (2014-01-03 的 2.17 版本)

scponly 登入的狀況是這樣子

scponly

而 jailkit 目錄是長這樣子

jailkit

jailkit 假如新增另一使用者在同一個 /home/chrooted 裡頭的話,就會看到彼此使用者的名字

jailkit

參考

  1. http://olivier.sessink.nl/jailkit/howtos_sftp_scp_only.html
  2. http://www.ichiayi.com/wiki/tech/jailkit

在測試時遇到一個情況,

使用 CentOS 6.4 x64,yum 安裝 jailkit (2.11 版本) ,但測試 sftp 登入時,卻可以跑到家目錄以外的地方 (是 /home/chrooted 以外了),找不到方式處理掉,後來用 tarball 安裝 (2.17 版本) 就正常 ok 了,

是沒試過相同 2.11 版本的 tarball 是否會跟 yum 的 2.11 版本有相同的問題

最後修改日期: 2014 年 01 月 10 日

作者

留言

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。