FreeBSD 中文社区 2025 第二季度问卷调查
FreeBSD 中文社区(CFC)
VitePress 镜像站QQ 群 787969044视频教程Ⅰ视频教程Ⅱ
  • FreeBSD 从入门到追忆
  • 中文期刊
  • 状态报告
  • 发行说明
  • 手册
  • 网络文章集锦
  • 笔记本支持报告
  • Port 开发者手册
  • 架构手册
  • 开发者手册
  • 中文 man 手册
  • 文章
  • 书籍
  • FreeBSD 网络文章集锦
  • 2025 年
    • zfs 速查手册
    • FreeBSD 开发计划
    • 谁在使用 FreeBSD(基金会官方版本)
    • FreeBSD 特色开发项目
    • 如何将基于 Electron 的应用程序移植到 FreeBSD
    • FreeBSD:原始操作系统发行版的火炬传承者
    • 浏览 FreeBSD 新的季度和两年一次发布计划
    • FreeBSD 日专访 BSD 守护神 Beastie
  • 2024 年 11 月
    • 苹果的开源基石:macOS 和 iOS 背后的 BSD 传统
    • 在动荡的开源世界中保持稳定:FreeBSD 的持久稳定性
    • 为什么你应该使用 FreeBSD
    • FreeBSD 13.4: 新特性及其发展历程
    • Quantum Leap Research 和 FreeBSD 基金会将投资 75 万美元以改善笔记本电脑支持和用户体验
    • 主权科技基金将投资 68.64 万欧元用于 FreeBSD 基础设施现代化
  • 2024 年 7 月
    • BSD 老将:Michael J. Karels 逝世,享年 68 岁
    • 讣告——Michael "Mike" John Karels
    • 配置自己的 VPN——基于 OpenBSD、Wireguard、IPv6 和广告拦截
    • 如何在 FreeBSD 中指定 CPU 类型
    • 使用 BIOS 引导和 UEFI 引导的 GPT 分区的区别和制作方法
    • 通过替换 ZFS 镜像池中的磁盘来扩容
    • 通过为 ZFS 池配置镜像来消除无效数据的影响
    • FreeBSD Bhyve PCI 直通
    • ZFS 池破坏实验
    • FreeBSD ports 开发技术研究
    • FreeBSD pkg 命令概述
    • portsnap 被淘汰了,本应由 git 代替,但结果我发现自己用的是 got
    • ccache 在构建 FreeBSD 的 buildworld 时的效率
    • Hyper-V FreeBSD 13 安装感想
    • 关于对 FreeBSD 发布计划和生命周期的修订
  • 2023 年 12 月
    • FreeBSD 新手?来参与社区吧
    • 介绍来 FreeBSD 的学生
    • EuroBSDCon 2023 旅行报告——Bojan Novković
    • 什么是开发播客?FreeBSD 项目的演变
    • EuroBSDCon 2023 旅行报告——Mark Johnston
    • TalkDev:探索开源的未来
    • 为什么选择 FreeBSD?Metify 展示迁移到 FreeBSD 如何对两个新产品进行增强
    • FreeBSD 基金会宣布通过 SSDF 认证
    • 2023 年全球开放大会报告
    • FreeBSD v14:恪守类 Unix 操作系统传统,提升安全性与性能
  • 2023 年 9 月
    • 认识 2023 年参与 FreeBSD 谷歌编程之夏项目的学生:Soobin Rho
    • 认识 2023 年参与 FreeBSD 谷歌编程之夏项目的学生:Aymeric Wibo
    • FreeBSD 企业工作组首次会议总结
    • OpenBSD 路由器指南
    • 认识 2023 年 FreeBSD 谷歌编程之夏的学生:Sudhanshu Mohan Kashyap
    • 认识 2023 年夏季滑铁卢大学合作学生:Naman Sood
    • FreeBSD 基金会 2023 年暑期实习生:Jake Freeland
    • 第二次企业工作组会议回顾
    • OpenBSD 与 FreeBSD:有何不同,哪个更好?
  • 2023 年 9 月以前
    • 参与宣传:2023 年 5 月的 FreeBSD 开发者峰会和 BSDCan
    • 恭喜 FreeBSD 迎来 30 周年!为什么开源项目 FreeBSD 能够持续存在
    • 庆祝 FreeBSD 成立 30 周年:许可证
    • 聚集在开放领域工作的公益和慈善基金会
    • 在 Linode 上安装 pfSense
    • 在 FreeBSD 的 jail 中安装 NextCloud
    • 将 FreeBSD 上的 Ansible 主机和客户机都安装在 Jail 中
    • FreeBSD 简介 | BSD.pw 研讨会
    • 如何在 FreeBSD 上安装 Python
    • 升级到 FreeBSD 13.2 的十大理由
    • 采访 FreeBSD 基金会执行董事 Deb Goodkin
    • 我们使用开源的 FreeBSD 作为企业操作系统的 5 个原因
    • 关于 BSD 与 Linux 的典型讨论
    • OpenBSD 太棒了
    • systemd 背后的真正动机
    • systemd 在任何地方都不安全
    • 为什么你应该将所有东西从 Linux 迁移到 BSD
    • 如何在 FreeBSD 上设置一个简单且实际工作的 WireGuard 服务器
    • 选择 FreeBSD 而非 GNU/Linux 的技术性原因
    • GPL 之殇
    • FreeBSD 与研究社区
    • 在 OpenBSD 和 FreeBSD 之间选择的区别
    • FreeBSD 是一个令人惊叹的操作系统
    • 留意日期:2023 年 11 月的自由软件组织厂商峰会
    • JENNY 日常使用的系统:FreeBSD 13.2
    • FreeBSD Ports 中的 OPTIONS 功能介绍——使用 OPTIONS_SET/OPTIONS_UNSET/NO_DIALOG 进行操作和实践
    • FreeBSD Bhyve 上的 PCI 直通
    • 2023 年 FreebBSD 谷歌编程之夏学生介绍:Raghav Sharma
    • 2023 年 7 月软件开发项目进展报道
    • 用于研究的 FreeBSD:CHERI/Morello
    • 在 FreeBSD Jail 中使用 OpenRC 启动并运行 Devuan GNU+Linux 系统
由 GitBook 提供支持
LogoLogo

FreeBSD 中文社区(CFC) 2025

在本页
在GitHub上编辑
导出为 PDF
  1. 2023 年 9 月以前

systemd 在任何地方都不安全

上一页systemd 背后的真正动机下一页为什么你应该将所有东西从 Linux 迁移到 BSD

最后更新于1年前

  • 原地址:

  • 译者:ykla & ChatGPT

  • 最后发布日期:2021-02-10

自从 2010 年 systemd 发布以来,该项目一直在不断地增加新功能和扩展性能。代码行数超过了 130 万行,其中 Lennart Poettering 刚刚将其个人 systemd-homed git 树合并到 systemd 中,添加了另外 2 万行代码,而持续存在的开放问题数约为 1400 个,新问题和漏洞不断涌现。因此,systemd 应被视为实验性的,不适合在任何地方运行。

即使像 OpenBSD 开发者这样细致且注重安全的编码者,代码审查非常严格,。

考虑到 systemd 的开发方式,代码甚至没有经过(据我所知)单一的代码审查,而且开发者不断增加新功能而不是专注于解决、安全和稳定性,这个项目不适合出现在任何 GNU/Linux 发行版中,除非是“测试阶段”。

即使是 Debian GNU/Linux,在其“testing”和“unstable”版本分支中进行了大量的测试,也不适用于生产系统,因为 systemd 仍然有许多可追溯至 2015 年的漏洞。

添加一个与现有代码库非常匹配的简单功能是一回事,但合并具有成千上万行代码的项目则完全不同。这等同于添加了一个全新的应用程序。

在 Lennart Poettering 于 2013 年 1 月的博客文章(最大的误会)中,他试图反驳将 systemd 称为“单体化”(monolith)的说法,而许多人都认为它就是。Lennart 表示:

一个包含 69 个单独二进制文件的软件包很难称为单体化。然而,与以前的解决方案不同的是,我们将更多组件捆绑在一个单一的压缩包中,并在单个存储库中维护它们,具有统一的发布周期。

然而,问题是,许多这些所谓的单独二进制文件在没有其他 systemd 组件的情况下将无法工作。只需举一个例子,如果查看 的 man 页面,明确说明如果将 UseDNS 选项定义为 true,则将使用从 DHCP 服务器接收到的 DNS 服务器,并优先于任何静态配置的 DNS 服务器。这对应于 resolv.conf 中的 nameserver 选项。 但它忽略了这个设置(和多个其他设置)在没有 systemd-resolved 的情况下是无效的。systemd 的其他组件也同样紧密集成。

某些类型的应用程序非常难以按照 Unix 哲学设计和构建,例如现代网络浏览器、电子游戏等,但 systemd 显然并不属于这类应用程序。它在许多方面违反了 Unix 哲学,以至于很难跟上,这不是因为开发者需要这样做,而是因为他们想这样做,他们根本不在乎。虽然他们可以不在乎,并继续将更多功能添加到 systemd 中,但是现在一些大型 GNU/Linux 发行版是时候开始认真关注了。

我们所熟悉的 GNU/Linux 正慢慢变成一场灾难,一个充满安全问题的操作系统末日,等待爆发。这只是因为每个人都希望有一个新的 init 系统,但最终却得到了除了新内核以外的一切。现在唯一缺少的就是 systemd-linux。

https://unixsheikh.com/articles/systemd-isnt-safe-to-run-anywhere.html
错误和安全问题仍然时有发生
漏洞
《The Biggest Myths》
systemd-networkd