Není to nesmysl obecně, jen je nesmysl používat ho "the Ubuntu way", tj. podle hesla "když to vyžaduje práva roota, napište před příkaz sudo". Já ho třeba používám k tomu, abych mohl konkrétní příkazy (včetně parametrů), které potřebují práva roota, spouštět pod svým normálním uživatelem, pro ty příkazy pak obvykle mám i nějaký alias nebo wrapper script. Na tohle se to naopak hodí velmi dobře.
V konfiguraci PAM nastavíte pro příslušný auth řádek povolující použití su na roota atribut trust (typicky se to nastavuje pro skupinu wheel) – tím umožníte oprávněným uživatelům spouštět su bez zadávání hesla roota.
Aby ten uživatel nemohl spustit nic jiného, než ten konkrétní příkaz, nedokáže zajistit ani sudo. To jen spustí ten příkaz pod rootem, a dál už nedovede ovlivnit, jaký kód nebo procesy ten příkaz bude spouštět.
Ne, jestli ten příkaz umožní něco dalšího není věcí admina, je to věcí autora toho příkazu a všech závislostí.
Podle mne ten účel, kterého se snaží docílit sudo, je v praxi nesplnitelný. Právě to mi vadí, že to slibuje něco, co nedokáže žádným způsobem zaručit. A spousta lidí tomu věří.
Neměl bych problém s tím, pokud by si takhle někdo používal sudo soukromě. Ve smyslu vím, že to není bezpečné, ale tomuhle nemehlu bych potřeboval umožnit tohle spustit pod rootem, na záměrné škodění nemá schopnosti, i kdyby něco napáchal, nestane se nic hrozného, a nevyplatí se řešit to pořádně. Všichni víme, že je potřeba dělat kompromisy, že provozujeme řešení, která nejsou perfektně zabezpečená – ale děláme to s vědomím toho rizika a se znalostí bezpečnostních dopadů.
Jenže takhle se sudo od dob Ubuntu nepoužívá. Začalo se používat jako nejdůležitější bezpečnostní nástroj, který odděluje běžného uživatele od rootovských práv. Jenže ten nástroj tohle neumí a nemůže umět. O čemž bohužel evidentně většina uživatelů neví.
Mimochodem, v tomhle vlákně byla řeč o pracovní stanici. Tedy já jako jediný uživatel používám počítač, ke kterému zároveň mám administrátorské oprávnění. A jediné, co chci, je nepracovat zbytečně pořád pod rootem, abych omylem nenapáchal nějakou škodu. Tam je mi sudo opravdu k ničemu, protože před mojí blbostí mne neochrání. Je to přesně ten případ, kdy se sudo používá jako náhrada su – nejsou vyjmenované příkazy, které mohu jako root spouštět, naopak, záměrně je povolené úplně všechno.