Linux 文件夹和文件权限

Linux 文件夹和文件权限

如果我有一个目录,并且用户对该目录具有读取权限,那么为什么无法检查该目录中是否有文件。例如,假设我有一个文件夹 /myfolder,其权限为读取。该文件夹中有一些文件“garbage.txt”,其权限为读取(对于用户而言)。当我尝试使用 stat /myfolder/garbage.txt 时,我收到权限被拒绝错误。如果我为 /myfolder 添加执行权限,那么我可以检查 trash.txt 是否存在。

为什么我需要执行权限来检查文件夹中的文件是否存在。我以为目录/文件夹的读取权限就足够了。

答案1

在 Linux 中文件夹权限是:

写入位允许受影响的用户创建、重命名或删除目录中的文件,以及修改目录的属性

读取位允许受影响的用户列出目录中的文件

执行位允许受影响的用户进入目录,并访问其中的文件和目录

粘性位规定,该目录中的文件和目录只能由其所有者(或根)删除或重命名

更多信息:

http://www.firewall.cx/linux-knowledgebase-tutorials/introduction-to-linux/299-linux-file-folder-permissions.html

答案2

目录上的执行权限允许您遍历该目录。并且您需要能够遍历该目录才能对该文件使用 stat。

也可以看看https://stackoverflow.com/questions/790686/understanding-linux-directory-permissions-reasoning

相关内容