使用 jailkit 建立受限的SSH帐户
Feb 09, 2012
SSH Tunnel是一个非常有用的东西,比如创建 SSH 隧道:
ssh -qTfnN -D 7070 user_name@host_home
但是在分享 SSH 帐户的时候,发现如果不限制这个 SSH 用户的目录,则服务器所有文件将被一览无余。经过寻找,找到了chroot工具 jailkit。可以让管理员建立一个专用的用户提供SSH Tunnel服务,避免其看到服务器上的文件。
安装
cd ~
wget http://olivier.sessink.nl/jailkit/jailkit-2.14.tar.gz
tar -zvxf jailkit-2.14.tar.gz
cd jailkit-2.14
./configure
make
make install
cp extra/jailkit /etc/init.d/jailkit
chmod a+x /etc/init.d/jailkit
chkconfig jailkit on
将home/jail(也可以是其他目录)设定为jail目录

mkdir /log

jk_init -v -j /log basicshell ssh jk_lsh

建立用户,并添加到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多用户环境
   辅助建立安全的生产环境

感谢网友jacob提供帮助。

参考:http://dongbeta.com/2012/02/setup-an-limited-account-on-linux-by-jailkit/