以下是CentOS 7系统中chmod命令的二进制(八进制)权限模式的详细用法及示例,结合技术解析和实际场景整理而成:
一、二进制权限基础
二进制权限用三位或四位八进制数表示,每位对应权限组合的数值和(读r=4、写w=2、执行x=1):
- 权限组顺序:所有者(u)、所属组(g)、其他用户(o)。
- 计算规则:
7 = 4+2+1 → rwx(读+写+执行)
6 = 4+2 → rw-(读+写)
5 = 4+1 → r-x(读+执行)
0 → 无权限
二、基本用法(三位数字)
1. 常见权限组合示例
权限值 | 符号表示 | 含义 | 适用场景 |
755 | rwxr-xr-x | 所有者完全控制,其他用户只读和执行 | 可执行脚本/程序文件 |
644 | rw-r--r-- | 所有者读写,其他用户只读 | 配置文件、文本文件 |
700 | rwx------ | 仅所有者完全控制 | 私密文件或目录 |
600 | rw------- | 仅所有者读写 | 敏感数据文件(如SSH密钥) |
750 | rwxr-x--- | 所有者完全控制,同组用户可读和执行 | 团队共享工具目录 |
命令示例:
chmod 755 script.sh # 脚本设为可执行 如图1所示chmod 644 config.conf # 配置文件禁止他人修改 如图2所示三、高级用法(四位数字)
四位数字的第一位表示特殊权限位(SUID、SGID、粘滞位):
- 4:SUID(运行文件时以所有者身份执行)
- 2:SGID(目录中新文件继承组权限)
- 1:粘滞位(目录内文件仅所有者可删除)
示例场景
- SUID权限(如special_tool):
chmod 4755 special_tool # 所有者权限前加4,如图3所示→ 权限显示为 rwsr-xr-x(s为SUID标志)。
- SGID目录(团队协作目录):
chmod 2775 shared_team_dir # 组权限前加2,如图4所示→ 新建文件自动继承/shared_team_dir的组权限。
- 粘滞位(公共临时目录如/tmp):
chmod 1777 public_upload # 其他用户权限前加1,如图5所示→ 权限显示为 rwxrwxrwt(t为粘滞位),用户仅能删除自己上传的文件。
四、递归修改目录权限
添加 -R 选项可递归处理目录及其子内容:
chmod -R 755 web_app # 整个Web应用设为可执行如图6所示chmod -R 644 static_html # 静态资源禁止执行如图7所示五、查看权限
使用 ls -l 检查权限设置结果:
ls -l file.txt
-rw-r--r-- 1 user group 0 Jul 7 10:00 file.txt - 首字符:-(文件)、d(目录)、l(链接)。
- 后续9字符:三组rwx分别对应所有者、组、其他用户权限。
六、注意事项
- 权限冲突: 若设置后未生效,检查文件系统挂载选项(如noexec)或文件不可变属性(用chattr -i解除)。
- 安全风险: 避免滥用777或SUID权限,可能导致提权漏洞。
- 目录执行权限: 目录需x权限才能进入或访问内部文件(与文件执行权限不同)。
总结
掌握二进制权限模式是Linux系统管理的核心技能之一。通过合理配置755(可执行文件)、644(配置文件)、700(私有目录)等常见权限,结合特殊位(如粘滞位1777)满足特定场景需求,可显著提升系统安全性与协作效率。实际使用时,建议先通过ls -l验证现有权限,再谨慎应用chmod修改。
