简体中文

开发者工具 · Chmod 计算器

粘性位的两个生命:从交换驻留文本到 /tmp

· 背景

chmod UNIX 访问控制

粘性渲染显示为不同的 Unix 权限位图
原始 ToolAcre 矢量图

/tmp 模式中的 t 在 1970 年代的 Unix 中意味着完全不同的东西。这篇文章遵循从性能提示到删除规则的粘性位,并解释了它今天的作用。

drwxrwxrwt on /tmp — 最后一个字母不是 r、w 或 x,通常的单字解释什么也解释不了

字符串 drwxrwxrwt 说明了为什么普通的 rwx 算术并不是全部。粘性是 1000 位,在最终执行位置呈现。当存在 other-execute 时,字符为小写 t;如果没有它,则会出现大写 T。因此,输入 1777 会生成 rwxrwxrwt,而四位数摘要保留前导特殊位数字。

该显示转换提供的模式;它不检查目录。该页面将一个值拆分为所有者、组、其他和特殊位,然后从这些部分重建每个视图。他们的协议验证算术,而不是所有权、ACL 或文件系统策略。生成的 chmod 命令保持纯文本状态,直到有人在其他地方运行它。

最初的含义 — 退出后将程序的文本段保留在交换中,以便下一次运行在慢速磁盘上启动得更快

常规文件解释说,一旦请求程序文本保留在交换中,就会粘滞。这是这些资料来源所支持的完整的历史主张。他们没有引用主要的 Unix 手册、日期、命名系统或采用措施。仔细的考虑可以将以前的文件含义与当前目录行为进行对比,而无需发明更广泛的操作系统历史记录。

计算器确定如何表示该位。 Sticky 占用八进制 1000 并共享符号表示法中的其他执行位置。因此 1777 以 t 结尾,因为设置了执行,而 1644 以 T 结尾,因为它不存在。位掩码、解析器、渲染器和往返测试支持这些事实,而不是内核行为的时间顺序。

来源描述了以前的文件提示,但没有提供主要历史引用

对于常规文件,该工具将 Sticky 描述为现代内核忽略的历史交换提示。该措辞不应成为每个内核或文件系统的通用声明。该存储库提供计算器解释,而不是平台调查。它的防御点更窄:粘性不会改变常规文件显示的读取、写入或执行授权。

即使未要求强制执行,表述仍然准确。对于 other-execute 设置,最后一个字符是 t;如果没有它,该字符就是 T。解析器将任一形式恢复为粘性位,并测试涵盖 1777、1644 以及通过 7777 的每个模式。没有一个会启动程序、挂载文件系统或查询内核的实际行为。

常规文件解释说现代内核忽略粘性;没有提出普遍的主张

目录行为是现代使用的实现直接解释。在共享目录上,粘性添加了删除和重命名限制:人们可以创建条目,但删除仅限于条目的所有者或根。预设将 1777 捕获为 /tmp 模式,而解释则在目录可供所有人写入而不具有粘性时发出警告。

显示暴露了这种区别,但没有声称检查 /tmp. 模式 777 和 1777 共享普通权限 rwxrwxrwx。添加 1000 会将最终的符号 x 更改为 t 并将 +t 附加到生成的分配中。所有者、组和其他补助金保持不变;真正的所有权、ACL 和文件系统规则仍然在计算之外。

目录粘性行为是当前实施的解释

目录语句规定了一个有限的规则:使用粘性集,只有文件的所有者或根可以删除或重命名它。该工具不会解析身份、检查目录所有权或尝试执行操作。显示的 1777 确认通用 rwx 位加粘性,但它无法识别谁拥有涉及实际争议的条目。

附加政策必须单独调查。计算器不会读取 ACL、功能、安装选项、强制控制或文件系统状态。文件和目录之间的切换会更改说明,而不是模式。如果重命名成功或意外失败,该页面无法解释原因;它仅隔离传统位以进行特定于系统的调查。

该工具描述所有者或根删除限制,而不检查策略扩展

将 1777 和 777 作为目录模式进行比较。模式 777 呈现 drwxrwxrwx 并允许每个类列出、创建、输入、重命名和删除。该工具警告用户可能会删除不属于他们的条目。启用粘性会产生 drwxrwxrwt:rwx 授予保持固定,而所有者或根删除限制进入解释。

生成的分配显示相同的一位差异。模式 777 变为 u=rwx,g=rwx,o=rwx,而 1777 添加 +t;八进制预览还保留前导数字。预览都不会打开路径或执行 chmod。比较证明只有 1000 改变了并解释了它的 t 形式,但所有权和执行仍然需要外部检查。

工作示例:在计算器中比较 1777 和 777 解释

Setgid 历史记录。存储库可以将 setgid 编码为 2000,在组执行位置呈现 s 或 S,并解释目录组继承。这些实现细节没有记录 setgid 的起源,也没有将其开发与粘性联系起来。一个特殊位的算术并不是另一个特殊位的历史证据。

受保护目录策略也超出了源集。该页面不会读取 fs.protected 设置、系统配置、ACL、所有权记录或尝试的操作。它可以确认提供的模式包含粘性并显示其基本授予,但它不能证明粘性是机器的唯一限制。更广泛的诊断需要来自该环境的证据。

Setgid 历史记录和受保护目录策略保留在源集之外

实际区别适合于一个字符。对于目录,t 记录具有其他执行位的粘性,而 T 记录没有该执行位的粘性。计算器保留这两种形式,并使 1000 在其摘要中可见。其来源还提到了以前的常规文件提示,但提供的主要证据太少,无法支持普遍的历史年表。

在辩论政策之前使用该页面来解决代表问题。输入模式,选择文件或目录,然后比较八进制、符号、矩阵、摘要和赋值。协议确认一致的十二位转换。除非目标系统提供更多证据,否则就到此为止:该工具不识别任何用户,不读取任何路径,不执行任何命令,也不检查任何策略扩展。