Niestety tego typu błedy są najczęstsze podczas pracy w trybie interaktywnym i często ich powodem jest roztargnienie, ale do rzeczy:
cd /var/
rm -rf tmp/ *
Na pierwszy rzut oka kod wyglada poprawnie, ale pojawiła się spacja pomiedzy tmp/
i *
co
zmienia diametralnie działanie polecenia rm, najpierw usunie ono cały katalog tmp
a następnie
całą zawartość katalogu /var/
(a tam są trzymane informacje o zainstalowanych paczkach i wiele innych rzeczy dosyć potrzebnych).
Są identyczne jak w Bash Quote Attack, jedynie z tą róznicą, że każde wywołanie
polecenie rm można by zaliasować przez jakiś skrypt awka/basha/seda
sprawdzający
poprawność naszego zapisu i jeśli ono posiada wiele parametrów i którykolwiek z nich jest *
bądź / zapytać
czy jesteśmy pewni tego co chcemy zrobić - niektóre powłoki (zsh
) taką funkcjonalność mają wbudowaną.