🔐
免费 chmod 权限计算器
切换所有者、组和其他用户的 Unix 文件权限,获取八进制值(755)、符号表示(rwxr-xr-x)和精确的 chmod 命令。
加载后可离线使用
| 读取 | 写入 | 执行 | 值 | |
|---|---|---|---|---|
| 所有者 | 7 | |||
| 组 | 5 | |||
| 其他 | 5 |
特殊位
八进制(可编辑)
rwxr-xr-x
符号表示
命令
$ chmod 755 文件名
常用预设
常见用途
- Web服务器的正确文件权限在Apache/Nginx服务器上为Web文件和文件夹设置正确的权限。
- 设置SSH密钥权限SSH拒绝权限松散的密钥。获取密钥文件的确切chmod。
- 制作Shell脚本可执行获取chmod命令以使脚本可运行,同时保持其安全。
- 学习Linux文件权限了解八进制和符号Unix权限如何映射到读取/写入/执行。
- Docker镜像中的文件权限为复制到Docker容器的文件设置正确的权限。
工作原理
此工具是手写的、完全在客户端运行的 Unix 权限计算器——没有库、没有服务器。它将每个权限建模为 React 状态矩阵中的布尔值,并使用直接的位运算在八进制、符号和 ls -l 格式之间转换。
- 1复选框矩阵设置状态九个读/写/执行复选框(所有者、组、其他)各自切换 React 状态对象中的一个布尔值。特殊位——setuid、setgid 和 sticky——在另一个并行的状态对象中单独跟踪。
- 2位运算计算八进制octalFor() 函数使用固定权重 r=4、w=2、x=1 对每组启用的权限值求和。三组数字拼接在一起,如果设置了任何特殊位,会在前面加上第四位数字(setuid=4、setgid=2、sticky=1)。
- 3双向解析同步所有输入输入 3 位或 4 位八进制数会触发 parseOctal(),它用按位与将每一位分解回权限布尔值并更新复选框矩阵。粘贴 ls -l 行会触发 parseLsPerms(),它用正则提取 9 个字符的权限字符串,并解码 s、S、t、T 等表示 setuid/setgid/sticky 的特殊字符。
- 4组装并复制 chmod 命令最终的 chmod 命令通过字符串插值构建——八进制模式或符号模式(u=rwx,g=rx,o=rx 形式)——可选 -R 标志和目标文件名。点击“复制”会通过 navigator.clipboard.writeText() 将命令写入剪贴板,完全在本地运行,不发出网络请求。