用 find -type d 精准匹配普通目录并配合 -exec chmod 安全批量设权,避免误改文件或特殊类型;推荐用 {} + 提高效率,结合 -ctime、! -name、-perm 等条件可进一步精准控制。

用 find -type d 检索目录并批量设权限,关键在于精准匹配目录类型、避免误改文件或链接,再结合 chmod 安全赋权。直接 chmod -R 会把文件也设成带执行位的权限,不推荐。
只找目录:-type d 是核心过滤条件
-type d 严格匹配**普通目录**,自动跳过符号链接、设备文件、命名管道等特殊类型,这是安全批量操作的前提。
- 若路径含软链接指向目录,
-type d默认不跟随,仅匹配真实目录;加-L才跟随链接(一般不需要) - 不会匹配到
.sh、.conf等文件,也不会误伤/proc或/sys下的伪文件系统目录 - 路径末尾是否带斜杠(如
/var/www/vs/var/www)不影响匹配结果
批量设权限:推荐用 -exec ... + 而非 \;
-exec chmod 755 {} + 比 -exec chmod 755 {} \; 更高效,它会把多个路径合并进单次 chmod 调用,大幅减少进程创建开销。
- 设所有子目录为 755(rwxr-xr-x):
find /path -type d -exec chmod 755 {} + - 设所有子目录为 750(仅所有者+组可进入):
find /path -type d -exec chmod 750 {} + - 若需先验证找到哪些目录,可先运行:
find /path -type d,确认无误再加-exec
常见权限模板与适用场景
不同用途的目录应配不同权限,不能一概而论:
- Web 根目录及子目录:755(所有者可读写执行,组和其他人可读、可进入)
-
含敏感配置的目录(如
/etc/nginx/conf.d):750 或 700(限制组或其他人访问) -
用户主目录下的
Documents、Pictures:755 或 700(依隐私需求定) -
临时上传目录(如 PHP 的
uploads):755 + sticky bit(1755),防跨用户删文件
进阶:配合其他条件更精准控制
单靠 -type d 有时不够,可叠加筛选条件缩小范围:
- 只改最近 7 天新建的目录:
find /path -type d -ctime -7 -exec chmod 755 {} + - 排除特定目录(如跳过
cache子目录):find /path -type d ! -name "cache" -exec chmod 755 {} + - 只处理权限当前为 777 的目录(修复隐患):
find /path -type d -perm 777 -exec chmod 755 {} +











