Po drátě 5: Řešení úlohy č. 53
Klasická balíkářská úloha
, jak by řekla Anička. Při hledání příčiny
nahlášeného bugu je opravdu často využívaný nástroj strace. Ukazuje totiž, co
program opravdu chce dělat (co si od žádá od kernelu) a ne jen, co si myslí
uživatel, že program dělá. Proto je čtení výstupů z strace důležitá dovednost
správce balíčku v Linuxu.
Tady v úloze je situace zjednodušená tím, že nás zajímá jen čtení a zápis do souborů. Jediný zádrhel je v tom, že se nejedná o jeden proces, ale je tam ještě proces druhý, který v průběhu vzniká a má trochu jinak očíslované file descriptory. Po pečlivém pročtení s papírem a tužkou není problém najít heslo kumpan.
Zajímavosti
Opravdu se objevil hráč, který si výstup z strace přepsal do C a program spustil.
Zdrojový kód programu generujícího uvedený výstup z strace.
Nefunguje obecně, protože se spoléhá na konkrétní podobu chybového hlášení od
shellu command not found
.
Autorem úlohy je Milan, ale nápad vzešel na schůzce orgů, pravděpodobně od Aničky nebo od Martina.