chmod 权限计算器
八进制、符号形式、ls -l 显示三种写法互转,勾选权限位即出 chmod 命令,支持 setuid / setgid / sticky。
八进制
—
符号形式
—
ls -l 显示
—
权限数字
—
命令
逐位说明
使用指南
- 输入任意一种写法
填 755、4755、rwxr-xr-x 或 -rwxr-xr-x 都行,其余形式自动补全,输错会给明确提示。
- 或者直接勾权限位
九个 rwx 加三个特殊位,勾完输入框会同步成八进制,方便对照着理解每一位的含义。
- 抄命令与核对
下方给出数字写法和符号写法两条命令,逐位说明里能看到每段对应的权限,最后核对一遍再执行。
常见问题
755 和 777 到底差在哪?
差在「其他」这一位。755 是属主可读写执行、属组和其他只能读和执行;777 是三类用户都能写。对目录来说「写」意味着能新建和删除文件,所以网站根目录给 777 等于任何人都能往里面放脚本,是提权入口。常规做法是目录 755、文件 644。
为什么我设了 setuid 却不生效?
最常见的两个原因:一是文件所在分区挂载时带了 nosuid(很多云主机的数据盘默认如此),二是脚本文件(#! 开头的)的 setuid 在 Linux 上本来就被忽略——内核出于安全考虑不认脚本的 setuid。只有编译出来的二进制才真正生效。
大写 S 和小写 s 有什么区别?
小写 s 表示既设了 setuid 又有执行权限(rws),大写 S 表示设了 setuid 但没有执行权限(rwS)。后者基本等于没设,因为没有执行权限的文件根本跑不起来。看到大写字母就说明配置写错了。
chmod 755 和 chmod u=rwx,g=rx,o=rx 完全等价吗?
对普通权限位是等价的。但符号写法会额外清除你没提到的位:u=rwx 会把 setuid 一并清掉,而 chmod 755 只改低九位、保留已经设置的 setuid。所以带特殊位的文件用数字写法更安全,不容易误清。