资讯动态

sudo维护者公开求助:这条天天在用的Linux命令,正面临生存危机

发布时间:2026/9/14 15:45:24 来源:尧图企业网站定制
你昨天一定敲过sudo或者亲眼看着同事在你旁边敲sudo。为了装一个软件包执行某个系统命令一两秒钟的事所有人都习以为常。但今年这条命令背后的维护者公开说了句狠话如果还没有稳定的资金支持这个项目可能真的撑不下去了。没错就是那个你每天都在用、却被大多数人当成“系统自带背景板”的sudo。热搜词里一大堆人还在搜“sudo apt install”“sudo apt-get update”“sudo dpkg被中断怎么办”说明大家的使用频率极高依赖极深。可几乎没人想过维护这个命令的那个人这30年是怎么过来的。今天不聊那些“又能跑就行”的使用技巧我想认真说说sudo这个项目本身以及它这次摆到台面上的生存危机。1. 几乎无处不在的sudo正处在最尴尬的时刻先感受一下sudo到底有多普及。不管你用的是Ubuntu、Debian、CentOS、Fedora、RHEL还是各种基于Linux的路由器、交换机、智能电视、车机系统甚至不少Unix变种只要你想以管理员身份执行一条命令脑子里蹦出来的大概率是“sudo”。这个简简单单的命令已经成了操作系统的“默认管理员接口”。正因为它太常用、太稳定用户反而意识不到它是一个需要持续维护的活项目。在大多数人心里“sudo”和“ls”“cd”一样是Linux自带的、理所当然的东西。但这个“理所当然”背后只有一个核心维护者在长期扛着他叫Todd C. Miller已经在这条命令上投入了大约30年。这次公开求助Miller不是在卖惨。他在sudo邮件列表里说的内容非常务实如果资金状况没有改观他就不得不减少投入甚至可能让项目进入维护停滞状态。对普通桌面用户来说“停滞”听起来没什么大不了还能用嘛。但在Linux生态里上游一旦停摆下游所有发行版、所有云厂商、所有嵌了sudo的设备都会立刻面临安全更新不可持续的问题。这不是“不能用”的问题是“出了问题没人兜底”的问题。很讽刺的是热搜词里凡是带sudo的提问大多都发生在“用户非常需要它”的瞬间。有人要装ROS机器人开发环境有人要开SSH服务有人挂载Windows分区有人修dpkg中断。在这些场景里sudo都是入口是钥匙。但大家用完就走没人关心钥匙匠是不是快饿死了。这说的不仅仅是用户也包括那些靠这些开源软件挣钱的大公司。2. 30年维护路sudo究竟是不可替代的技术基石还是“可替换的螺丝钉”有人说就算sudo没了不是还有doas还有Rust重写的sudo-rs还有一堆替代品吗说实话技术替代方案确实存在但“可以替换”和“替换成本为零”是两码事。2.1 从实验室小工具到全世界的默认管理员接口sudo的历史可以追溯到1980年代最初由Bob Coggeshall和Cliff Spencer在纽约州立大学布法罗分校开发目的是让系统管理员能把部分root权限委派给指定用户又不用把root密码交出去。后来Todd C. Miller在1990年代中期接手维护一直到现在。这30年他做的事情远比“维护一个命令”复杂得多。他得持续跟进安全漏洞得适配各种新的系统调用、各种新的认证机制得管理sudoers语法的兼容性得处理来自全世界的bug报告和功能请求。sudo项目表面上是“一条命令”实际上它包含了解析器、认证模块、日志系统、网络策略插件、会话记录功能还有一套完整的sudoers规则引擎。它是一套复杂的基础设施只不过平时被藏在一个简单的命令名后面。如果你在RedHat系发行版上装过sudo的源码包或者看过sudo的ChangeLog你会明白这个项目有多庞大。每次安全通告发布从发现问题到确认影响范围再到发布补丁这套流程已经重复了无数次。而这套流程长期以来基本靠Miller一个人运转。2.2 一个“安全门卫”到底承担了多少事要理解sudo为什么重要得先理解它在系统安全里的角色。Linux系统里root拥有最高权限普通用户权限受限。如果你每次要用管理员权限就直接切到root那系统基本没什么安全边界可言所有操作也无法追责。sudo做的事是在普通用户和root之间加了一道可控的闸门。它在底层依赖setuid机制用root身份启动然后校验请求者是否在sudoers规则里被授权再决定要不要执行用户给它的那条命令。这中间还牵扯到认证方式默认走系统密码也可接LDAP、SSO、证书、硬件令牌权限规则解析sudoers文件里那些复杂的Host_Alias、User_Alias、Cmnd_Alias审计日志每一次执行都会记录时间和执行的命令出问题好追溯会话管理支持sudo -i、sudo -s这类交互式登录后续扩展比如sudo_logsrvd可以集中式收集日志sudo_plugin可以对接企业安全平台。所以别把sudo当成一个“提权工具”就完事了它更像是一套企业的访问控制系统。很多等保合规、内控审计场景里用户做了什么操作、谁用了sudo、执行了什么命令全靠它留痕。这背后的实现和底层系统的安全机制紧密耦合不是随便写个setuid小程序就能替代的。2.3 为什么说“替代方案”没那么简单确实有不少替代方案OpenBSD的doas、内存安全语言Rust重写的sudo-rs等等。doas配置更简单、攻击面更小在OpenBSD社区口碑很好。sudo-rs也在逐步成熟目标是提供更安全的实现。但问题在于把“替代”落到实处牵扯到全生态的兼容性、各发行版的默认软件包切换、企业安全策略的迁移、无数历史sudoers脚本的适配。这比在笔记本上装个新玩具要复杂得多。就拿sudoers文件来说多少公司的运维脚本、自动化工具、合规文档是围绕sudo语法写的换成doas的配置文件虽然简单但策略表达能力和sudo不是一一对应的。生产环境里的替换不是一句“用Rust重写一下”就能解决的。所以结论很明确sudo在短期和中期内都是无法被快速替代的基石项目。3. 拆解那封救助信表面是缺钱背后是缺时间、缺口碑、缺人这次求助之所以引起圈子震动是因为Todd C. Miller不是那种喜欢到处哭诉的人。在Linux维护者圈子里他是出了名的埋头干活型。他能公开说“项目的未来悬挂在天平上”说明情况确实到了很严峻的程度。3.1 求助信里究竟透露了哪些信息综合邮件列表和后续采访看Miller主要说了几件事sudo没有稳定的收入来源长期依赖个人捐赠和有限的赞助金额远不够覆盖项目开发和维护成本项目需要持续投入大量时间包括代码维护、安全响应、用户支持、文档更新单靠一个人的精力已经越来越难以支撑一个被全球数十亿次使用的安全关键项目如果情况不改变他可能必须减少维护频率甚至放弃继续维护。这些话翻译一下就是他不是不想继续干而是长期“用爱发电”烧不动了。一个安全关键项目的维护者需要随时准备处理紧急漏洞。每一次CVE通告出来都意味着可能要连续几天熬夜分析代码、写补丁、和发行版团队沟通。这种状态不能没有经济支撑。3.2 大型开源项目的钱到底花在哪了很多人有个错觉认为开源项目的维护成本不就是一台服务器加一个域名吗实际上对一个像sudo这样的项目支出分布在很多地方支出项说明开发环境与测试基础设施需要覆盖多个系统版本、不同架构的测试机器用于回归验证CI与构建服务器每次提交都跑构建和测试持续集成需要稳定的计算资源代码托管、域名、邮件列表基础但必要的运营开销安全响应时间成本0day出来后必须第一时间响应这期间的精力占用是最大的隐性成本会议、差旅、行业交流与发行版维护者、企业安全团队线上和线下沟通法律与合规咨询许可证问题、企业合作条款需要专业人士把关这些钱看着单项不多加起来相当可观。而且维护者本人也是人得有生活保障。开源维护者不是“靠爱发电的机器人”他们的时间和经验都有真实的市场价值。Miller在邮件里说得很直白他需要的不是“零星的感谢”而是可持续的资金支持。3.3 为什么说“明明全世界都在用却拿不到钱”才是真正的悲剧sudo的悲剧在于它活跃地存在于整个互联网的基础层但绝大多数使用者甚至意识不到它的存在。你做一次apt update输出里飘过sudo字样你执行一条运维命令前面加上sudo。但没有人会去想这个命令是谁写的谁在维护他有没有钱养家。这就是开源世界那个著名的“看不见的用户”问题用户数量巨大但这些用户默认它是免费的、默认它是永远存在的、默认“有人在维护”。真正愿意掏钱的人非常少愿意持续掏钱的公司更是凤毛麟角。sudo可以算是这个问题的教科书级案例。4. 开源资金这个“老大难”sudo不只是个例而是一整套系统问题的缩影把视野拉大一点sudo不是第一个公开求助的也大概率不会是最后一个。开源软件几十年来一直处在“需求极大、价值极高、资金却严重稀缺”的怪异状态。4.1 一长串同样喊着难以为继的名字OpenSSH在2020年前后就经历过“捐款骤减”的困境curl的维护者Daniel Stenberg这些年一直在反复强调“curl被无数公司和设备使用但没有任何一个公司真的在出钱维护它”OpenSSL当年爆出Heartbleed漏洞后大家才意识到这个加密核心库基本上也是靠少数几个人兼职维护。诚然有些项目后来拿到了企业赞助或基金会支持但多数知名开源项目的收入依然是“杯水车薪”。这些年行业里也做过各种尝试比如OpenSSF开源安全基金会、各种bug bounty悬赏、GitHub Sponsors、Patreon众筹、公司定向赞助等形式都在试图给开源维护者送钱。但效果参差不齐。大企业通常有复杂的采购流程“给开源项目捐款”这件事在很多公司里是找不到预算科目的。而个人开发者又不可能靠每月几美元的小额捐赠支撑。4.2 为什么大家愿意“用”却不愿意“付钱”这背后有很深的结构性原因不单纯是“大家抠门”。第一开源软件从诞生起就被注入了“免费”基因。很多用户默认“免费”就是它的商业模式从来没想过要买单。这跟买商业软件的心理完全不一样。第二“用了没感觉”是最大的问题。sudo在系统里运行得好好的用户根本不会去查看“这是谁做的”“怎么赞助”。只有真正出现安全危机时大家才突然想起来要关注维护者。但那时候对不起钱解决不了所有问题人的精力才是瓶颈。第三企业内部“为开源付钱”的流程太麻烦。你想给sudo项目捐个几万美元财务部门会问对方是哪个实体能开票吗这算采购还是捐赠走什么合同很多开发者望而却步最后不了了之。第四基金会机制也有短板。有些基金会只是收了钱却没把资源有效分配到维护者手里。钱被层层管理到最后一线的核心维护者还是拿不到足够的资金这个问题在某些大型基金会里已经引起过争议。5. 如果sudo真的“无以为继”影响会从哪条裂缝开始撕裂很多人觉得“项目不再活跃维护”不是什么大事代码还在还能跑。但放在sudo这种安全关键型项目上“停止维护”和“事故多发”基本是同一件事的两种说法。5.1 从上游到下游的连锁反应sudo是无数Linux发行版的基础依赖包。如果上游没有安全补丁Debian、Ubuntu、CentOS、Fedora、SUSE这些发行版就得自己“背锅”。要么抽出人力和精力去维护一个上游分支要么就眼睁睁看着系统暴露在已知漏洞里。你可能会问发行版自己不是有安全团队吗确实有但发行版安全团队的人力通常也是很有限的让他们去跟一个古老的、复杂的、还在持续发现问题的代码库搏斗压力可想而知。而且发行版下还有无数云端平台、容器镜像、嵌入式设备这些都是下游的下游。5.2 安全漏洞修复停滞带来的真实风险说到这儿得提一个让整个Linux圈都紧张过的CVECVE-2021-3156江湖绰号Baron Samedit。这个漏洞出在sudo自己的堆缓冲区溢出逻辑里。当时只要用户能触碰到命令行甚至不需要知道当前用户的密码就有机会直接获得root权限。漏洞曝光后各大发行版连夜发补丁云厂商纷纷提醒用户紧急更新。这类漏洞以后还有没有可能再出现几乎可以肯定还有。sudo这套代码经历了30年的功能堆叠复杂度和历史包袱都不小。如果未来漏洞被发现而维护者已经没钱没时间处理那么这台“被全世界信任的门卫”就会变成一个千疮百孔的盲区。合规、等保、企业内部审计全部都会受到冲击。5.3 替代方案是“救生艇”但不是“泰坦尼克”确实现在有sudo-rs在推进Rust重写版内存安全特性理论上能避免一大类漏洞。OpenDoas在Linux上也可以作为轻量替代。但现实世界的迁移路径很长新方案要经过各发行版打包、企业测试、兼容性验证大量老系统根本不会升级继续运行着老版本的sudo。也就是说即便替代方案是“救生艇”在你还没换到救生艇上的时候脚下的“大船”可不能先沉。项目维护停摆每一个人都跑不掉。6. 别光说“可惜”企业和个人现在还能做点实际的事说了这么多问题的关键还是回到行动上。开源社区的共识正在慢慢改变靠道德感召救不了开源要靠机制和真金白银。6.1 个人用户花两分钟就能做的事如果你不是企业只是想表达支持几个最简单的路径去sudo的官网sudo.ws页面上有详细的捐赠方式可以走PayPal或信用卡通过GitHub Sponsors搜索相关项目或维护者本人用每月几美元的小额赞助加入支持者名单愿意花更多时间的话可以做些非代码贡献比如帮助完善文档、整理issue、翻译内容这些都能减轻维护者的负担。小额捐赠看起来不多但维护者需要的是“有一批稳定的支持者”而不是某个时刻的一次性爆发。持续的小额捐赠才能让他对未来做出相对长期的规划。6.2 企业该有的觉悟对于公司来说这一步更重要。如果你的公司里有任何一台服务器、任何一个路由器、任何一项服务在用sudo那你其实已经是在免费使用一项关键基础设施了。企业级支持最合理的方式是可以直接联系Todd C. Miller的sudo LLC购买商业支持服务、定制开发或安全咨询。不要觉得“开源就不能花钱买服务”恰恰相反商业支持正是开源可持续运转的重要途径之一。此外公司还可以把“资助开源关键依赖”列进年度技术预算。这件事一点都不抽象就像给办公楼买消防设施一样属于基础运维成本。可以效仿一些大厂发起的开源赞助计划定出金额和受益项目名单每年评估、每年更新。只用不养在开源生态里终究是不可持续的。6.3 需要大家共同推动的认知转变我个人的体会是每一次“维护者公开喊话”都指向同一个需求把开源基础设施当成基础设施而不是“个人爱好”。公路、桥梁是需要纳税维护的开源世界里那些几十亿人依赖的代码也应当获得类似待遇。基金会可以做中介企业可以做赞助个人可以做捐赠或志愿服务。只有把这些机制摆上台面下一次“某某项目找不到维护者”的新闻才有可能越来越少。sudo不是第一个站在悬崖边的开源项目也不可能是最后一个。但它是我们绝大多数人每天都会碰到的项目之一。如果你还希望Linux生态继续稳定运转对这个30年如一日维护sudo命令的人说声感谢再顺手贡献一点实际支持才是最真诚的表达。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价