Na to, k čemu mělo původně sloužit, ty poruchy nevadí. Bohužel použití sudo narostlo do olbřímých rozměrů, obchází se tím málo flexibilní unixový přístup k oprávněním. Za mne je jedna velká bezpečnostní díra celé sudo, a moc na tom nemění fakt, jestli zrovna známe obecný postup, jak zneužít sudo „kdekoli“, nebo je potřeba hledat chybu v konkrétní konfiguraci sudo.
Tento typ chyb, které se najdou po dlouhé době, je velmi nepříjemný pro správce. Často se provozují opravdu staré instalace, kde už není možné provádět lehce bezpečnostní aktualizace. Jednak protože už není udržovaný žádný repozitář s aktualizacemi pro zastaralé systéme, druhak protože bývá takový systém často v hodně přizpůsobeném stavu a nejde jen vyměnit balík za balík kvůli rozpadu závislostí.
@Miroslav Šilhavý
Tento typ chyb, které se najdou po dlouhé době, je velmi nepříjemný pro správce.
kdybys porad neteoretizoval a nezevseobecnoval, ale psal k tematu, tak tvuj odstavec je zbytecnej...
dana chyba se projevuje u minima distribuci (uvedene jsou jen 2) a to tech ktere maji nastavenu normalne nevychozi volbu, u vsech z nich lze tu volbu jednoduse odebrat bez nutnosti aktualizovat balicek... konkretne u zminovaneho LinuxMint staci smazat pridavanej soubor ciste pro "hvezdicky":
sudo rm /etc/sudoers.d/0pwfeedback
A to vše kvůli nadbytečné kůl fíčuře, která ukazuje pěkné a milé hvězdičky. Každá věc navíc snižuje bezpečnost, takže každý se zapnutým hvězdičkováním si zaslouží "Já ti to říkal!
"
Mimochodem, vyhvězdičkované pole pro heslo v androidím Secure Space Encryptoru pro starého drojda 4.něco zobrazí heslo i bez zvolení "zobrazit heslo", pokud se překlopí displej na ležato a textové pole se automaticky zvětší na celý displej.
if (c == sudo_term_kill) {
while (cp > buf) {
if (write(fd, "\b \b", 3) == -1) break;
--cp;
}
left = bufsiz;
continue;
} else if (c == sudo_term_erase) {
if (cp > buf) {
if (write(fd, "\b \b", 3) == -1) break;
--cp;
left++;
}
continue;
Nikdo to nidky nezkoušel? Protože ten první break dělá něco jiného, než ten druhý break.
Já bych v C++ použil výjimku.