2

我的系统管理员建议我在设置文件和目录的访问控制时要小心。他给了我一个例子,我很困惑,这里是:一个保护模式为 644(八进制)的文件包含在一个保护模式为 730 的目录中。所以它的意思是:

  • 文件:110 100 100(所有者、组、其他:rw- r-- r--)
  • 目录:111 011 000(所有者、组、其他:rwx -wx ---)

在这种情况下如何破坏文件?

4

2 回答 2

9

这取决于你所说的“妥协”是什么意思,也取决于谁属于这个群体。

目录权限很关键。由于组成员可以访问目录('x')并且可以修改目录('w'),即使他们不能列出目录(没有'r'),这意味着如果组成员知道文件的名称,该人也可以删除它,因为删除文件需要写入目录的权限 - 文件权限无关紧要(即使“rm”之类的命令会让您知道何时您对目录没有写入权限文件,这是一种礼貌,因为它与 'unlink()' 系统调用无关)。

因此,如果您的组的成员(或更准确地说,目录所属组的成员)知道文件的名称,他们可以删除该文件。如果他们知道文件的名称,他们也可以读取文件,如果原始文件已经丢失,他们可以创建一个同名的文件。从文件权限看来,能够读取文件并没有受到损害 - 如果这很重要,您将拒绝组读取访问(和公共读取访问)。

请注意,虽然您的组成员不能修改文件,因为他们可以删除文件并创建一个新的同名文件,结果与能够修改文件基本相同。一个关键的区别是您会知道哪个用户做了恶作剧,因为该用户将拥有该文件。(好吧,可以访问该用户 ID 的人做了恶作剧。)

于 2010-03-14T21:49:59.033 回答
1

由于可以写入目录,如果攻击者在目录所有者的组中,则可以简单地用另一个文件覆盖该文件。

于 2010-03-14T21:16:44.533 回答