反对使用/tmp

2024-10-22

本文作者认为/tmp目录的设计存在安全隐患,因为它是一个跨越安全边界的共享全局可变状态。文章列举了/tmp目录导致的各种问题,例如粘滞位、临时文件创建函数的缺陷以及临时文件清理脚本的漏洞。作者主张使用每个用户独有的临时目录($TMPDIR)来解决这些问题,并解释了早期系统没有采用这种做法的原因。

阅读更多
24
未分类 /tmp

真正无除法的随机数生成

2024-06-05

本文介绍了一种生成真正无偏随机数的算法,不同于Lemire的近似无偏算法,该算法通过构建多分数,并正确处理进位,实现了真正的无偏性。作者通过代码实现并与Lemire算法进行基准测试比较,结果表明,该算法在代码复杂度和性能方面略逊于Lemire算法,但在需要大范围无偏随机数,且使用生成64位随机数的RNG时,该算法具有一定优势。

阅读更多
45

Unix 版本控制的传说:what 和 ident

2024-05-13

这篇文章介绍了 Unix 系统中两个鲜为人知的版本控制命令:SCCS what 和 RCS ident。这两个命令可以用来查找二进制文件构建自哪个源代码,这对库文件特别有用。文章以 FreeBSD libc 解析器中的 res_send.c 文件为例,展示了如何使用 SCCS 和 RCS 标记嵌入版本控制信息。作者还分享了如何在自己的项目中使用 git 嵌入版本信息,并表达了对这种传统方法的喜爱。

阅读更多
65
未分类 SCCS