Chmod 计算器
| 类别 | 读取(r) | 写入(w) | 执行(x) |
|---|---|---|---|
| 拥有者 | |||
| 组 | |||
| 其他 |
Unix文件权限分为三种组合形式(用户、组及其他用户的读取/写入/执行权限),可精确表示为三位八进制数值。例如chmod 755 script.sh即等同于rwxr-xr-x:所有者拥有全部权限,组及其他人仅具备读取和执行权限。该计算器支持逐项勾选复选框实时显示八进制权限结构;亦可直接输入八进制数值查看其读/写/执行权限分解详情,并提供完整的chmod命令供复制使用。
chmod 权限的工作原理
-
1
切换 9 个权限位
三组(用户、组、其他)×三种权限(读取、写入、执行)= 9个复选框。
-
2
每个组都会转换为一个八进制数字。
读取 = 4,写入 = 2,执行 = 1。将需要启用的位相加。
-
3
阅读生成的八进制形式和符号形式
例如 755 → rwxr-xr-x;644 → rw-r--r--;600 → rw-------。
-
4
复制 chmod命令
该工具会显示当前权限对应的 chmod 命令,可直接复制。例如:chmod 755 文件名、chmod u+x 文件名、chmod -R 755 目录。
权限位值
| 位 | 值 | 对文件的含义 | 对目录的含义 |
|---|---|---|---|
| 读取 | 4 | 可查看内容 | 可列出条目 |
| 写入 | 2 | 可修改 | 可创建/删除/重命名条目 |
| 执行 | 1 | 可作为程序运行 | 可遍历(用 cd 进入并访问其内部内容) |
常见的权限值
| 八进制 | 符号化表示 | 常用用途 |
|---|---|---|
| 777 | rwxrwxrwx | 所有人皆可写入,危险;极少正确 |
| 755 | rwxr-xr-x | 脚本、二进制文件、目录 |
| 750 | rwxr-x--- | 仅您及您的团队可使用的私有脚本 |
| 700 | rwx------ | 专属于您的私有脚本(SSH, ~/.ssh) |
| 644 | rw-r--r-- | 公共文档、图像、HTML |
| 640 | rw-r----- | 组可读配置 |
| 600 | rw------- | 私有配置、SSH 私钥、~/.netrc |
| 444 | r--r--r-- | 只读已发布文件 |
| 400 | r-------- | 私有只读(准确性较低;建议使用 600) |
特殊权限(罕见但重要)
- setuid (4xxx):以文件所有者的身份运行该文件,无论由谁执行。
/usr/bin/passwd使用此选项。 - setgid (2xxx):在文件上运行时,以该组身份执行;在目录上运行时,新创建的文件将继承该目录所属的用户组。
- 可粘性位(1xxx):在目录中,仅文件所有者有权删除或重命名该文件。
/tmp文件即采用此设置。
四位数八进制数包括以下内容:chmod 4755 setuid-binary会在755的作用下激活setuid。
符号化的chmod
许多管理员更倾向于使用符号化形式来实现增量变更:
chmod u+x script,仅限所有者添加执行权限。chmod go-w file,移除对组及其他对象的写入权限。chmod a+r file,向所有用户、组及其他用户授予读取权限。chmod u=rw,go=r file,精确设置这些位。chmod -R 755 directory,递归。
常见错误
- 上传文件夹设为 777:看似能“修复权限问题”,实则会向攻击者开放服务器访问。请使用更严格的组合(例如 755 配合正确的组所有权)。
- 对目录执行 chmod -R 644:会移除目录的执行权限,导致无法用
cd进入。请为目录设置 755,为普通文件设置 644。 - 0600 对比 600:前导零表示 C 语言及 Shell 系统中的八进制形式;大多数 chmod 实现均支持这两种表示方式。
- Umask:新文件会继承 666 减去 umask 的值。默认 umask 为 022,因此共有 644 个文件和 755 个目录。
常见问题
通常需要让所有者能够修改数据,而其他用户则只能查看和浏览数据。权限设置为:所有者使用 rwx 权限,组及其他用户使用 r-x 权限,正是这种精确组合。
几乎从不会如此。777权限允许系统中的任何用户修改该文件:在多用户系统中这存在安全隐患;而在单用户系统中则毫无必要(文件所有者已拥有755权限下的rwx权限)。若某Web应用程序确实需要777权限,真正的解决方案在于调整文件所有权(chown)或更改组成员关系。
~/.ssh 目录权限:700;私钥(id_rsa、id_ed25519)权限:600;公钥(.pub)权限:644;authorized_keys 权限:600。作为安全措施,SSH 会拒绝权限范围过宽的密钥。
chown用于指定文件所有者,chgrp用于指定所属组,二者为独立命令。chmod仅修改文件权限位,不会改变文件的所有者(用户或组)。
相关工具
ASCII 表参考
完整 ASCII 表,覆盖 0 到 127;列出每个代码的十进制、十六进制、八进制、二进制值和 HTML 数字字符引用写法,包括 NUL、LF、DEL。
HTML 字符参考
可搜索的 HTML 实体列表,含命名代码与数值代码,并支持一键复制特殊字符和符号。
键盘快捷键参考
搜索 macOS、Windows 和 Linux 上 VS Code、Chrome 以及使用 GNU Readline 的 Bash 的文档默认快捷键。
电话号码验证器
根据各国号码规划检查结构,并显示地区、类型以及E.164、国际、国内和RFC 3966格式。
BBCode 转 HTML 转换器
将 BBCode(论坛标记)转换为干净的 HTML。支持格式标签、列表、引用、代码、图片和链接。
布尔代数化简器
计算布尔表达式在每种输入组合下的值,并显示完整的真值表。支持最多五个变量和 &、|、!、^ 运算符。