![如何通过 chroot 来“监禁”java 程序? (软呢帽 23)](https://linux22.com/image/89924/%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%20chroot%20%E6%9D%A5%E2%80%9C%E7%9B%91%E7%A6%81%E2%80%9Djava%20%E7%A8%8B%E5%BA%8F%EF%BC%9F%20%EF%BC%88%E8%BD%AF%E5%91%A2%E5%B8%BD%2023%EF%BC%89.png)
我最近创建了一个 Minecraft 服务器软呢帽23,并面临问题“如果坏人想要在我的计算机中找到非常重要的文件怎么办?我必须保护我的文件!”
我的 jar 在/home/
目录中。但我担心如果我将其移动到其他目录,坏人将能够访问我的文件,因为所有程序一开始都可以访问我用户中的所有目录。
我想,我必须使用chroot
.但主要问题是:我不知道怎么做。
答案1
帕特里克的建议docker
很好。任何其他虚拟化方法也可以很好地工作(例如VirtualBox
或kvm
)。
另一种选择是在您的系统上创建另一个用户(例如minecraft
),仅用于运行 Minecraft 服务器。给它自己的组(例如minecraft
),并确保所有 Minecraft 文件都具有组的 RW 访问权限,然后将您自己的用户添加到该minecraft
组,以便您的用户对 Minecraft 文件具有完全的读+写访问权限。
您还可以对所有 Minecraft 文件和目录设置权限,以便 Minecraft 用户对自己的大部分文件没有写权限(仅对 Minecraft 绝对必须能够写入的文件)。这需要 Minecraft 用户不是是 Minecraft 组的成员(可能有nobody
或nogroup
作为其主要 gid)。
任何破坏 Minecraft 服务器的人都只能访问 Minecraft 拥有的文件以及每个人都可以读取或写入的文件。 - 确保您的文件没有如此宽松的权限。