修改目录权限关键在于按需分配,区分目录与文件权限:用ls -ld查目录自身权限,ls -l查内容;目录x决定能否进入,w决定能否删文件;推荐755/775/700等合理数字模式,避免777;递归修改需分步或用符号模式(如a=rX)更安全。

修改整个目录的读写执行权限,关键不是“全设成777”,而是明确谁需要什么权限、目录和其中文件要区分对待。
先看清楚当前权限
用 ls -ld 目录名 查目录自身权限(注意加 -d,否则显示的是目录内容);用 ls -l 目录名 看里面文件的权限。比如:
- drwxr-xr-x 表示目录所有者可读写执行,组和其他人可读可进入
- 目录的 x 权限决定能否 cd 进入 或访问其下文件,不是“执行目录”
- 删文件靠的是目录的 w 权限,不是文件自己的 w 权限
用数字模式设目录基础权限
三位八进制数:所有者 / 所属组 / 其他人,每位是 r=4、w=2、x=1 的和:
- 755(rwxr-xr-x):最常用——所有者全权,组和其他人可进入、可列内容、可执行脚本
- 775(rwxrwxr-x):适合团队协作目录,组内成员可读写执行
- 700(rwx------):私密目录,仅所有者能访问
- 命令:chmod 755 mydir
递归修改整个目录树(含子目录和文件)
加 -R(大写 R)选项,但必须注意:它会把同一套权限同时应用到目录和所有子文件上,容易出错:
- chmod -R 755 myproject/ → 目录变可进入,但所有 .txt、.log 文件也变成可执行(通常不该这样)
- 更安全的做法是分两步:
• chmod -R 755 myproject/(只设目录)
• chmod -R 644 myproject/**/*.txt(再单独设文本文件为只读写) - 绝对避免 chmod -R 777 —— 它让所有文件可执行、所有人可写,存在严重安全隐患
用符号模式微调更精准
适合日常维护,不覆盖原有权限,只增减指定项:
- chmod -R g+w docs/ → 给 docs 目录及全部子项的所属组加上写权限
- chmod -R o-w config/ → 移除其他人对 config 目录及其内容的所有写权限(防误改)
- chmod -R a=rX data/ → 所有人只读;X(大写)表示“仅对已有 x 的项加执行”,目录自动带 x,普通文件不加,更安全


















