Opasne Linux naredbe
Moderator/ica: Moderatori/ce
- jurastublic
- Postovi: 1907
- Pridružen/a: 16 tra 2011, 08:34
- Spol: M
- OS: Mint 10 LXDE itd...
- Lokacija: i grupa Film
Re: Opasne Linux naredbe
Meni se ta naredba (rm -rf .*) ponaša kako treba, bez iznenađenja.
. i .. nisu pobrisani.
Sustav je Mint 17.3, bash 4.3.11(1)-release (i686-pc-linux-gnu)
. i .. nisu pobrisani.
Sustav je Mint 17.3, bash 4.3.11(1)-release (i686-pc-linux-gnu)
"Hodor bre foobar"
Re: Opasne Linux naredbe
Malo sam kopao što se događa...
Referenciranje na skrivene datoteke kao .* je pogrešno jer uključuje . i .. direktorije.
Rm naredba i dalje prima listu stvari za brisanje koja uključuje navedene direktorije.
Razlog zašto naredba nije završila sa dodatnom štetom je što GNU rm naredba (prema POSIX standardu ) provjerava ovaj slučaj i odbija obrisati . i .. direktorije.
Izvadak iz info rm
Tako da je bolje razumjeti što .* radi nego se pouzdati u nekakvu zaštitu.
Referenciranje na skrivene datoteke kao .* je pogrešno jer uključuje . i .. direktorije.
Rm naredba i dalje prima listu stvari za brisanje koja uključuje navedene direktorije.
Razlog zašto naredba nije završila sa dodatnom štetom je što GNU rm naredba (prema POSIX standardu ) provjerava ovaj slučaj i odbija obrisati . i .. direktorije.
Izvadak iz info rm
E sad, GNU rm nije jedina implementacija rm naredbe (jedno je /bin/rm, dok shell može imati svoj rm), niti je rm jedina naredba koja prihvaća listu datoteka.Any attempt to remove a file whose last file name component is `.'
or `..' is rejected without any prompting.
Tako da je bolje razumjeti što .* radi nego se pouzdati u nekakvu zaštitu.
Re: Opasne Linux naredbe
Kad smo već kod opasnih naredbi... koliko se zečeva ovdje skriva?
Ovo je modificirani fork bomb!
Kod: Označi sve
zec(){ zec|zec& };zecRe: Opasne Linux naredbe
Referirajući se na raniju raspravu, htio bih samo dodati da sam našao odgovor na svoje pitanje.
Dakle, prije spomenuta 'opasna' naredba i njoj srodne naredbe su složene naredbe. Sastavljene su od dijelova koji sami po sebi nisu opasni, ali kad se nađu zajedno može nastati pakleni stroj. Slično izradi bombe od potrepština koje ima svako kućanstvo, o čemu govore mnogi filmovi. Eto, taj bitan element nisam mogao razumjeti, čisto teorijski govoreći.
Nije odlučio Linus, ili netko drugi, da u Linux jednostavno ubace naredbu koja može sve uništiti. Nastala je slučajno, kao što bezazlene riječi mogu povrijediti osobu, htjeli mi to ili ne.
Osobno sam više puta koristio naredbu za pretraživanje fajlova koja bi počinjala s grep i završavala s .*. Također, rm sama po sebi predstavlja jednostavnu, standardnu i korisnu naredbu, također više puta primjenjivanu. Sve je sad na svome mjestu, što se mene tiče, a posebno zahvaljujem @rustyju i @shrikeu na važnom doprinosu da razjasne stvar.
Dakle, prije spomenuta 'opasna' naredba i njoj srodne naredbe su složene naredbe. Sastavljene su od dijelova koji sami po sebi nisu opasni, ali kad se nađu zajedno može nastati pakleni stroj. Slično izradi bombe od potrepština koje ima svako kućanstvo, o čemu govore mnogi filmovi. Eto, taj bitan element nisam mogao razumjeti, čisto teorijski govoreći.
Nije odlučio Linus, ili netko drugi, da u Linux jednostavno ubace naredbu koja može sve uništiti. Nastala je slučajno, kao što bezazlene riječi mogu povrijediti osobu, htjeli mi to ili ne.
Osobno sam više puta koristio naredbu za pretraživanje fajlova koja bi počinjala s grep i završavala s .*. Također, rm sama po sebi predstavlja jednostavnu, standardnu i korisnu naredbu, također više puta primjenjivanu. Sve je sad na svome mjestu, što se mene tiče, a posebno zahvaljujem @rustyju i @shrikeu na važnom doprinosu da razjasne stvar.
- jurastublic
- Postovi: 1907
- Pridružen/a: 16 tra 2011, 08:34
- Spol: M
- OS: Mint 10 LXDE itd...
- Lokacija: i grupa Film
Re: Opasne Linux naredbe
Da, totalno se slažem. Ja nikad ne pokrećem takve naredbe prije nego dobro testiram izlaz, recimo sa echo, i pomalo namještam dok nisam zadovoljan. Tek onda može ona prava u akciju. I normalno, backup glavu čuva.rusty je napisao/la:E sad, GNU rm nije jedina implementacija rm naredbe (jedno je /bin/rm, dok shell može imati svoj rm), niti je rm jedina naredba koja prihvaća listu datoteka.
Tako da je bolje razumjeti što .* radi nego se pouzdati u nekakvu zaštitu.
@rudar: Tvoj problem je što si u svom upoznavanju s računalima očito preskočio najosnovnije stvari, a jedna od njih je da naredbe mogu imati OPCIJE. Ili kako ti kažeš, "složene su od više dijelova". U stvari, velika većina naredbi ima opcije. Mislio sam da je takvo nešto očigledno samo po sebi, ali izgleda da nije.
"Hodor bre foobar"
Re: Opasne Linux naredbe
Ovo je zlobna primjedba i ne stoji. Rad s računalom dolazi u raznim oblicima. Uspješan je onoliko koliko je korisnik samostalan i koliko uspješno rješava zadatke koje ima. Meni to ide dobro, nekoć kroz MS Win, a zadnjih nekoliko godina kroz GNU/Linux. To je jedino očigledno samo po sebi. Ako ti nisi razumio jednostavno pitanje koje sam ranije postavio, problem je tvoj. Kao i uvredljiva optužba za trolanje.jurastublic je napisao/la:@rudar: Tvoj problem je što si u svom upoznavanju s računalima očito preskočio najosnovnije stvari, a jedna od njih je da naredbe mogu imati OPCIJE. Ili kako ti kažeš, "složene su od više dijelova". U stvari, velika većina naredbi ima opcije. Mislio sam da je takvo nešto očigledno samo po sebi, ali izgleda da nije.
Re: Opasne Linux naredbe
Drago mi je ako sam pomogao.
Svi imamo rupa u znanju, i nemaju svi vremena za beskonačno istraživanje dubina Linux dokumentacije.
Jedini način je da si međusobno pomažemo, zato podržavam ovakve rasprave.
Da budem dosljedan, objasnit ću kako radi "fork bomb":
Problem je što funkcija poziva samu sebe (rekurzivno) dva puta bez ikakvog dodatnog uvjeta – što izaziva eksponencijalno povećavanje broja pokrenutih funkcija.
Dodatni problem je što se funkcija poziva kao drugi proces u pozadini (&) - što dodatno troši resurse jer je broj paralelno pokrenutih procesa ograničen.
Rezultat je spora smrt sustava pod "stampedom zečeva" i jedini efikasni izlaz je restart računala.
Na netu je popularan drugi (kriptičniji) oblik "fork bomba" oblika : (){ : |:&};: radi se o istoj stvari samo je naziv funkcije :
Da ne bi bilo nesporazuma, bash funkcije su korisna stvar kod pisanja kompleksnih skripti.
Pokretanje naredbi u pozadini (&) je također zgodna stvar kod pokretanja naredbe koja dugo traje (npr unzip velike arhive), a da pri tome možete dalje koristiti shell.
Svi imamo rupa u znanju, i nemaju svi vremena za beskonačno istraživanje dubina Linux dokumentacije.
Jedini način je da si međusobno pomažemo, zato podržavam ovakve rasprave.
Da budem dosljedan, objasnit ću kako radi "fork bomb":
Kod: Označi sve
zec(){ <- kreira bash funkciju naziva "zec"
zec | zec& <- tijelo funkcije koje se izvršava prilikom poziva funkcije
}; <- kraj definicije funkcije
zec <- prvi poziv funkcije koji pokreće lavinuProblem je što funkcija poziva samu sebe (rekurzivno) dva puta bez ikakvog dodatnog uvjeta – što izaziva eksponencijalno povećavanje broja pokrenutih funkcija.
Dodatni problem je što se funkcija poziva kao drugi proces u pozadini (&) - što dodatno troši resurse jer je broj paralelno pokrenutih procesa ograničen.
Rezultat je spora smrt sustava pod "stampedom zečeva" i jedini efikasni izlaz je restart računala.
Na netu je popularan drugi (kriptičniji) oblik "fork bomba" oblika : (){ : |:&};: radi se o istoj stvari samo je naziv funkcije :
Da ne bi bilo nesporazuma, bash funkcije su korisna stvar kod pisanja kompleksnih skripti.
Pokretanje naredbi u pozadini (&) je također zgodna stvar kod pokretanja naredbe koja dugo traje (npr unzip velike arhive), a da pri tome možete dalje koristiti shell.
Zadnja izmjena: rusty, dana/u 08 ožu 2016, 15:43, ukupno mijenjano 1 put.
- Abzeenth
- Site Admin
- Postovi: 6502
- Pridružen/a: 06 lip 2009, 23:16
- OS: Kubuntu & Fedora
- Lokacija: Online
Re: Opasne Linux naredbe
Objasnio ti je u više navrata i spomenuo opciju -r i što ona radi u kombinaciji s rm. Nije samo ta "opasna" naredba i njoj srodne (??) "složena" - valjda 90%, ako ne i više, naredbi ima nekakve opcije, ako ništa, barem --help ili -v za verbose. Najobičniji ls ima gomilu opcija. Iskreno, i meni je nejasno kako ti je ovakvo nešto "novost", budući da si već dugo na forumu i pretpostavljam, dugo koristiš Linux. Vjerojatno se zato učinilo da trolaš.rudar je napisao/la:To je jedino očigledno samo po sebi. Ako ti nisi razumio jednostavno pitanje koje sam ranije postavio, problem je tvoj. Kao i uvredljiva optužba za trolanje.
</glasnogovornik>
- vision
- Postovi: 1799
- Pridružen/a: 15 sij 2014, 09:37
- Spol: ♂
- OS: Leap 15.1 / Hera 5.1
- Lokacija: Zaljev svetaca
Re: Opasne Linux naredbe
Njegovo pitanje se odnosilo zašto su te naredbe korisne da se uopšte pišu "javno", ili barem na ovome forumu koji najviše služi da se pomogne novim korisnicima – bar ja tako shvaćam.
Takve i slične naredbe bi trebale da imaju ovako posebno mjesto, vidljive svima sa objašnjenjem i opaskom radi edukacije, testiranja i sličnog. Tko to želi zloupotrijebiti neka mu – to nije njegova krivica već vlasnika računala što nije isti zaštitio od fizičkog pristupa ili čega drugog.
Takve i slične naredbe bi trebale da imaju ovako posebno mjesto, vidljive svima sa objašnjenjem i opaskom radi edukacije, testiranja i sličnog. Tko to želi zloupotrijebiti neka mu – to nije njegova krivica već vlasnika računala što nije isti zaštitio od fizičkog pristupa ili čega drugog.
Abzeenth je napisao/la:</glasnogovornik>