Linux目录权限继承

8

有人能解释一下Linux(特别是Ubuntu)中目录权限如何继承吗?

例如,如果我有以下目录结构:

folder_A
    folder_B

文件夹A的权限是否总是优先于文件夹B?如果文件夹A的权限比文件夹B更受限制,或者反之,是否会有不同的影响?

我猜测,如果文件夹B具有更严格的权限,则会覆盖文件夹A的权限,但如果文件夹A具有更严格的权限,则会覆盖其子项。


也许这个问题应该提交到[Unix&Linux SE](http://unix.stackexchange.com/)。 - JMCF125
2个回答

9

路径解析页面(path_resolution man page)详细解释了权限如何影响路径: http://linux.die.net/man/2/path_resolution

只有文件夹 A 的搜索(执行)权限是重要的:如果您没有该权限,则无法进入文件夹 B。除此之外,A 和 B 的权限之间没有关系,例如,如果 A 是只读的而 B 不是,或者甚至如果您没有对 A 的读取权限,您仍然可以在 B 中创建和删除文件。


1
如果 folder_B 中有一个需要执行的 PHP 文件,但 folder_A 对此有限制怎么办?我是否需要设置权限一直到 folder_B 的祖先目录(例如,如果 folder_B 深度为 4 或 5 级)? - Evan LaHurd
1
是的,您需要获得访问所有内容的权限。 - Pradheep
2
一个文件夹无法限制文件的执行权限,它唯一能做的就是完全阻止所有访问 - 建议阅读路径解析页面以获取完整细节。 - Joni

5
我喜欢把文件夹看作是门卫。每个文件夹的权限允许您查看该文件夹及其下面的任何内容。一旦您通过了一个门卫,您就越过它了,与该文件夹相关的权限就不再重要。更具体地说,文件夹上的执行权限实际上是进入其中(列出其中的文件)的能力。每个文件都有写/读/可执行的权限。
因此,只要您有权查看/读取一个文件夹中的文件,您就可以进入子文件夹并执行该文件夹允许您执行的操作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接