Jailkit 限制Linux用户访问权限



        Jailkit 实际上是在指定的目录(下文称“监狱”)中,组建了一个小型的、完备的linux环境,涵盖了linux运行所最基础的文件(不包括引导和启动),用户登陆时,使用chroot将根目录设置成“监狱”目录,从而隔离与主机的联系,所做的操作都是在“监狱”中进行。当然,登陆的用户不可以拥有root权限。
        以下分三个步骤介绍 Jailkit  的使用

    一、安装与部署Jailkit  
        
        1、从官网  http://olivier.sessink.nl/jailkit/  下载最新的Jailkit,安装过程非常简单,完全通用的步骤:解压缩并进入目录、./configure、make、make install。
        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 [email protected]    
        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,则将其成上边的形式。


  

你可能感兴趣的:(C++,Linux)