隔离用户

在我的Linux系统中,我有两个用户,分别是A和B.我需要隔离B,使得B不能访问A的主目录,即使是A本身也是如此。 我该如何解决这个问题?

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

例如:让/home/prison/A成为/home/prison/A的主目录。将prison的权限设置为r-xr-x---并将所有者:group设置为root:prisoners 。 通常在/home/prison/A上设置权限,即A是所有者。

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

蒂顿的答案是解决这个问题的好方法。

另一个(更重和更复杂的)修复是通过创build一个适当的策略,如果你正在使用SELinux或AppArmour。 您可以在系统级执行此操作,A将无法在文件系统级别(使用AppArmour)或者通过复制文件(使用SELinux)绕过它。

这样的政策的实施留给读者作为练习。

这听起来像是一个chroot的工作,而有人有一个名为jailkit的项目似乎这样做。 你的旅费可能会改变。

如果没有人需要访问用户主目录中的文件,则只能由该用户将主目录设置为可执行/可读/可写。

 sudo chmod 700 /home/username 

其他用户将无法看到这个目录里面,cd到它等等