隔离用户

隔离用户

在我的 Linux 系统中,我有两个用户,分别是 A 和 B。我需要隔离 B,使 B 无法访问 A 的主目录,即使是 A 自己也无法访问。我该如何解决这个问题?

答案1

将 A 的主目录放入 B 未设置 x(执行)位的目录中。

示例:设/home/prison/A为 A 的主目录。将 的权限设置prisonr-xr-x---,并将所有者:组设置为root:prisoners。正常情况下,将 的权限设置为/home/prison/A,即A为所有者。

当然,A 仍然可以将他的文件硬链接到其他目录,并以这种方式访问​​它们。实际上,没有办法保护数据不被具有读取权限并想要复制它们的用户所获取。

答案2

Thiton 的回答是解决这个问题的好方法。

另一个(更繁琐、更复杂的)解决方法是,如果您使用的是 SELinux 或 AppArmour,则创建适当的策略。您可以在系统级别强制执行此操作,A 将无法在文件系统级别(使用 AppArmour)或甚至通过复制文件(使用 SELinux)来绕过它。

此类政策的实施留给读者作为练习。

答案3

这听起来像是 chroot 的工作,有人有一个名为的项目监狱工具看起来确实如此。您的里程可能会有所不同。

答案4

如果没有其他人需要访问用户主目录中的文件,您可以使主目录可执行/可读/可写仅有的由该用户。

sudo chmod 700 /home/username

其他用户将无法看到此目录内部、无法进入该目录等等。

相关内容