我需要一个简单易用的方法来在Oneiric中将用户禁闭在他们的主目录中。你有没有一个简单的配置来禁闭用户,并提供完整的帮助,或者一些好的网页链接?
我将提供一个在线免费公共服务器,拥有10到20GB的免费空间。我不知道会有多少用户。我想给他们SSH和SFTP,这样他们就可以通过FileZilla连接。
我将提供一个在线免费公共服务器,拥有10到20GB的免费空间。我不知道会有多少用户。我想给他们SSH和SFTP,这样他们就可以通过FileZilla连接。
http://olivier.sessink.nl/jailkit/index.html#download
VERSION=2.20 # from November 2018
cd /tmp
wget https://olivier.sessink.nl/jailkit/jailkit-$VERSION.tar.gz
tar -zxvf jailkit-$VERSION.tar.gz
cd jailkit-$VERSION/
./configure
make
su -
make install
现在是设置监狱目录的时候了。被监禁的用户将把这个目录视为服务器的根目录。我选择使用/home/jail:
mkdir /home/jail
chown root:root /home/jail
使用jk_init可以快速创建一个带有多个文件或目录的监狱,以满足特定任务或配置文件的需求(点击并阅读完整详情)。
jk_init -v /home/jail basicshell
jk_init -v /home/jail netutils
jk_init -v /home/jail ssh
jk_init -v /home/jail jk_lsh
添加一个具有主目录和bash shell的新用户,并设置密码:
useradd -d /home/jailtest -m jailtest -s /bin/bash
passwd jailtest
使用以下命令:
jk_jailuser -m -j /home/jail jailtest
/etc/passwd
现在应该包含类似这样的内容:jailtest:x:1001:1001::/home/jail/./home/jailtest:/usr/sbin/jk_chrootsh
通过使用jk_cp将bash库复制到监狱中:
jk_cp -v -f /home/jail /bin/bash
/home/jail/etc/passwd
替换这一行:
jailtest:x:1001:1001::test:/usr/sbin/jk_lsh
jailtest:x:1001:1001::/home/jailtest:/bin/bash
通过使用jk_update
,可以在监狱中更新真实系统。
干运行将显示正在进行的操作:
jk_update -j /home/jail -d
没有使用-d参数,真正的更新将被执行。更多维护操作可以在这里找到。
(如果/home/jail/opt
不存在,请使用mkdir -p /home/jail/opt/
创建它
然后再次运行jk_update -j /home/jail
)
您可以挂载特殊文件夹,让监狱用户现在可以访问。例如:
mount --bind /media/$USER/Data/ /home/jail/home/jailtest/test/
http://olivier.sessink.nl/jailkit/howtos_chroot_shell.html
http://olivier.sessink.nl/jailkit/index.html#intro(非常好的帮助)
已经检查和验证,正常工作
sudo su - testuser
,但没有任何反应。我该怎么办?而sudo -su testuser
会在受监禁的用户目录下打开,但我仍然可以看到其他人的目录。@MariusMatutiae - alpersu -
,将testuser重新命名为jailtest,以避免攻击和与其他测试用户发生冲突——这在我的Ubuntu 18.10上运行良好。 - rubo77ln /bin/bash /usr/local/bin/jailbash
sudo chsh -s /usr/local/bin/jailbash user_to_confine
http://bodhizazen.com/aa-profiles/bodhizazen/ubuntu-10.04/usr.local.bin.jailbash
jailkit
一样。 - user606723sudo -e /etc/shells
/bin/false
sudo chsh -s /bin/false userx
sudo apt-get install vsftpd
sudo -e /etc/vsftpd.conf
还有一些改变...
anonymous_enable=NO
local_enable=YES
chroot_local_user=YES
保存。重新启动vsftpd:
sudo /etc/init.d/vsftpd restart
rbash
吗? - Karlson