前几天有人写了一个「恶意软件」,把万恶的 systemd “移植” 到了 OpenBSD 上。实际上它是真的在玩梗...
编写者称它是一个游戏,然而这个「游戏」还真的有毁灭性。这个假的 systemd 被安装进系统之后,就会开始慢慢吃掉你的 OpenBSD ,直到你再也无法启动。

编写者的描述如下:(很显然他这里是把它作为真正的移植来描述的)
systemd-openbsd
是一个为 OpenBSD 编写的 systemd 风格 init 程序。它不支持 systemd 服务,也没有内建的 DHCP 服务器,也不支持 emacs.service
。但它确实实现了绝大多数非常重要的 Linux 侧 systemd 功能。它的目标就是让系统持久稳定地运行。
链接
https://github.com/reyk/systemd-openbsd/
游戏目标
获得尽可能高的分数(也就是让你的系统运行地尽可能久一点)。
它能对系统做什么?
一句话:吃掉你的系统。
注意,如果你在编译时加上了 -DDANGROUS
Flag ,它真的会对你的系统作出如下操作:
- 随机删除文件 / 文件夹。(即
systemd-file
/ systemd-dir
)
- 随机重命名文件。(即
systemd-rename
)
- 随机移动文件 / 文件夹到另外一个地方。(即
systemd-move
)
- 随机重启系统。(即
systemd-reboot
)
- 随机杀死进程。(即
systemd-proc
)
更多暂未实现的功能,请进入仓库 README 查看。
注意,如果你没有加这个 flag ,它就不会真正吃掉你的系统。
如何玩?
步骤很简单。编译,然后将 /sbin/init
用编译的 init
替换掉,然后重启系统,使用替换过的 init
运行。
接下来只需要让它运行下去,你可以把它作为一台服务器,或者做别的事情,只需要记住不要让 /sbin/init
变回 OpenBSD 原来的 init
即可。
- 要围观它的操作,你可以查看
/var/log/authlog
:
tail -f /var/log/authlog
Enjoy your system buster!
环境准备
你需要 OpenBSD 才能运行此游戏。
千万不要在生产环境中使用该软件!
要运行这个「恶意软件」游戏,请使用虚拟机!
在虚拟机安装好 OpenBSD ,不需要 GUI ,你可以直接用自带的包管理器安装 wget
或者 git
。
你可以直接 make
(系统已经内建了编译器),或者如果你想体验它是如何吃掉系统的,你可以在 Makefile
中加上之前提到的 Flag 然后编译。
如何查看结果?
当你的系统无法再继续使用,你就输了。
这个「游戏」实际上是有分数的,它保存在 /systemd-score.txt
,当你的系统被「吃掉」之后,你可以通过安装介质访问它。
玩家赢不了么?
实际上还是能赢的,不过条件很苛刻:
- 如果它动了
/systemd-score.txt
,你就赢了。
- 如果它动了
/sbin/init
,你就赢了。
下面我将慢慢 刷帖 更新,从安装 OpenBSD 到运行游戏,再到游戏结束的过程展示一遍,欢迎前来围观。
编辑一下,补个滑稽 
如果你已经安装好了 OpenBSD ,请点击这里跳至 4 楼。
如果你已经熟悉如何使用 OpenBSD ,请点击这里直击编译过程。