Linux权限匹配遵循“三段式优先级规则”:先判所有者(User),再判所属组(Group),最后判其他用户(Other),命中即止、不叠加不回退;所有者权限唯一生效,同组用户仅当非所有者时才适用组权限,其他用户仅为兜底,且每次访问均由内核实时比对UID/GID动态判定。

文件所有者、同组用户和其他用户的权限边界,本质是 Linux 权限匹配的“三段式优先级规则”:系统按顺序检查身份,一旦命中就停止判断,不叠加、不回退。
所有者(User)——最高且唯一的控制权
所有者权限只作用于明确指定的单个用户,和其是否属于某个组无关。即使该用户同时在文件所属组里,系统也只认 owner 权限,不会再去查 group 那一栏。
- 比如 chown alice:dev team.sh 后,只有 alice 能按第一组 rwx 决定操作能力
- alice 即使被加进 dev 组,也不会触发 group 权限;她的行为完全由第2–4位字符决定
- 所有者可自由修改文件内容、重命名、删除(对目录还需 x 权限配合)
同组用户(Group)——组内成员共享的“第二道门禁”
这一栏权限只对“恰好属于该文件所属组”的用户生效,且前提是该用户不是文件所有者。它解决的是团队协作场景下的最小必要授权。
- 例如文件属组是 dev,用户 bob 属于 dev 组但不是所有者,则使用第5–7位权限
- 如果 bob 同时也是所有者,那第5–7位完全无效——他走的是 owner 通道
- 注意:一个用户可属多个组,但只有文件的 那个特定组名 才起作用
其他用户(Others)——兜底权限,仅当既非所有者也不在所属组时启用
这是最宽泛也最需谨慎设置的一档。它不看用户是否属于其他任意组,只做一次判定:你是不是 owner?是不是这个文件的 group 成员?两个都否,才轮到 others。
- 常见误操作:把敏感配置文件设为 644,以为“组和 others 都只能读”,但若某人恰巧在所属组里,他就拥有了 group 的 r 权限——而这不是你本意
- 真正隔离外部访问,应确保文件属组无无关成员,并将 others 权限设为 ---(即 0)
- 目录设为 750 比 755 更安全:others 连 ls 都不行,自然无法 cd 或探查结构
权限边界不是静态标签,而是动态匹配过程
每次访问文件或目录时,内核都会实时比对 UID 和 GID:
- 先比 UID —— 匹配 owner?是 → 应用第2–4位
- 否则比 GID —— 是否在文件所属组中?是 → 应用第5–7位
- 否则 → 强制应用第8–10位
- 没有“组权限 + others 权限叠加”,也没有“属于多个组就取最高权限”


















