Jailkit 实际上是在指定的目录(下文称“监狱”)中,组建了一个小型的、完备的linux环境,涵盖了linux运行所最基础的文件(不包括引导和启动),用户登陆时,使用chroot将根目录设置成“监狱”目录,从而隔离与主机的联系,所做的操作都是在“监狱”中进行。当然,登陆的用户不可以拥有root权限。
以下分三个步骤介绍 Jailkit
的使用
一、安装与部署Jailkit
2、安装完毕,就可以部署Jailkit 路径了(建立“监狱”)。以下操作均使用root用户进行
a ) mkdir -p /opt/jail && cd /opt/jail 这一步是建立监狱目录,这里选择了在opt中建立监狱,在任何可写的目录中进行皆可。
b)jk_init -v /opt/jail/ jk_lsh basicshell jk_init 是初始化监狱文件,后边的 jk_lsh、basicshell是两个程序集,包含了linux 监狱所需的基础文件,以后如果有需求,也可以逐渐增加其他程序集
二、新增一个用户test,并将用户丢进“监狱”
1、useradd test && passwd test 并输入两次密码
2、jk_jailuser -j /opt/jail/ -s /bin/bash test 接下来会询问是否拷贝home文件,选择y并回车。
三、验证
1、找一台远程机器,用ssh验证: ssh test@192.168.1.174
2、或者本地测试也可: su test
登录成功后,此时查看根目录(cd / )即可发现,根目录就是你的/opt/jail ,而原来的本地上的根目录已经不可见,由此,test用户便成功在“监狱”中运行了,你可以给他一些指定的程序集比如ssh、sftp等。
四、备注
1、Jailkit 还有很多其它的功能,这里只是介绍了基础的功能
2、如果登录成功后立即显示 Connection closed,那可能是配置bash出了问题,查看/opt/jail/etc/passwd 文件,看是否有这一行:
test:x:500:500::/home/test:/bin/bash
如果最后一个值为 /usr/sbin/jk_lsh,则将其成上边的形式。