Internet Info, s.r.o. Lupa Root Měšec Podnikatel DigiZone Slunečnice Vitalianew Bomba Navrcholu Weblogy Jagg Woko Dobrý web Computer.cz SK: MojeLinky
Root.czBlogyPetr Macek

Další ničení, na řadě windows

macan, 25. 08. 2010, 08:21 v kategorii Nezařazené,

Minule jsem zkoušel odmazat systémy Ubuntu a FreeBSD. Někdo v komentářích se ptá na windows, tak ve virtuálu pouštím Win XP sp3. Jak mazat? rm -rf asi ne :-) Pohořel jsem s příkazem del,  protože ten se chová divně právě u složek, kam nemá práva zápisu nebo je to skrytý. I když použiju parametry pro skryté a systémové, stejně mám pocit, že většinu systémových složek přeskočí. Průzkumník na tom není lépe, skončí svou práci po prvním adresáři nebo souboru, na který nemůže. Total commander je jistota ;-)

Nejprve mažu jako běžný uživatel a to systém přežije bez problémů, pouze svému uživateli odmažeme dokumenty, věci na ploše, ...

Při mazání jako správce už je to zajímavější, je nutné potvrdit několik mazání a pak systém varuje, že je v nestabilním stavu a chce instalační CD. Pokud ho nepoužijete, po rebootu už systém nenaběhne, chybí ntldr, boot.ini apod.

Tak jsem udělal druhý pokus a instalační CD jsem mu dal. Systému nemůžu upřít snahu, ale ani tak si potřebné soubory neobnovil. Po restartu též nepoužitelné.

Pokud se jedná o běžné nastavení systému, kdy jsou systémové soubory skryté a uživatel nneí moc znalý a nepoužívá nějaký commander, je trošku těžší si systém odmazat. Ale co nezvládne uživatel, mohou zvládnout třeba viry.

Příkazy, které vám spolehlivě zničí systém nebo počítač

macan, 23. 08. 2010, 09:28 v kategorii Nezařazené,

Nedávno zde na rootu vyšel článek Příkazy, které vám solehlivě zničí systém nebo počítač. Stále se zde diskutuje třeba o oblíbeném rm -rf /, ale byly zmíněny i jiné způsoby.  V dnešní době virtualizace není velký problém si nějaký systém snadno a rychle nainstalovat a následně se jej zkusit zničit. I manuál říká It is an error to attempt to remove the files /, . or ...

Mám jen chvilku a tak testuji FreeBSD 8.1 64bit a Ubuntu 10.04 32bit. V obou případech se rm chová trochu jinak než popisuje článek. Chtěl jsem zkusit i více, takže jsem testy nejprve prováděl jako běžný uživatel, bez vyšších práv (dobré si něco takového otestovat, pokud máte na serverech některé uživatele s funkčním shellem):
$ rm -rf /
rm: "/" may not be removed

To ale není velký problém, spustíme:
$ rm -rf /*
Nebo jak někdo zmiňoval v diskuzi -no-preserve-root. A toto už se tváří, že maže, samozřejmě dostávám spoustu hlášk permission denied. Toto jsem chtěl vyzkoušet ale spíše kvůli tomu, jestli je systém odolný proti bežnému uživateli. Na FreeBSD nedojde k žádné škodě a systém i po restartu funguje bez problémů. Stejně tak i Linux.

Přistoupíme k druhému testu, už když jsem to četl, tak se mi to nezdálo. Jednalo se o expanzi shellu u rm -rf cesta/.*
Nejprve test na FreeBSD. Protože běžný uživatel nemohl celé BSD ani smazat, zkusíme to rovnou jako root:
# cd /usr/ports/net
ls -d zs*

zsync

# rm -rf zsync/.*
rm: "." and ".." may not be removed

A opět se nic nestalo. FreeBSD tedy ok. Teď stejný pokus na linuxu.

# cd /usr
rm -rf games/.*
cannot remove directory '.'

Finální test byl rm -rf /* spuštěný uživatelem root. Tady už to samozřejmě špatně dopadnout musí. U BSD dostávám hlášky jako /tmp device busy, /bin not empty, operation not permitted. Na disku zbylo několik adresářů a souborů (/tmp, .cshrc, .profile, /lib, /sbin), ale systém je mrtvý (dle očekávání). U Linuxu to dopadá vemi podobně. Při rebootu skončíme u obou na zavaděči.

Jen jsem chtěl ukázat, že příkaz rm se chová jinak než má velké množství správců zažité. Takže pokud někomu chcete poradit příkaz # python -c 'import os; os.system("".join([chr(ord(i)-1) for i in "sn!.sg!+"]))', budete jej muset nejprve poupravit.