neh*_*art 7 permissions hard-link
假设用户 A 和用户 B 的磁盘配额为 1 GB。
还假设用户 B 创建了一个 900 MB 的文件,权限为 0666。
这允许用户 A 临时访问该文件(对于某些项目等)。
请注意,这也允许用户 A 写入文件。
如果用户 A 创建了指向该文件的硬链接,然后用户 B 删除了该文件,那么用户 A 是否通过“窃取”用户 B 的 900 MB 存储空间而实质上利用了配额系统?
假设用户 B 从未向管理员报告此情况,而管理员也从未发现。
还假设用户 B 从不怀疑用户 A 的事情。换句话说,假设用户 B 不会查看用户 A 的目录和相应的文件。
如果之前有人问过/回答过类似的问题,我很抱歉找不到它们。
这是 Unix 权限模型的丑陋角落之一。授予对文件的写访问权限允许对其进行硬链接。如果用户 A 对包含该文件的目录具有写权限,他们可以将其移动到用户 B 无权访问的目录。然后,用户 B 无法再访问该文件,但出于配额目的,它仍然对用户 B 计数。
一些较旧的 Unix 系统有一个更糟糕的漏洞:用户可以调用chown
将他们的一个文件授予另一个用户;如果他们之前已将该文件设为全局可写,则他们可以继续使用该文件,但该文件将计入其他用户的配额。这是现代系统保留chown
root 的原因之一。
没有纯粹的技术解决方案。由用户 B 来注意到他们的磁盘使用量 ( du ~
) 与他们的配额使用量不匹配并向系统管理员投诉,系统管理员将调查并谴责用户 A。