部署网站、配置脚本、上传文件时,经常会看到 chmod 755chmod 644chmod 600。这些数字代表 Linux 文件权限。

你可以用 chmod 权限计算器 快速在数字权限和读写执行之间转换。

三类用户#

Linux 权限通常分三组:

  • owner:文件所有者。
  • group:所属用户组。
  • others:其他用户。

每组都有读、写、执行三个权限。

数字怎么算#

权限值:

  • 读 r = 4
  • 写 w = 2
  • 执行 x = 1

例如 7 = 4 + 2 + 1,表示可读可写可执行。5 = 4 + 1,表示可读可执行。

所以:

text已剪下 ✓
755 = owner rwx, group r-x, others r-x
644 = owner rw-, group r--, others r--

常见权限#

  • 755:目录或可执行脚本常见。
  • 644:普通网页文件常见。
  • 600:私钥或敏感配置常见。
  • 777:所有人可读写执行,通常不建议。

不要为了解决权限报错直接 777,这会扩大风险。

目录和文件不一定一样#

目录需要执行权限才能进入和访问里面的文件,所以目录常见 755;普通静态文件通常 644 就够了。私钥、数据库配置、环境文件应该更严格,比如 600。

如果 Web 服务无法读取文件,要确认运行用户和用户组,而不是盲目放宽所有权限。

排查权限问题的顺序#

先看文件所有者,再看用户组,然后看权限数字。还要确认上级目录是否有执行权限,因为文件本身可读但目录不可进入,也会导致访问失败。

服务器环境里,权限问题常常和运行用户有关,例如 www-datanginxnode 用户不同。

总结#

chmod 数字权限是读写执行的组合。理解 4、2、1 后,755、644、600 就很好判断。

需要快速换算时,可以用 chmod 权限计算器,再根据文件类型和安全要求配置。