Systemd v256推出run0:一种更安全的sudo替代方案
sudo命令被广泛认为是我们日常Linux操作中的一个基本工具,以至于我们几乎认为它的存在是理所当然的。但是,如果我告诉你,它的日子很可能不多了,新版本的systemd可能标志着它日落的开始呢?不,我不是在胡言乱语。这就是它的全部内容。
在他的最新帖子中,systemd背后的主谋Lennart Poetring分享了一个深思熟虑的批评,并有力地取代了长期以来的sudo命令。
他认为,sudo的核心问题在于其SUID性质,它允许进程以部分由非特权代码控制的提升权限执行,需要细致的手动清理——这是潜在的安全漏洞。
“我个人认为,sudo最大的问题是它是一个SUID二进制文件——巨大的攻击面、插件、网络访问等等——这只会让关键问题变得更糟……”
有鉴于此,他对更安全系统的愿景包括完全消除SUID二进制文件,推动特权代码独立于非特权干扰运行的体系结构。
“所以,在我的理想世界里,我们会有一个完全没有SUID的操作系统。让我们把SUID的概念扔到UNIX的坏主意的垃圾堆上。特权代码的执行上下文一半在非特权代码的控制之下,需要仔细、手动的清理,这在2024年不再是安全工程应该做的了。”
输入run0,systemd的最新创新,计划在v256中发布
。它不仅是一个新工具,而且是一个重新设计的系统运行,可以通过符号链接访问,它模仿sudo,而实际上不是SUID二进制文件。
它的操作方式是请求服务管理器在目标用户的UID下执行命令,创建新的PTY(伪终端),并在原始TTY和该PTY之间传输数据。
此设置确保该命令在一个独立的环境中执行,该环境是从PID 1新派生的,而不会从客户端继承任何有问题的上下文。
此外,run0通过使用polkit进行授权、简化用户交互并进一步保护执行过程,避免了传统的配置复杂性。
该工具还增加了一点用户友好的风格:当使用提升的权限操作时,它会将终端背景修改为红色,作为一个提升状态的视觉提示——这是一个简单而有效的提醒,提醒您负责任地管理权限。
总之,有一件事是肯定的——这将在Linux社区中引发进一步的争论。另一个可以肯定的是,systemd v256现在已经完成了88%,在最终稳定发布之前几乎没有什么剩余。之后会发生什么还有待观察。
欲了解详细信息,请点击这里。