功能简介
Chmod 权限计算器在 Unix/Linux 文件权限的三种常见写法之间互相换算:读、写、执行勾选框,八进制数字(如 755),以及符号表示(如 rwxr-xr-x)。它还会同时生成八进制和符号两种写法的 chmod 命令,用文字说明每类用户能做什么,并支持 setuid、setgid 和粘滞位这些特殊权限。所有计算都在浏览器里完成。
使用方法
- 为所有者、所属组和其他人勾选权限,或者直接在输入框里输入。输入框支持八进制(
644、0644、4755)、ls -l风格的字符串(rw-r--r--,或前面带文件类型的-rw-r--r--),以及u=rwx,g=rx,o=、a+x这样的 chmod 表达式。 - 勾选框和结果会跟着输入实时变化;点勾选框时,输入框里的权限也会按原来的写法改写。
- 在「选项」里填写文件名,需要对整个目录树生效时打开「递归(-R)」,然后一键复制生成的命令。
常用权限
chmod 755 deploy.sh # rwxr-xr-x
chmod 644 index.html # rw-r--r--
chmod 600 ~/.ssh/id_ed25519 # rw-------
chmod 1777 /tmp # rwxrwxrwt
- 755:目录、脚本和程序。所有者可以修改,所有人可以读取和运行。
- 644:网页、图片等普通文件。
- 600:SSH 私钥、
.env等私密文件,只有所有者能读。别人可读的私钥会被 SSH 拒绝使用。 - 700 用于私有目录;多人共用一个项目时常用 775/664。
数字是怎么来的
每类用户对应一位八进制数字,由读 = 4、写 = 2、执行 = 1 相加得到。对目录来说,读表示能列出其中的文件名,写表示能在里面创建和删除文件,执行表示能进入目录或访问其中的文件。
可选的最高位存放特殊权限:setuid = 4、setgid = 2、粘滞位 = 1。符号表示中它们会替换执行位上的字母:setuid 和 setgid 显示为 s,粘滞位显示为 t。大写的 S 或 T 表示设置了特殊位却没有执行权限,几乎总是配置错误。
计算器还会显示对应的 umask,也就是默认 umask 从 777 中去掉的那些位。umask 为 022 时,新建目录是 755,新建文件是 644。
常见问题
› chmod 755 是什么意思?
三位数字分别对应所有者、所属组和其他人。7 = 读(4)+ 写(2)+ 执行(1),5 = 读 + 执行。所以 755 表示所有者拥有全部权限,其他人可以读取和运行,写作 rwxr-xr-x,是脚本和目录最常用的权限。
› 644 和 755 有什么区别?
644(rw-r--r--)没有执行位,适合 HTML、图片、配置文件等普通文件。755 给所有人加上了执行权限,程序要运行、目录要允许进入,都需要执行位。
› 为什么不建议用 chmod 777?
777 让系统上的每个用户都能修改或替换这个文件。在 Web 服务器上,这意味着任何被攻破的进程都能改写你的代码。正确做法是用 chown 修正所有者,目录用 755、文件用 644。
› setuid、setgid 和粘滞位是什么?
它们是最前面的第四位八进制数字。setuid(4)让程序以所有者身份运行;setgid(2)让程序以所属组身份运行,用在目录上时新文件会继承目录的组;粘滞位(1)让用户不能删除共享目录(如 /tmp)里别人的文件。在 ls 输出中,它们以 s 和 t 显示在执行位的位置。