Unix 文件权限(chmod)
文件
在 unix 用于文件权限的三种表示之间往返:位复选框、八进制(设置 setuid/setgid/sticky 时为 4 位),以及 ls 风格的符号字符串。下方部分给出可直接复制的 chmod 与 find -perm 命令以及人类可读的摘要,因此你能一眼看出 4755 实际授予了什么。常见模式可通过预设行一键设置。
—
预设
权限位
属主
组
其他
特殊位
- chmodchmod 755 <file>
- find -permfind . -type f -perm 755
- 含义
- owner: read + write + execute
- group: read + execute
- other: read + execute
符号形式用 s/S 表示 setuid/setgid,t/T 表示 sticky —— 大写表示特殊位已设置但对应的 x 没设置。
使用方法
- 选择预设,或粘贴你从教程里复制的八进制模式,或键入符号形式。
- 如需要,勾选特殊位(setuid、setgid、sticky)。
- 把 chmod 命令复制到你的 shell。
常见问题
- 为什么目录的「正确」权限是 755?
- 目录需要执行位才能被遍历 —— 无 x 的目录可以列出其名字但无法 cd 进入。755 给属主完全控制,并允许其他所有人遍历 + 读取。
- rws 里的 s 究竟做什么?
- 在可执行文件上,setuid(user-execute 位上的 s)让文件以属主的有效 UID 运行而非调用者。在目录上,setgid 让新文件继承该目录的组。目录的 sticky(如 /tmp)意味着只有文件的属主才能删除它。