历览千载书,时时见遗烈。这篇文章主要讲述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
推荐阅读
- -Linux系统启动原理及故障排除
- keepalived多实例高可用配置
- 如何在PHP中生成随机、唯一的字母数字字符串
- 如何在C#中查找StringBuilder的长度()
- 如何在Golang中找到指针的长度()
- 如何在C#中查找数组的长度()
- 什么是SEO文章(你为什么要写呢?以及如何写?)
- SEO关键词(如何选择更好的关键词进行优化())
- 如何在Python中获取类属性列表()