跳到主要内容

chmod 权限速查

查询数字权限、符号权限和目录访问规则。权限计算可使用 chmod 与 umask 工具,特殊权限的原理见 SUID、SGID、Sticky 与 umask。

读懂权限字符串​

-rwxr-x---
│└─┬─┘└┬┘└┬┘
类型 属主 属组 其他人

第一个字符表示类型,- 为普通文件、d 为目录、l 为符号链接。随后三组分别对应 u、g、o,a 表示三者全部。

权限数值普通文件目录
r4读取内容列出目录项名称
w2修改内容配合 x 创建、删除、重命名目录项
x1允许执行进入目录、查找其中路径

删除文件通常由父目录的 w+x 控制,不取决于文件本身能否写;Sticky、ACL、只读挂载等也可能限制操作。

数字与符号写法​

命令含义
chmod 600 secret.txt只有属主能读写
chmod 644 config.txt属主读写,其他人只读
chmod 700 private-dir目录只允许属主访问
chmod 755 script.sh属主可读写执行,其他人可读执行
chmod u+x script.sh只增加属主执行位
chmod go-w config.txt移除属组和其他人的写权限
chmod u=rw,g=r,o= config.txt明确设定三类权限
chmod --reference=template.txt config.txtGNU chmod:复制参考文件的权限

省略 u/g/o/a 的符号写法会受 umask 影响;需要明确范围时把它写出来。

递归修改​

# 给目录和原本已有执行位的文件增加相应执行位
chmod -R u=rwX,g=rX,o= ./site

# 若明确要求目录 755、普通文件 644,分开处理
find ./site -type d -exec chmod 755 {} +
find ./site -type f -exec chmod 644 {} +

第二组命令会清除普通文件的执行位,包含脚本或程序的目录不能直接套用。避免把整棵目录统一设为 777 或给所有文件加执行位。

特殊位与默认权限​

位数字前缀常见用途
SUID4可执行文件运行时使用文件属主的有效 UID
SGID2共享目录中的新对象继承目录属组
Sticky1共享可写目录中限制删除或重命名他人文件
chmod 2775 shared-dir
chmod 1777 drop-dir
umask 027

普通文件常以 666、目录以 777 请求创建,再按位清除 umask。027 对应常见新文件 640、新目录 750;程序主动请求更严格权限或存在默认 ACL 时需另看实际结果。

来源与许可​

本页由 Jacob’s Wiki 于 2026-11-05 对 IT-Tools 原文作中文摘译、重组和补充,保留常用操作,并非逐行全译。原文归 IT-Tools 项目贡献者所有。

本页译文与改编内容按 GNU GPL 3.0 提供,不附带担保;本站 Markdown 源码可用于修改和再分发。

返回开发运维速查目录