Ubuntu Server 创建普通用户只能访问自己的home文件夹

历览千载书,时时见遗烈。这篇文章主要讲述Ubuntu Server 创建普通用户只能访问自己的home文件夹相关的知识,希望能为你提供帮助。
因为安全的原因,云端服务器需要允许不同用户访问,但是不允许这些用户看到系统文件夹,而且限定只能看到管理员开放的资源。查询后发现jailkit这个开源包可以实现,测试成功,具体步骤如下。
目前最新版是2.23,网址:??https://olivier.sessink.nl/jailkit/??
下载安装最新版
wget https://olivier.sessink.nl/jailkit/jailkit-2.23.tar.gztar -zxvf jailkit-2.23.tar.gz
cd jailkit-2.23/



需要安装一些相关包,不然安装会报错
sudo apt-get install build-essential autoconf automake1.11 libtool flex bison debhelper binutils-gold python
安装
sudo ./configuresudo make
sudo make install



配置
sudo mkdir /home/jailsudo chown root:root /home/jail




sudo jk_init -v /home/jail basicshell
sudo jk_init -v /home/jail netutils
sudo jk_init -v /home/jail ssh
sudo jk_init -v /home/jail jk_lsh



创建用户sudo useradd -d /home/testuser -m testuser -s /bin/bash
sudo passwd testuser


【Ubuntu Server 创建普通用户只能访问自己的home文件夹】sudo jk_jailuser -m -j /home/jail testuser



查看用户具体如下cat /etc/passwd
testuser:x:1001:1001::/home/jail/./home/testuser:/usr/sbin/jk_chrootsh



jail起用户
sudo jk_cp -v -f /home/jail /bin/bash
注意查看路径如下cat /home/jail/etc/passwd
testuser:x:1001:1001::/home/testuser:/usr/sbin/jk_lsh


需要修改成如下
testuser:x:1001:1001::/home/testuser:/bin/bash



尝试连接,查看根目录下的虚拟环境ssh testuser@127.0.0.1
testuser@127.0.0.1s password:
I have no name!@ip-172-30-2-207:/$ ls /
bin   dev   etc   home   lib   run   usr



如果无法连接可以查看日志cat /var/log/auth.log


    推荐阅读