ber*_*kay 2 unix security inode
我的系统管理员建议我在设置对文件和目录的访问控制时要小心.他给了我一个例子,我感到困惑,这里是:一个保护模式为644(八进制)的文件包含在保护模式为730的目录中.所以它意味着:
在这种情况下如何妥协文件?
这取决于你所说的"妥协"是什么意思,这取决于谁属于该集团.
目录权限至关重要.由于该组的成员可以访问目录('x')并且可以修改目录('w'),即使他们无法列出目录(没有'r'),也意味着如果该组的成员知道该目录该文件的名称,该人也可以删除它,因为删除文件需要写入目录的权限 - 文件权限是无关紧要的(即使诸如'rm'之类的命令让你知道当你没有写入权限时文件,这是礼貌的,因为它与'unlink()'系统调用无关.
因此,您的组的成员(或者更准确地说,该目录所属的组的成员)可以在文件知道其名称时删除该文件.如果文件知道其名称,他们也可以读取文件,如果原件已经丢失,他们可以创建同名文件.从文件权限看,能够读取文件并不妥协 - 如果重要,您将拒绝组读取访问(和公共读取访问).
请注意,虽然您的组成员无法修改该文件,但由于他们可以删除该文件并创建一个具有相同名称的新文件,因此结果基本上与能够修改该文件的结果相同.一个关键的区别是你知道哪个用户做了恶作剧,因为该用户将拥有该文件.(嗯,有权访问该用户ID的人会做恶作剧.)