Linux 文件权限(chmod)手册
更新于 2026年7月25日
适用人群:Linux 服务器运维人员、网站部署与排查文件权限问题的站长
核心概念
权限位与数值对照
每个文件/目录有三组权限:属主(owner)、属组(group)、其他人(others),每组包含 r(读,4)、w(写,2)、x(执行,1)三种权限,数值相加得到该组的权限数字。
| 数字 | rwx 表示 | 权限含义 |
|---|---|---|
| 0 | --- | 无任何权限 |
| 1 | --x | 仅可执行 |
| 2 | -w- | 仅可写 |
| 3 | -wx | 可写可执行 |
| 4 | r-- | 仅可读 |
| 5 | r-x | 可读可执行 |
| 6 | rw- | 可读可写 |
| 7 | rwx | 读写执行全部权限 |
常用组合速查
| 权限值 | 符号表示 | 典型用途 |
|---|---|---|
| 777 | rwxrwxrwx | 所有人可读写执行,安全风险高,仅临时调试用,不建议用于生产 |
| 755 | rwxr-xr-x | 属主可读写执行,其他人只读+执行,适合可执行脚本、CGI、目录 |
| 750 | rwxr-x--- | 属主全权限,同组只读执行,其他人无权限,适合受限目录 |
| 700 | rwx------ | 仅属主可访问,适合私钥、敏感配置文件所在目录 |
| 644 | rw-r--r-- | 属主可读写,其他人只读,适合普通网页文件(html/css/js/图片) |
| 640 | rw-r----- | 属主读写,同组只读,其他人无权限,适合数据库配置等敏感文件 |
| 600 | rw------- | 仅属主可读写,适合私钥文件(如 id_rsa)、.env 配置 |
| 444 | r--r--r-- | 所有人只读,无法修改,适合已发布的静态归档文件 |
目录与文件的区别
目录的 x 权限表示能否进入该目录(cd)并列出内容,而不是"执行"该目录本身。Web 服务器(如 Nginx/Apache)通常要求网站目录至少为 755,静态文件为 644,这样运行用户(如 www-data、nginx)能读取但不能随意修改。
命令语法
- 数字模式:
chmod 755 file.sh - 符号模式:
chmod u+x file.sh(给属主加执行权限)、chmod go-w file.txt(去掉同组和其他人的写权限) - 递归:
chmod -R 755 /var/www/html
实际示例
# 给脚本添加可执行权限
chmod 755 deploy.sh
# 保护私钥文件,仅属主可读写
chmod 600 ~/.ssh/id_rsa
# 网站目录及文件批量设置(目录755,文件644)
find /var/www/html -type d -exec chmod 755 {} \;
find /var/www/html -type f -exec chmod 644 {} \;
# 查看当前权限
ls -l file.txt
# -rw-r--r-- 1 user group 1024 Jan 1 00:00 file.txt
对应工具
常见问题
777 权限为什么不安全?
777 允许任何系统用户读写执行该文件,攻击者一旦获得普通用户权限即可篡改网站文件或植入恶意脚本,生产环境应避免使用,除非临时调试且用后立即改回。
chmod 和 chown 有什么区别?
chmod 控制"谁能做什么"(读/写/执行权限),chown 控制"文件属于谁"(属主和属组),两者常配合使用,例如先 chown 改属主再 chmod 设权限。
网站打开显示 403 Forbidden 是权限问题吗?
常见原因之一是目录缺少执行权限或文件权限过低导致 Web 服务器用户无法读取,可检查目录是否为 755、文件是否至少 644,并确认属主属组与 Web 进程运行用户一致。
相关教程
官方资料来源