如果没有 SELinux,这是否可以防止主目录泄漏?

如果没有 SELinux,这是否可以防止主目录泄漏?

我想防止某些用户从他们的主目录树中泄漏信息,即使他们 chmod 他们的主目录。换句话说,我有用户 alice 和 bob,并且我想阻止 alice 使 bob(或除 root 之外的任何其他人)可以读取她的主目录树中的任何数据。反之亦然。

最初我觉得这像是 selinux 的工作。但除非必要,否则我不想冒险。

相反,我想出了以下主目录方案,我想知道它是否真的满足我的要求。

我添加了中间目录,而不是主目录 /home/alice 和 /home/bob。这棵树是:

/home               root:root   drwxr-xr-x (as usual)
/home/alice0        root:alice  drwxr-x---
/home/alice0/alice  alice:alice drwxrwxrwx (alice's home dir)
/home/bob0          root:bob    drwxr-x---
/home/bob0/bob      bob:bob     drwxrwxrwx (bob's home dir)

爱丽丝和鲍勃是各自组的唯一成员(像往常一样)。 alice 的主目录是 /home/alice0/alice,bob 的主目录也类似,因此与正常情况略有不同。除了 homedir alice (bob) 之外,中间目录 alice0 (bob0) 中没有其他任何东西。 Alice 和 Bob 仍然拥有他们的主目录,但是主目录的访问权限不再那么重要,这就是重点。其目的是中间的“user0”目录层由 root 拥有,每个用户仅具有受限的“rx”组访问权限,可以防止每个用户组之外的泄漏,无论每个用户对其主目录或在其主目录内执行什么操作。

对于那些假设 /home/alice 始终是 alice 的 homedir 的应用程序,我可以在 /home 中添加符号链接: /home/alice -> /home/alice0/alice ,对于 bob 也类似。

这在所有情况下都有效吗?难道还有什么问题吗?

答案1

我不明白你为什么要这么做

/home/alice0/alice alice:alice drwxrwxrwx (alice's home dir)

/home/bob0/bob bob:bob drwxrwxrwx (bob's home dir)

我的意思是:为什么允许所有其他用户读写和执行文件alicebob

通过“其他用户”上的 rwx,您允许 alice 读取 bob 目录内容(即使不是文件内容,具体取决于文件权限),反之亦然,bob 可以读取 alice 目录列表。 Bob 还可以在 alice 文件夹中创建文件,反之亦然。

使用标准权限和标准主文件夹,鲍勃无法读取和更改爱丽丝主目录,反之亦然。

您能否添加一个示例来说明您希望在标准设置中避免什么?

如果在标准设置中 alice 和 bob 主目录具有755目录权限,您可以将其更改为750除所有者(及其组和根)之外的其他用户都无法看到目录内容

相关内容