目录的rwx权限与文件不同:r允许列出文件名,w允许创建/删除/重命名文件,x是进入目录的关键权限;无x则无法cd、ls -l或访问子项;755(rwxr-xr-x)保障属主全权、他人可读可入,而644对目录无效且危险。

目录权限的 rwx 不是简单套用文件逻辑,它直接决定你能“进不进得去”“删不删得了”“看不看得见”。搞清三类权限在目录场景下的真实作用,比死记数字更重要。
目录的 r、w、x 各自管什么
对目录来说,每个字母含义和文件完全不同:
-
r(读):能用
ls列出目录里有哪些文件或子目录,但仅限“看到名字”,看不到详细属性(如大小、时间)——除非同时有 x 权限 - w(写):能在该目录下创建新文件、删除已有文件、重命名文件(哪怕你对那个文件本身没有 w 权限)
-
x(执行):这是关键——没有 x,
cd进不去,ls -l看不到文件详情,甚至无法通过路径访问其下的任何文件(比如cat dir/file.txt会失败)
权限位怎么分组与计算
执行 ls -l 时,最左一列共 10 个字符。第 1 位是类型(d 表示目录),后 9 位每 3 位一组:
- 第 2–4 位:属主(user)权限
- 第 5–7 位:属组(group)权限
- 第 8–10 位:其他用户(others)权限
每组内 r=4、w=2、x=1,- = 0,相加得单组八进制数。例如:drwxr-xr-x → 属主 4+2+1=7,属组 4+0+1=5,其他 4+0+1=5 → 数字权限为 755
为什么目录常用 755 而不是 644
644(rw-r--r--)对目录是危险且无效的:
- 属主有 rw-,但缺 x →
cd进不去,ls -l只显示问号或报错 - 属组和其他人只有 r-- → 连进入都做不到,更别说操作内容
755(rwxr-xr-x)才是合理起点:
- 属主可读、可写、可进入(完整管理权)
- 属组和其他人可读、可进入(能浏览、能访问子项),但不能增删改 —— 平衡了可用性与安全性
实际设置时要注意的细节
用 chmod 修改目录权限时,别只盯着数字:
- 新建目录默认权限受
umask控制(普通用户通常为 002,结果是 775;root 通常为 022,结果是 755) - 给脚本所在目录设权限,要确保目录有 x,否则即使脚本本身有 x 也运行不了(路径不可达)
- 若需协作,配合
SGID(chmod g+s dir)能让新创建的文件自动继承目录属组,避免权限混乱


















