【问题标题】:Linux directory permission inheritanceLinux目录权限继承
【发布时间】:2013-07-18 18:07:29
【问题描述】:

有人可以向我解释一下在 Linux(特别是 Ubuntu)中目录权限是如何继承的吗?

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

folder_A
    folder_B

文件夹_A 的权限是否总是覆盖文件夹_B 的权限?如果folder_A 的权限比folder_B 的权限更严格,反之亦然,有什么区别吗?

我的猜测是,如果文件夹_B 具有更多限制性权限,它将覆盖文件夹_A,但如果文件夹_A 具有更多限制性权限,那么它将覆盖其子级。

【问题讨论】:

标签: linux ubuntu directory file-permissions folder-permissions


【解决方案1】:

path_resolution 手册页中解释了权限影响路径的方式:http://linux.die.net/man/2/path_resolution

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

【讨论】:

  • 如果 folder_B 有一个 PHP 文件需要执行,但是 folder_A 对此有限制怎么办?我是否需要在文件夹_B 的沿袭中一直设置权限(例如,文件夹_B 的深度为 4 或 5 级)?
  • 是的,您需要有权限才能一路向下访问
  • 文件夹不能限制文件的执行权限。它唯一能做的就是完全阻止所有访问 - 我建议阅读路径解析页面以获取完整的详细信息。
【解决方案2】:

我喜欢将文件夹视为守门人。每个文件夹的权限允许您查看该文件夹及其下方的任何文件夹。一旦您通过了一个 Gatekeeper,您就通过了它,并且该文件夹中涉及的权限不再重要。 更具体地说,文件夹的执行权限实际上是进入(列出其中的文件)的能力。每个文件都有写/读/可执行的权限。

因此,只要您有权查看/读取一个文件夹中的文件,您就可以移至子文件夹并执行该文件夹允许您执行的任何操作。

【讨论】:

    猜你喜欢
    • 2021-09-13
    • 1970-01-01
    • 2010-12-04
    • 2011-02-25
    • 2017-07-03
    • 2017-02-24
    • 2022-09-23
    • 1970-01-01
    • 2017-05-26
    相关资源
    最近更新 更多