Chmod 权限计算器

交互式 chmod 计算器,在数字 (755) 和符号 (rwxr-xr-x) 表示法之间转换。免费在线工具,在浏览器中处理。

  • 在浏览器中处理
  • 数据不离开你的设备
  • 免费 · 无需注册
特殊位
展开特殊位,可用 Setuid(4)、Setgid(2)或粘滞位(1)组成八进制首位。执行权限同时启用时显示 s 或 t,未启用时显示 S 或 T。
输入三位或四位八进制数字,只用 0–7,例如 644 或 2775。完整输入会更新复选框和命令;输入未完成时显示错误,并保留上次合法结果。
输入 rwxr-xr-x 这样的九位权限串,特殊位可用 s/S 和 t/T。也可粘贴 drwxrwxrwt 或 -rw-r--r--@ 等 ls -l 字段,工具会去掉文件类型字符和末尾标记。
权限 勾选所有者、用户组和其他用户的读、写、执行权限。数字、符号及三条命令会即时更新。在工具内按 Ctrl/⌘+L 会清空全部权限、输入和结果。
读
写
执行
所有者
用户组
其他
命令 复制数字、符号或所需命令,并把 filename 换成你的路径。符号命令包含特殊位;粘滞位单独写成 +t,可用于 GNU 和 macOS chmod。
chmod 755 filename
符号命令
chmod u=rwx,g=rx,o=rx filename
find -perm
find . -type f -perm 0755
阅读完整使用指南 Linux 文件权限详解:chmod 755、644、777 完全指南
示例、说明与常见问题 带实际输出的示例、与同类工具的差别,以及常见问题。

常见权限

数字符号用途
755rwxr-xr-x目录、可执行脚本、Web 服务器根目录
644rw-r—r—普通文件、HTML/CSS、配置文件
600rw-------私密文件(SSH 密钥、.env)
700rwx------私密目录,如 ~/.ssh
777rwxrwxrwx所有人可读写执行(生产环境应避免)
444r—r—r—所有人只读
750rwxr-x---所有者完全权限,组可读和执行,其他无权限
664rw-rw-r—组成员可编辑的共享文件

阿里云虚拟主机上的 755 和 644

网站上传到虚拟主机后出现 500 或 403,权限是常见原因之一。阿里云云虚拟主机的帮助文档 《访问云虚拟主机上的网站提示“Internal Server Error”报错》写道:“系统中目录和文件权限默认为755,而图片、文字等HTML文件的权限应该为644。” 另一篇《解决访问子目录403报错》建议:“如果没有特殊要求,建议将文件夹权限修改为755。”

在工具的数字框分别输入这两个数,得到的权限串和符号命令如下:

755  rwxr-xr-x  chmod u=rwx,g=rx,o=rx filename
644  rw-r--r--  chmod u=rw,g=r,o=r filename
find . -type f -perm 0644

find 一行列出权限正好是 644 的文件,可以用来核对上传后的结果。阿里云的 《使用FTP管理网站程序文件》介绍了 FileZilla 的做法:右键文件选「文件权限」,在「数字值」框里输入新的权限值, 填的就是这三位数;不确定某一位代表什么时,先在本工具里输入,再对照勾选框看所有者、组和其他人各自得到哪些权限。

从 ls -l 复制权限串

在开启了 SELinux 的 Linux 上,ls -l 的权限后面常跟一个点,比如 -rw-r—r—.。 按 GNU ls 手册的说明, 点表示文件带有安全上下文、没有其他访问控制;+ 表示还有访问控制列表(ACL)等其他方式。整段粘贴进符号框即可,工具会去掉开头的文件类型字符和末尾的标记:

-rw-r--r--.  →  644
chmod 644 filename

看到 + 时要注意:9 位权限串之外还有 ACL,实际能访问的人可能比这 9 位显示的更多或更少,工具只计算这 9 位。

部署时的三个例子

Web 服务器文件

Web 服务器提供静态 HTML。服务器进程(以 www-data 用户运行)只需要读取文件,而你作为所有者需要编辑:

chmod 644 index.html   # 所有者:读+写,组/其他:读

结果为 rw-r—r—:你可以编辑,服务器可以读取,没有人可以执行该文件。

可执行脚本

你写了一个部署脚本,团队其他成员也需要运行但不能修改:

chmod 755 deploy.sh    # 所有者:完全权限,组/其他:读+执行

结果为 rwxr-xr-x,现在可以直接执行 ./deploy.sh。

SSH 私钥

SSH 会拒绝使用权限过于开放的私钥。将其锁定为仅所有者可访问:

chmod 600 ~/.ssh/id_rsa   # 所有者:读+写,其他人无权限

结果为 rw-------。只要组或其他人有任何权限,OpenSSH 就拒绝加载私钥;600、400、700 都能通过。

共享目录的 setgid:2775

多人共用的项目目录常设成 2775:组成员都能写;按 coreutils 手册的说法,在多数系统上,带 setgid 的目录里新建的文件会归目录所属的组。展开「特殊位」勾选 Setgid,或在数字框直接输入四位数:

2775  rwxrwsr-x  chmod u=rwx,g=rwxs,o=rx filename

组的执行位显示为 s。以后想改回普通目录时注意:GNU coreutils 手册 《Directories and the Set-User-ID and Set-Group-ID Bits》说明, 用四位以内的数字(755、0755)或不提到 s 的符号写法设置目录权限时,chmod 不改动目录的 setuid 和 setgid,这是 GNU 的扩展行为。所以对 2775 的目录执行 chmod 755 后仍是 2775,工具给出的 chmod u=rwx,g=rx,o=rx 也一样;要清除须写 chmod 00755 或 chmod g-s。

限制

  • 只生成完整的权限(u=…,g=…,o=…),不生成 chmod g+w、a-x 这类增减写法,也不生成只对目录加执行权限的 X。
  • 数字框需要 3 或 4 位 0–7 的数字。首尾空格和 Python 写法的前缀 0o(如 0o644)会被忽略,全角数字按半角读取;其他字符(比如 7558 里的 8)、不足 3 位或超过 4 位时显示「无效八进制」,并保留上一次的有效结果。
  • 符号框只接受 9 位权限串,或带文件类型字符与末尾 + @ . 标记的 ls -l 字段。
  • find -perm 0644 只匹配权限正好是 644 的文件;要找至少包含这些位的文件用 -perm -644,包含其中任意一位的用 -perm /644(GNU find)。
  • 能否访问还取决于 ACL、SELinux、noexec 等挂载选项以及每一级父目录的权限,本工具不计算这些。

FAQ

什么是 chmod?

chmod(change mode)是 Unix/Linux 命令,用于设置文件和目录的权限。它控制谁可以读取、写入或执行文件。权限分配给三类用户:文件所有者、所属组和其他用户。

chmod 数字是什么意思?

每个数字代表一类用户(所有者、组、其他)。数字是以下值之和:4(读)、2(写)、1(执行)。例如 7 = 4+2+1(读+写+执行),5 = 4+1(读+执行),0 = 无权限。

755 和 644 等常见权限是什么?

755(rwxr-xr-x)是目录和可执行脚本的常用权限:所有者拥有全部权限,其他人可以读取和执行。644(rw-r--r--)是普通文件的常用权限:所有者可读写,其他人只能读取。600(rw-------)用于 SSH 私钥这类私密文件。

4755、1777 这样的四位数是什么意思?

第一位是特殊位之和:4 是 setuid,2 是 setgid,1 是粘滞位。4755 就是 755 加上 setuid,1777 是 777 加上粘滞位。在权限串里它们占用执行位:同时有执行权限时写作 s 或 t,没有时写作 S 或 T(4755 是 rwsr-xr-x)。可以展开「特殊位」勾选,也可以直接输入四位数。对目录执行 GNU chmod 755 不会清除已有的 setgid,要清除需写 00755 或 g-s。

阿里云虚拟主机上的文件应该设成什么权限?

阿里云云虚拟主机的帮助文档在排查 500 错误时写明:系统中目录和文件权限默认为 755,图片、文字等 HTML 文件的权限应该为 644;排查子目录 403 时,建议没有特殊要求就把文件夹权限改为 755。用 FileZilla 修改时,在「数字值」框里填的就是这三位数,可以先在本工具里输入,确认对应的权限串。

输入的权限会发送或保存吗?

不会。计算在浏览器标签页里完成,勾选的权限、输入的数字和权限串不会发送到服务器,也不会保存到浏览器存储。页面统计只记录使用事件(工具名和动作:勾选、特殊位、确认后的数字或符号输入),不包含权限值本身。