没有执行权限的用户可以对 Linux 中的目录执行任何操作吗?

没有执行权限的用户可以对 Linux 中的目录执行任何操作吗?

我曾尝试授予目录读写权限但不授予其执行权限,但似乎没有执行权限,读写权限根本不允许您执行任何操作。

答案1

是的,用户可以列出文件在该目录中(但不在子目录中)。由于目录在功能上是文件名+类型+inum 对的列表,因此该r权限允许您读取存储在其中的名称。(特别是在较旧的 Unix 系统上,您可以直接读取目录,就好像它是一个包含一堆“struct dirent”的文件一样。)

w(刚刚理论上允许您添加/删除文件名,但这还涉及更新文件自身的元数据(例如其链接数),这x在实践中需要额外操作。另一方面,只需读取名称列表即可,而无需知道链接数,因此r就足够了。)

相关内容