Portál AbcLinuxu, 5. května 2025 05:00
Lennart Poettering na Mastodonu představil utilitu run0. Jedná se o alternativu k příkazu sudo založenou na systemd. Bude součástí systemd verze 256.
Tiskni
Sdílej:
It has a complicating configuration language, loadable plugins (ldap!)...Mám to chápat tak, že chce místo původní modulární architektury udělat monolit? Volitelný plugin nemáš počítat do povinné komplexity a do "attack surface". Ten plugin si neinstaluj/nepoužívej, když ho nepotřebuješ a případné chyby v něm se tě netýkají. To je jedna z výhod modularity. Naopak když někdo nechce mít uživatele v lokálním textovém souboru jako před 50+ lety a chce je mít třeba v tom centrálním LDAPu, tak dává smysl aby i konfiguraci sudo řídil přes ten LDAP a pak je dobře, že ta architektura je modulární a že si tam takový plugin můžeš připojit a že plugin pro LDAP existuje. Kvalita kódu pluginu je věc druhá - ta se dá zlepšovat nezávisle na tom. Když jsme u té kvality, tak nechápu, proč to Lennart píše v C, když to má být tedy něco tak inovativního a bezpečného. Nikdo po něm přece nechce, aby si uříznul ptáka a napumpoval se ženskými hormony a psal to v Rustu oblečený do kostýmu poníka nebo japonské školačky (dost ošklivé s fialovo-zelenými vlasy). Ale proč proboha C? Mohl to psát v D, C++, Go, Nimu nebo většinu třeba i ve Scheme nebo Javě (obojí jde přeložit do nativní binárky). Ale ne, on poplive všechno kolem, všechno je podle něj na hovno a musí se to přepsat, ale on to přepíše zase v tom Céčku! Proletěl jsem zbytek jeho "argumentů" a ukazuje to zbytečnost jeho nového počinu. Místo toho stačilo říct: odinstalujte si sudo (a případně další suid bit programy), oprávněným uživatelům přidejte jejich SSH klíče do /root/.ssh/authorized_keys a máte hotovo. Jednoduché, bezpečné a nemusí se kvůli tomu nic programovat. Natož v céčku.
sudo
slouží k něčemu jinému (resp. tohle je jen malá podmnožina). Pomocí sudo
můžeš dosáhnout toho, že uživatel A má právo pouštět pod uživatelem B příkaz P.
Ten uživatel B nemusí být root. A uživatel A nemusí být fyzická osoba. Můžeš mít dva systémové účty pro nějaké služby a chtít, aby jeden mohl s právy druhého pouštět vybraný příkaz.
Když to někdo používá jen k tomu, aby pustil libovolný příkaz nebo rovnou shell pod rootem, tak ani sudo
nepotřebuje a udělal by líp, kdyby se přihlásil rovnou na roota přes ssh
nebo na textové konsoli nebo se na něj přepnul přes su
.
A pokud jsou v programu nějaké chyby, např. v parsování konfigurace nebo vyhodnocování pravidel, tak se mají opravit a ne začít hned psát nový program.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.