GNU/Linux >> Znalost Linux >  >> Linux

Proč root nepotřebuje heslo ke spuštění sudo, i když NOPASSWD:ALL není zapsáno v /etc/sudoers

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).


Linux
  1. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  2. Proč potřebuje uživatel root oprávnění sudo?

  3. Linux – Sudo nemůže otevřít /etc/sudoers?

  1. Ssh – Potřebujete Tty ke spuštění sudo, pokud mohu sudo bez hesla?

  2. Proč nelze najít Read /run/user/1000/gvfs, i když běží jako root?

  3. Pochopení adresáře /etc/skel v Linuxu

  1. „sudo:/etc/sudoers je světově zapisovatelný“ – Jak opravit oprávnění souboru sudoers

  2. Zakázat zpětnou vazbu při zadávání hesla při výzvě sudo

  3. Jaké je spojení mezi adresáři /etc/init.d a /etc/rcX.d v Linuxu?