目录的r权限单独存在时仅允许列出文件名,无法查看详细信息或进入子目录,因缺少x权限;r与x必须配合才能完整浏览目录内容。

目录的 r 权限单独存在时,只能让普通用户用 ls 列出文件名,但看不到详细信息(如大小、权限、修改时间等),也不能进入子目录或访问文件属性——因为缺少 x(执行)权限。
目录中 r 和 x 必须配合才能正常浏览
对目录来说,“可读”和“可进入”是两件事,必须同时满足才能完成常见操作:
-
r + x:能
ls查看完整列表(含ls -l输出),也能cd进入,还能stat或ls -la查看文件详情 -
r 但无 x:
ls只显示文件名(部分系统甚至直接拒绝),cd报错Permission denied,无法访问任何子项 -
x 但无 r:能
cd进入,也能访问已知路径下的文件(如cat known_file),但ls会报Permission denied——相当于“能进门,但看不见屋里有什么”
普通用户日常需要的最小组合是 r-x
只要目录对用户开放了 r-x(即读 + 执行),就能:
- 用
ls看到文件名和基本结构 - 用
cd切换进去 - 用
ls -l查看每个文件的权限、大小、所有者等详细信息 - 打开或执行该目录下有对应权限的文件(前提是文件本身也允许)
为什么不能只给 x?
单纯给 x 不提供目录内容可见性。Linux 将目录视为“文件名索引表”,r 是读取这张表的权限,x 是使用这张表定位子项的权限。没有 r,就等于没拿到索引目录;没有 x,就算看到文件名也无法访问它。
实操建议
给普通用户开放一个共享目录时,推荐设置为:
-
chmod 755 dirname(所有者 rwx,组和其他人 r-x)→ 安全且常用 - 若只需查看不可修改,
chmod 754 dirname或chmod 750 dirname(限制其他人) - 避免
chmod 744或chmod 700类设置——前者缺 x 导致进不去,后者直接锁死其他用户
不复杂但容易忽略:目录的 x 权限不是可选项,而是访问前提。r 和 x 是一对“搭档”,拆开就断链。











