返回开发工具

Chmod 权限计算器 · 八进制 ⇄ 符号 ⇄ chmod 命令 + setuid/setgid/sticky — Vectobox

免费 chmod 权限计算器:在八进制(755)、符号串(rwxr-xr-x)、复选框与 chmod 命令之间互转 Linux 文件权限。正确处理 setuid/setgid/sticky 特殊位、大写 S/T 无效位警告,并解析 u+x,go-w 等符号操作语法。100% 浏览器内运行,零追踪。

递归 (-R)
权限
执行
所有者
其他
setuid
setgid
sticky 位
八进制
符号 (ls -l)
符号操作 (u+x,go-w)
输出644
八进制(3 位)
644
八进制(4 位)
0644
符号串
rw-r--r--
二进制
110 100 100
chmod 命令
文字说明

所有者: 读, 写

:

其他:

说明:符号操作不引入 umask(未指定类时默认 a),X 仅在已有任一执行位时才追加执行权限。浏览器内无文件系统上下文。

全格式的 chmod 权限

每个 Unix 文件权限都是一个 12 位值:三个特殊位(setuid、setgid、sticky)外加所有者、组、其他三组的读/写/执行。本计算器以单一 mode 作为唯一事实来源,因此复选框矩阵、八进制(755 / 4755)、符号 ls -l 串(rwxr-xr-x)、二进制、chmod 命令与文字说明会随你编辑任意一处而实时同步。全部在浏览器标签页内运行,零上传。

setuid、setgid 与 sticky 位

高位 nibble 存放三个特殊位。setuid(4000)让可执行文件以属主身份运行,经典例子是 4755 的 /usr/bin/passwd。setgid(2000)让目录中新建文件继承其组,常用于 2775 的共享目录。sticky 位(1000)作用于像 /tmp 这样 1777 的目录,允许任何人创建文件但只有属主能删除自己的文件。

符号操作(u+x、go-w、a=rx)

除了静态权限,chmod 还接受符号操作:类(u、g、o、a)、运算符(+、-、=)与权限(r、w、x、X、s、t)。本工具解析逗号分隔的子句,如 u+x,go-w 或 u=rwx,go=rx,并按顺序应用到当前 mode,与命令行 chmod 完全一致。大写 X 仅在已有执行位时才追加执行权限。

为什么大写 S 和 T 是麻烦

在 ls -l 列表中,小写 s 或 t 表示特殊位已设且对应执行位也存在 —— 该位有效。大写 S 或 T 表示特殊位已设但执行位缺失,因此该特殊位无实际效果。4655 渲染为 rwSr-xr-x,1666 渲染为 rw-rw-rwT。本计算器一旦检测到无效的大写位,就会给出明确警告。

常见问题

3 位与 4 位八进制有什么区别?
3 位形式(755)涵盖所有者、组、其他的读/写/执行。4 位形式(4755)增加一个前导位表示特殊位:4 = setuid,2 = setgid,1 = sticky,相加得到。未设任何特殊位时前导位为 0,通常省略。
为什么 ls 显示大写 S 或 T?
大写字母表示特殊位已设但对应执行位未设。setuid 缺所有者执行位显示 S,setgid 缺组执行位显示 S,sticky 缺其他执行位显示 T。该位被记录但无实际效果,因此本工具会对此发出警告。
符号操作输入框有什么用?
它把一个 chmod 符号变换应用到当前 mode。输入 u+x 给所有者加执行位,go-w 移除组与其他的写位,或 u=rwx,go=rx 精确赋值。按回车或点击应用后,其余所有视图都会从新 mode 重新渲染。
这个计算器会用我的 umask 吗?
不会。浏览器没有文件系统上下文,因此符号操作不引入 umask:未指定的类默认为 a(全部),X 仅在已有执行位时才追加执行权限。这让结果可预测,并与相同显式输入下 chmod 的行为一致。
这些内容会发送到服务器吗?
不会。所有解析与渲染都在你的浏览器标签页内本地完成,不记录、不存储、不传输。

相关工具