Chmod 权限计算器
复选框、八进制与符号三向联动,一键生成 chmod 命令
使用说明
- 在所有者、属组、其他人三个区块勾选读取、写入、执行,八进制、符号串与结果区实时刷新。
- 也可以直接改某个区块的八进制数字或三位符号,复选框与另一处同步换算,符号末位可写 s、S、t、T。
- 需要 setuid、setgid 或粘滞位时勾选特殊权限位,八进制会显示为 4755 这样的四位数。
- 点预设一键套用 644、755、4755 等常见组合,再按需微调单个权限位。
- 把目标名改成实际路径,复制数字式或符号式命令到终端执行即可。
目录与文件的权限差异
同一个 rwx,在文件和目录上含义不同?
为什么删除文件看的是目录的 w?
目录缺少 x 会怎样?
常见问题
755 和 644 分别适合什么场景?
777 有什么风险?
setuid、setgid 与粘滞位分别用在哪里?
勾选与计算会上传到服务器吗?
使用步骤
- 勾选权限位
在所有者、属组、其他人三个区块里勾选读取、写入、执行,八进制、符号串与命令输出同步刷新。
- 直接输入数字或符号
每个区块提供八进制数字与三位符号输入框,改任意一处,复选框与另一处立即换算,符号末位可写 s、S、t、T。
- 套用预设与特殊位
点 644、755、4755 等预设一键填入常见组合,特殊位可单独勾选,四位数写法自动出现。
- 复制命令去执行
在目标名框改成实际路径,结果区给出数字式与符号式两条命令,点复制即可粘贴到终端。
工具详细介绍
Linux 把文件权限分成所有者、属组与其他人三组,每组各有读取、写入、执行三个开关,合称 rwx。每个开关对应一个数值,读取记 4,写入记 2,执行记 1,相加得到 0 到 7 的八进制数字,三组数字连写就是 755 这样的权限值。符号表示把同样的信息展开成 rwxr-xr-x,每三个字符对应一组,短横线表示该位关闭。两种写法可以互相换算,数字式适合在命令里一次性赋值,符号式更适合描述改动,例如只给属组加执行位。
本工具把三组权限拆成九个复选框,配上每组的八进制数字与三位符号输入框,三处任意一处改动都会同步到其余两处。特殊权限位 setuid、setgid 与粘滞位各占一个八进制位,勾选后显示为 4755 这样的四位数。符号串里会相应出现大写或小写的 s 与 t。常见组合做成一键预设,当前权限命中的预设会高亮提示。结果区给出数字式与符号式两条 chmod 命令,目标名可以自由替换。全部换算在浏览器本地完成,输入内容不会上传服务器。
原理与背景
八进制与符号是同一组开关的两种记法。九个基本位按组折算成三个 0 到 7 的数字,特殊位再增加一个更高的八进制位。setuid 记 4,setgid 记 2,粘滞位记 1,于是出现 1777、4755 这类四位数写法。符号表示把这个高位放进对应组的执行位上:小写 s 表示特殊位与执行位同时开启,大写 S 表示只有特殊位,粘滞位同理用 t 与 T 区分。换算器据此保证三条路径一致,改符号会重算数字,改数字也会重排复选框。
数字式与符号式命令的行为有差别。数字式是绝对赋值,chmod 755 file 会把九个位全部重设,包括清掉特殊位。符号式按 组=权限 的形式逐组赋值,u=rwxs 这种写法把特殊位一并交给所有者,等价于 u=rwx 加 u+s。本页两条命令始终指向同一个权限状态。执行时还要留意 umask 只影响新建文件的默认权限,不会改动已有文件。递归修改目录树时,目录需要 x 才能进入,文件加 x 表示可执行,混用同一个数值容易出错。
典型使用场景
- 部署网站文件
上传程序后按惯例把目录设为 755、文件设为 644,Web 服务器读得到内容,访问者又无法改写页面。用预设一键套用两组数值,再对照符号串逐一确认,避免把配置文件或数据文件暴露成可写。
- 让脚本可以执行
写好的部署脚本运行时提示 Permission denied,多半是缺少执行位。在对应区块勾选执行后得到 755 或 700,复制命令到终端补上即可。整个过程不必翻手册查数字写法,也不用登录服务器反复试错。
- 加固共享目录
团队共用目录希望新文件自动归入同一属组,就给目录加上 setgid,例如 2775。再配合属组可写、其他人不可进入的基线,共享起来既方便又不失控。粘滞位则适合 /tmp 这类公共目录,人人可写但只能删自己的文件。
使用技巧
- 记数值口诀:r 是 4,w 是 2,x 是 1,三个数相加就是该组的八进制位,7 全开,5 读加执行,4 只读。
- 目录与文件分开想:网站部署常用目录 755、文件 644,私钥等敏感文件用 600。
- 符号串里大写 S 或 T 说明特殊位开着但执行位没开,这通常是漏勾执行导致的无效组合。
注意事项
- 别用 777 图省事
777 对所有人开放写入,网页文件可能被篡改,定时任务可能被替换。排查权限问题时先收紧到 755,再按需放开单个位,比事后清理被篡改的页面便宜得多。
- 目录与文件的 x 不同
给文件加 x 是允许执行,给目录加 x 是允许进入。把 755 一次性递归套在整个目录树上,会让所有文件都带上执行位,多数时候无害,但会掩盖真正需要执行的文件。
- 脚本上的 setuid 无效
Linux 内核会忽略解释型脚本上的 setuid 位,只对二进制程序生效。想给脚本提权,需要用 sudo 或封装一层二进制。符号串里的 s 看着存在,实际运行时并不会改变执行身份,误以为生效会留下安全隐患。