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 进程运行用户一致。

相关教程

官方资料来源