Chmod 权限计算器
交互式 chmod 计算器,在数字 (755) 和符号 (rwxr-xr-x) 表示法之间转换。免费在线工具,在浏览器中处理。
- 在浏览器中处理
- 数据不离开你的设备
- 免费 · 无需注册
用微信扫描以下二维码即可分享
示例、说明与常见问题 带实际输出的示例、与同类工具的差别,以及常见问题。
常见权限
| 数字 | 符号 | 用途 |
|---|---|---|
755 | rwxr-xr-x | 目录、可执行脚本、Web 服务器根目录 |
644 | rw-r—r— | 普通文件、HTML/CSS、配置文件 |
600 | rw------- | 私密文件(SSH 密钥、.env) |
700 | rwx------ | 私密目录,如 ~/.ssh |
777 | rwxrwxrwx | 所有人可读写执行(生产环境应避免) |
444 | r—r—r— | 所有人只读 |
750 | rwxr-x--- | 所有者完全权限,组可读和执行,其他无权限 |
664 | rw-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 修改时,在「数字值」框里填的就是这三位数,可以先在本工具里输入,确认对应的权限串。
输入的权限会发送或保存吗?
不会。计算在浏览器标签页里完成,勾选的权限、输入的数字和权限串不会发送到服务器,也不会保存到浏览器存储。页面统计只记录使用事件(工具名和动作:勾选、特殊位、确认后的数字或符号输入),不包含权限值本身。