cv.cm
全部工具

chmod 权限计算器

在当前标签页里计算,不上传,也不会改动任何文件。

权限
读写执行
所有者
所属组
其他人
特殊权限位
表示法

命令
chmod 755 script.sh

目录(或 -R)且没有特殊位时,命令写成 00755:GNU chmod 只有在多一个前导 0 时才会清掉目录的 setuid/setgid;macOS 会当作 0755。

文件名按字面处理:空格、引号、$ ; & 以及 * ? [ ] 都会加引号,所以 Movie [1080p].mkv 这样的文件能正确匹配。只有开头的 ~/ 不加引号,代表你的主目录。以 - 开头的文件名前会加 --。

使用步骤

在勾选框、数字权限和 rwx 字符之间互相转换,并生成 chmod 命令。

  1. 勾选权限

    每一行是所有者、所属组或其他人,每一列是读、写或执行。需要的话再勾选 setuid、setgid 或粘滞位。

  2. 或者直接输入数字或 rwx

    输入 644 或 4755,或者粘贴 ls -l 里的 rwxr-xr-x,其他栏会跟着变。

  3. 复制命令

    填上文件或目录名,要处理整个目录就勾选 -R,然后复制 chmod 命令到终端运行。

常见问题

chmod 755 是什么意思?

三位数字依次对应所有者、所属组、其他人。读 = 4,写 = 2,执行 = 1。7 就是所有者 rwx,5 是组和其他人 r-x,合起来是 rwxr-xr-x。

setuid、setgid 和粘滞位是什么?

它们是可选的第四位(写在最前面)。setuid(4)让程序以文件所有者身份运行;setgid(2)让程序以所属组身份运行,用在目录上时新文件会继承该组;粘滞位(1)用在 /tmp 这类目录上,只有文件主人才能删除自己的文件。

为什么会出现大写的 S 或 T?

特殊位和执行位都设置时,ls 显示小写 s 或 t;只设置了特殊位却没有执行权限时显示大写 S 或 T,这通常是配置错了。

可以直接粘贴 ls -l 里的权限吗?

可以。粘贴 rwxr-xr-x 或完整的 -rwxr-xr-x 都行(第一个字符是文件类型,会被忽略),勾选框和数字会同步更新。

这个工具会修改我的文件吗?

不会。它只生成命令,复制后在你自己的终端里运行即可。