当我尝试执行 .sh 时,为什么文件夹需要执行权限?

当我尝试执行 .sh 时,为什么文件夹需要执行权限?

我有一个文件夹,其 chmod 权限为 0600,并且该文件夹有一个 sh 脚本。我试图限制一些权限,但我意识到,如果该文件夹没有执行权限,除非用户,否则我无法使用 cd 命令访问,因此我无法执行我的脚本。该脚本具有适当的权限 (0700)

这是对的吗?我不明白为什么。有人能给我解释一下文件夹中执行权限的作用吗?

多谢!

答案1

它的工作原理基本上就是这样 - 目录必须设置执行位以允许用户/组成员/其他人进入。

更有趣的是 - 您实际上不需要对目录具有读取权限即可访问其中的文件 - 只要您知道文件名,因为如果您没有读取权限,就无法列出目录的内容。

我认为理解它的关键是认识到在 Linux/Unix 中实际上没有目录这样的东西。它也是一个文件 - 包含有关其他文件的信息 - 其内容。

无论如何,我认为阅读一些有关这些基础知识的内容是个好主意。这可能是一个好的开始:https://help.ubuntu.com/community/FilePermissions

相关内容