755 和 644 该用哪个?
文件用 644(所有者可读写,其他人只读),目录与可执行脚本用 755(多一个执行位)。目录必须有执行位才能进入,所以给目录设 644 会导致无法 cd 进去,这是最常见的误用。
八进制 ⇄ rwx ⇄ 符号写法,含 SUID / SGID / Sticky
-rwxr-xr-x
在 -rwxr-xr-x 基础上执行 …
chmod 755 filechmod 755 dir/| 八进制 | rwx | 含义 | 套用 |
|---|---|---|---|
| 644 | -rw-r--r-- | 普通文件:所有者可读写,其他人只读 | |
| 600 | -rw------- | 私密文件:只有所有者可读写(如 ~/.ssh/id_rsa) | |
| 755 | -rwxr-xr-x | 可执行文件 / 目录:所有人可读可执行,只有所有者可写 | |
| 700 | -rwx------ | 私有目录:只有所有者可访问 | |
| 775 | -rwxrwxr-x | 团队目录:组内成员可读写执行 | |
| 664 | -rw-rw-r-- | 团队文件:组内成员可读写 | |
| 777 | -rwxrwxrwx | 完全开放,生产环境应避免 | |
| 400 | -r-------- | 只读,连所有者也不能改 | |
| 555 | -r-xr-xr-x | 只读可执行 | |
| 4755 | -rwsr-xr-x | SUID:执行时临时获得文件所有者权限(如 passwd) | |
| 2755 | -rwxr-sr-x | SGID:继承目录所属组,常用于共享目录 | |
| 1777 | -rwxrwxrwt | Sticky:只有文件所有者能删除自己的文件(如 /tmp) |
Linux 文件权限由三组三位组成:所有者、所属组、其他人,每组是读(4)、写(2)、执行(1)的组合。因此 755 表示所有者可读写执行、其余人可读可执行。第四位是特殊位:SUID(4)让程序以文件所有者身份运行,SGID(2)让目录内新建文件继承所属组,Sticky(1)让目录内只有文件所有者能删除自己的文件(如 /tmp)。
本工具提供三种输入方式:直接填八进制、勾选 rwx 按钮,或输入 u+x、go-w 这样的符号增量;输出会同步给出 rwx 字符串与可直接执行的 chmod 命令,并附常见权限(644、600、755、4755、1777 等)的含义说明。
文件用 644(所有者可读写,其他人只读),目录与可执行脚本用 755(多一个执行位)。目录必须有执行位才能进入,所以给目录设 644 会导致无法 cd 进去,这是最常见的误用。
有。SUID 程序以文件所有者(通常是 root)权限运行,一旦存在漏洞就可能被提权。因此只应给必需的、经过审计的程序设置 SUID,并定期用 find / -perm -4000 -type f 检查系统中的 SUID 文件。
OpenSSH 会拒绝使用其他用户可读的私钥文件,因为密钥泄露意味着身份被盗用。同理 ~/.ssh 目录应为 700、authorized_keys 应为 600。设置后如果仍然报错,检查一下上级目录的权限是否过宽。