目录的x权限是“穿越目录”的钥匙,即路径遍历的通行证;它不决定读取内容(r)或修改文件(w),而专用于允许系统解析路径、访问子目录及inode元数据,缺之则任何操作均被阻断。

目录的 x 权限不是“运行目录”,而是“穿越目录”的钥匙——没有它,哪怕你有读权限,也进不去;哪怕你有写权限,也改不了里面任何文件。
目录 x 权限的本质:路径遍历的通行证
Linux 把路径看作一串嵌套的目录节点。要访问 /a/b/c/file.txt,系统必须依次检查 /、/a、/a/b、/a/b/c 每一级是否允许你“穿过”。这个“穿过”动作,就是 x 权限提供的能力。
它不决定你看不看得见内容(那是 r 的事),也不决定你能不能增删改(那是 w 的事),只决定你能否把路径解析下去——就像楼道里的每一扇防火门,没钥匙(x)就卡在门口,再高的楼层权限也没用。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
为什么只读(r)不够?因为目录内容藏在 inode 里
目录文件本身只存文件名和对应 inode 编号。真正的时间、大小、类型等元数据,全在 inode 中。而读取 inode 需要进入该目录——也就是需要 x 权限。
- 只有 r:你能用
ls看到文件名列表(因为目录数据块可读),但ls -l会报错,stat查不到详情,cd直接拒绝 - 只有 x:你能
cd进去,也能stat或ls -l查指定文件(如果你知道名字),但ls列表为空——因为没 r 就看不到目录里有哪些名字 - r + x 才完整:既能列目录,又能进、查、访问其中文件
排查进不去目录的三步定位法
遇到 Permission denied,别急着加权限,按顺序确认:
- 用
ls -ld /path/to/dir查目标目录自身的权限(注意是 -ld,不是 -l) - 从根开始,逐级检查父目录链:
ls -ld / /path /path/to——任意一级缺 x 都会断链 - 排除 SELinux 或 ACL 干扰:
ls -Z /path/to/dir和getfacl /path/to/dir
安全设置技巧:用大写 X 避免误开执行权
批量赋权时,小写 x 会给所有文件加执行位,风险高;大写 X 是智能执行位:
- 对目录:一律加 x(保证可进入)
- 对文件:仅当它原本已有 x 才保留,否则不加
- 典型组合:
chmod -R 750 /shared && chmod -R g+X /shared——组内可进可查,又不把脚本以外的普通文件变成可执行










