sudo 实际上是如何工作的?

Luc*_*ips 3 linux unix root sudo

sudo 怎么可能实际运行?如果它只是一个普通的程序,难道你不能在不需要用户身份验证的情况下做同样的事情,让任何人都可以访问计算机自动 root 访问权限吗?它如何在没有 root 密码的情况下以 root 身份执行操作?

Hen*_*nes 9

TL;DR:Sudo 有一个特殊的标志


Sudo 设置了 set uid 位,您可以在此处看到:

ls -l `which sudo`
-rw s r-xr-x 2 root root 127668 2013-02-27 21:41 /usr/bin/sudo

为文件设置suid位意味着程序使用有效 uid或 suid-ed 用户运行。在这种情况下,用户 root 的 uid 为 0,授予它提升的权限。