chattr: Maksimalna zaštita datoteka / mapa u Linuxu atributima ili zastavicama

Pa... ne mogu sve biti igrice, nije mi namjera da objavljujem samo postove koji govore o igricama 😉... Nisam korisnik koji se puno igra, doma to ostavljam svojoj djevojci (koji je sada navučen na Sims 4), zato sam više motiviran da objavim više tehničkih članaka, o naredbama ili savjetima u terminalu.

U Linuxu imamo neke dozvole koji sigurno rješavaju gotovo svaki problem, možemo odrediti koji korisnik ili grupa korisnika ima pristup određenom resursu, folderu, servisu. Međutim, postoje trenuci kada dozvole nisu baš ono što nam treba, jer postoje situacije u kojima ne želimo ni root da bismo mogli izvršiti određenu radnju.

Pretpostavimo da imamo fasciklu ili datoteku koju ne želimo da izbrišemo, recimo... ni naš korisnik, ni drugi korisnik na računaru (ehm… moja djevojka na primjer haha), ili, da ga čak ni root ne može izbrisati, kako to postići? …dozvole nam neće pomoći jer je root jebeni gospodar, on može obrisati bilo šta, tako da tu dolaze atributi datoteke ili mape.

chattr +i

Pretpostavimo da želimo zaštititi datoteku tako da se ne može izbrisati, to je: passwords.txt ,njegova lokacija je (na primjer) $HOME/passwords.txt

Za postavljanje atributa samo za čitanje (tj. bez modifikacije i brisanja) bilo bi:

sudo chattr +i $HOME/passwords.txt

Kao što vidite, potrebne su nam administrativne dozvole za parametar +i, što uzgred, +i znači da će fajl biti nepromjenjiv, znate, ne može se izbrisati, ne može se promijeniti ni u kom smislu.

Zatim, možete pokušati da obrišete fajl, čak i koristeći sudo... videćete da nećete moći, evo snimka ekrana:

chattr_1

Za popis ili pregled atributa koje datoteka ima možemo koristiti naredbu lsattr, na primjer:

lsattr passwords.txt

Zatim, za uklanjanje zaštite umjesto korištenja +i koristimo -i i voila 😉

chattr +a

Kao što smo upravo vidjeli, +i parametar nam omogućava da ga u potpunosti zaštitimo, ali bilo je trenutaka kada mi je potrebno da se izmijeni određena datoteka, ALI bez mijenjanja njenog originalnog sadržaja. Na primjer, imam listu i želim da se nove linije i informacije dodaju pomoću echo-a, ali bez mijenjanja prethodnih, da uradim ovo:

sudo chattr +a $HOME/passwords.txt

Kada se ovo uradi, pokušajmo da upišemo nešto novo u fajl:

echo "Prueba" > $HOME/passwords.txt

Primijetit ćete da se pojavljuje greška... međutim, ako dodamo sadržaj umjesto zamjene (koristeći >> a ne>):

echo "Prueba" >> $HOME/passwords.txt

Evo možemo.

Kraj!

Znam da neko ko je upućen kada vidi da čak ni sa root-om ne može obrisati/izmijeniti fajl može pregledati njegove atribute... ali, hej! …koliko puta kada primijetite tako nešto zastanete da razmislite o atributima? ... Ovo govorim jer generalno mislimo da je HDD ili njegov sektor korumpiran, ili da je sistem jednostavno poludio 😀

Pa, nemam šta više da se doda... Mislim da ću ovo iskoristiti +i da zaustavim preuzimanje nečega što preuzima moja djevojka... ¬_¬ ... hm... zar nije htela preuzmi sims 4 besplatno? …Mislim da ću ga naučiti ponešto o dozvolama i da ih ne treba kršiti 😀

Pozdrav!


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   prestani rekao je

    Zanimljivo je znati o ovom alatu, što me izaziva radoznalost, na neki način ne bi li to bilo nešto slično bitskim dozvolama? To je setuid, setgid i sticky bit? Ako ne, zašto? Oo

    PS: Izgubio sam račun koliko puta u ovom članku kažeš moja djevojka hahaha

    1.    hugo rekao je

      Pa, ovo je također bit, bit nepromjenjivosti, i dizajniran je tako da niko ne može modificirati ili obrisati datoteku na koju se odnosi (čak ni root). Koristim ga, na primjer, za zaštitu od pisanja konfiguracijskih datoteka, što je posebno korisno u distribucijama kao što je Zentyal (to je mnogo brži način prilagođavanja postavki od uređivanja ili kreiranja šablona).

      Kombinacijom ove naredbe sa chown, chmod i setfacl, mogu se postići zanimljive stvari.

      FreeBSD ima nešto slično, što također koristim za svoj pfSense.

    2.    Juan rekao je

      Hahaha to je poznata faza.
      http://www.xkcd.
      com/684/

  2.   niandekuera rekao je

    [Dr. Bolivar Trask]$ sudo chattr +i *.human

  3.   Tesla rekao je

    Vrlo dobra narudžba. Nisam je poznavao.

    Može biti vrlo korisno ako dijelimo PC ili ako imamo određeni dokument na kojem radimo i koji ne želimo da izbrišemo za cijeli svijet.

    Hvala i sve najbolje!

  4.   luis rekao je

    Vrlo zanimljivo.

    Može li se nešto slično učiniti tako da ROOT ne može pristupiti određenom folderu na našem domu?

    1.    Tesla rekao je

      Prema članku, ovom komandom čak ni root ne može pristupiti datoteci. Pretpostavljam da se isto odnosi i na foldere, jer u Linuxu folderi su također fajlovi, zar ne?

  5.   Joaquin rekao je

    Kakva slučajnost. Ovog vikenda sam pokušao da izbrišem root particiju i nisam uspeo da izbrišem fajl iz /boot direktorijuma. Pretražujući sam pronašao atribute, za koje iskreno nisam znao i sada shvatam da je pitanje dozvola i atributa u datoteci veoma veliko. Ovo je jedna od onih bitnih naredbi koje moramo znati, zajedno sa "chmod" i "chown".

  6.   aguatemala rekao je

    Ovo je izuzetno korisno, posebno ako, na primjer, želimo promijeniti zadani DNS našeg odgovarajućeg ISP-a, i to je kada moramo modificirati /etc/resolv.conf datoteku i da bismo to mogli učiniti moramo uraditi chattr - i /etc/ resolv.conf, modificirajte IP-ove koji se pojavljuju za one našeg besplatnog i/ili otvorenog DNS-a (kao što su oni OpenDNS-a 208.67.222.222 i 208.67.220.220 ili onih od Google-a 8.8.8.8 i 8.8.4.4) i poslije nakon što ste modificirali datoteku, ponovo napravite chattr +i /etc/resolv.conf tako da se datoteka ne mijenja kada se mašina pokrene.
    Odličan članak... a usput, tvoja cura je kao moja žena, isto toliko zavisna od igrica, hahahahaha

  7.   rawBasic rekao je

    Jasno je da je 'jebeni gospodar' tvoja djevojka u ovoj situaciji. xd