diff options
| author | eltrac <hi@eltr.ac> | 2026-11-07 01:07:42 +0800 |
|---|---|---|
| committer | eltrac <hi@eltr.ac> | 2026-11-07 01:07:42 +0800 |
| commit | 46473508b9f91e56564cff5326506f789049bdec (patch) | |
| tree | 8813993e2df340ddd22248ecb26d347c40c31327 /content/article/openbsd.md | |
| parent | be69f53a2d9279c5fffdcf54b733b4640e990acb (diff) | |
[draft] new
Diffstat (limited to 'content/article/openbsd.md')
| -rw-r--r-- | content/article/openbsd.md | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/content/article/openbsd.md b/content/article/openbsd.md new file mode 100644 index 00000000..10b4f5a2 --- /dev/null +++ b/content/article/openbsd.md @@ -0,0 +1,75 @@ ++++ +title = '初识 OpenBSD' +subtitle = '' +slug = '' +tags = [] +categories = '软件杂谈' +date = 2026-11-06T23:37:14+08:00 +draft = true +toc = true ++++ + +我在《[爱拯救之](/article/amour-en-sauve/)》一文中提到,博客现在运行在安装 [OpenBSD](https://www.openbsd.org/) 的操作系统上,而不是 Linux。我本想尝试更多的 BSD 系统,可我把 FreeBSD 的 `.iso` 挂载到 VPS 之后,在 VNC 里捣鼓了半天也没把系统安装好。最后还是换回 OpenBSD,在十分钟内就完成了安装。 + +FreeBSD 你们要不要反思一下:为什么 OpenBSD 不到 800MB 的 `.iso` 里纯文本的安装界面会比你们的[图形界面](/essays/lost-in-gui)更好用? + +不多说了,还是先来关注 OpenBSD 吧。 + +{{< quotecard >}}Linux people do what they do because they hate Microsoft. We do what we do because we love Unix.{{</ quotecard >}} + +{{< right "——Theo de Raadt" >}} + +<!--more--> + +## 什么是 OpenBSD? + +<img src="https://img.eltr.ac/geedeapro/article/openbsd/openssh-cowboy.png" alt="OpenBSD pufferfish being a cowboy" width=150 style="float: right; margin-left: 1rem; z-index: 10"> + +众所周知,Linux 和 macOS 都是类 Unix 系统,而 Unix 原本是 AT&T(美国通话电话公司)推出的商业操作系统,在 20 世纪 70 年代授权给外部使用,催生了包括加州大学伯克利分校开发的 BSD(Berkeley Software Distribution)在内的多种*基于* Unix 的系统。[^1] + +<div style="clear: both"></div> + +是的,Linux 是 *Unix-like*,而 BSD 是 *Unix-based*。Linux 与 BSD 的另一个重大区别是授权协议,Linux 以 GPL 2.0 协议授权,而 BSD 则使用与 MIT 类似的 BSD 协议。稍后我会谈到,BSD 协议是怎么让来自 BSD 的软件润物细无声般地进入其他操作系统,甚至支撑起全球网络连接的。 + +NetBSD 的创始人之一 Theo de Raadt 在与开发团队的分歧之后,创建了 OpenBSD——我不太喜欢《大教堂与集市》里说「分支不好」的观点,显然人们早就开始分支开源软件了,分歧是难免的,开发者在自己喜欢的团队中才能开发出好的软件,事实证明 OpenBSD 的确很成功(可能并非通俗意义上的成功)。 + +OpenBSD 给自己的定位是:主动安全的类 Unix 操作系统。`ssh` 到一台 OpenBSD 机器上,就能看到这样的欢迎语: + +```text {hl_lines=[3]} +OpenBSD 8.0 (GENERIC.MP) #84: Tue Oct 6 23:13:49 MDT 2026 + +Welcome to OpenBSD: The proactively secure Unix-like operating system. + +Please use the sendbug(1) utility to report bugs in the system. +Before reporting a bug, please try to reproduce it with the latest +version of the code. With bug reports, please try to ensure that +enough information to reproduce the problem is enclosed, and if a +known fix for it exists, include that as well. +``` + +他们在官网上写的内容还要更笃定:致力于成为[行业第一安全的操作系统](https://www.openbsd.org/security.html)。为此他们采取了很多措施,也发明了不少安全技术和方法论,这些技术被大量商业公司采用。 + +我不太擅长谈安全细节,所以就举一个例子:`W^X`——`W` 是写入(write),`X` 是执行(execute),中间的 `^` 是异或,意思是说一块内存区域要么可以写入,要么可以执行,不能既写入又执行。这样就极大削减了内存出现安全漏洞的概率。 + +他们还有各种原则,比如系统里不必要的服务绝对不默认启用,不需要的端口默认不开放,`root` 默认无法用密码登录[^2],系统的默认状态就非常安全。他们还非常在乎代码的整洁、可读性和可维护性,认为更少的代码就意味着更不容易出现安全漏洞,也非常重视代码审计。我很欣赏他们的工程态度。 + +到目前为止,OpenBSD 的默认配置只发现过**两次**远程安全漏洞,分别是 `CVE-2002-0639` 和 `CVE-2007-1365`,~~现在 Linux 一个月内就能超过这个数~~。 + +除了机制的安全性,OpenBSD 也奉行极简。不仅源代码简单易读,基础系统也相当小——安装镜像小,内存占用小,CPU 要求小,自带的服务很少,自带的软件包也很少…… 我安装了 OpenBSD 之后才发现,原来系统的进程列表和软件包列表,是人类能够读完的。知道运行在自己系统里的大部分软件都是做什么的,真的令人安心。这也使得 OpenBSD 对老设备非常友好。 + +另外,尽管源于美国公司,OpenBSD 基金会位于加拿大,不受美国法律制约。有意思的是,OpenBSD 在自己的 [Cryptography](https://www.openbsd.org/crypto.html) 页面里写到:他们发布加密算法和密码学软件,因为加拿大法律允许出口加密算法——很多国家是禁止的。 + +## 好的软件很少源自商业世界 + +- OpenSSH +- LibreSSL +- tmux +- openrsync + +## BSD 协议 + +## Footnotes + +[^1]: 参见:[Berkeley Software Distribution - Wikipedia](https://en.wikipedia.org/wiki/Berkeley_Software_Distribution) + +[^2]: 不少 VPS 提供商对 OpenBSD 的支持不太好,因为不能在面板里添加 SSH 公钥和非 `root` 用户,装好之后根本登录不了,必须自己手动通过 VNC 安装。还好 OpenBSD 的安装程序很容易上手 |
