sudo
umožňuje uživatelům spouštět příkazy jako UID 0 (nebo jiným uživatelům) na základě toho, jak je nakonfigurován. Pro spuštění příkazu jako UID 0 není nutné žádat root o heslo, protože již je UID 0.
Kromě toho může root také su
komukoli bude chtít, takže při provádění sudo -u user
není třeba žádat o heslo jako UID 0.
Poznámka:Věřím, že existuje nastavení PAM, které bude dokonce vyžadovat, aby root poskytl cílovému uživateli heslo při použití su
.
I když je to zajímavá nekonzistence. Bylo by zbytečné zastavovat root, protože root má schopnosti CAP_SETUID
a CAP_SETGID
, takže nepotřebuje sudo. Může si dělat, co chce.
Pokud sudo
kontroluje root a ne tyto schopnosti, pak se může vyskytnout latentní chyba:root bez schopností by mohl eskalovat (nevím, nedíval jsem se na kód ani netestoval).