sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。
历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初)
在 sudo 出现之前,Unix 系统管理员和需要特权操作的用户主要依赖 su ( Substitute User ) 命令。
su的初衷与功能:su命令允许一个用户临时切换到另一个用户的身份,并获得该用户的权限。如果不指定用户名,默认切换到root用户。- 例如,输入
su -或su - root,然后输入root用户的密码,用户就能获得一个拥有root权限的 shell 。
su带来的问题:root密码共享风险:为了让多个用户能够执行管理任务,系统管理员不得不将root密码共享给他们。这带来了巨大的安全隐患:- 密码泄露风险高:知道密码的人越多,密码越容易泄露。
- 责任难以追溯:如果用
root账户执行了恶意或错误操作,很难确定是哪个具体的人
