chattr: Protecție maximă a fișierelor / folderelor în Linux prin atribute sau semnalizatoare

Ei bine ... nu totul poate fi jocuri, nu este intenția mea să public doar postări vorbind despre jocuri 😉 ... Nu sunt un utilizator care joacă mult, acasă îi las asta iubitei mele (care acum este legat Sims 4), de aceea mă motivează mai mult să public articole mai tehnice, despre comenzi sau sfaturi în terminal.

În Linux avem câteva permisiuni care cu siguranță rezolvă aproape orice problemă, putem determina ce utilizator sau grup de utilizatori au acces la o anumită resursă, folder, serviciu. Cu toate acestea, există momente în care permisiunile nu sunt exact ceea ce avem nevoie, deoarece există situații în care vrem chiar ca root să nu poată face o anumită acțiune.

Să presupunem că avem un folder sau un fișier pe care nu dorim să îl ștergem, să mergem ... nici de către utilizatorul nostru, nici de altul de pe computer (ehm ... prietena mea de exemplu haha), sau chiar root nu îl poate șterge, cum se realizează acest lucru? ... permisiunile nu ne vor ajuta, deoarece root este stăpânul, el poate șterge orice, așa că acolo intră atributele fișierului sau folderului.

chattr + i

Să presupunem că vrem să protejăm un fișier astfel încât să nu poată fi șters, este: parolele.txt , locația dvs. este (de exemplu) $ HOME / passwords.txt

Pentru a seta un atribut de numai citire (adică fără modificări și fără ștergere) ar fi:

sudo chattr +i $HOME/passwords.txt

După cum puteți vedea, avem nevoie de permisiuni de administrare pentru parametrul + i, care, apropo, + i înseamnă că fișierul va fi imuabil, știți, nu poate fi șters, nu se poate schimba în nici un sens.

Apoi, pot încerca să șteargă fișierul, chiar și folosind sudo ... vor vedea că nu vor putea, iată o captură de ecran:

chattr_1

Pentru a enumera sau a vedea atributele pe care le are un fișier putem folosi comanda lsattr, de exemplu:

lsattr passwords.txt

Apoi, pentru a elimina protecția în loc să o utilizați +i folosim -i și voila 😉

chattr + a

După cum tocmai am văzut, parametrul + i ne permite să îl protejăm complet, dar au existat momente când am nevoie de un anumit fișier pentru a fi modificat, DAR fără a-i modifica conținutul original. De exemplu, am o listă și vreau să fie adăugate noi linii și informații folosind ecou, ​​dar fără a le modifica pe cele anterioare, pentru aceasta:

sudo chattr +a $HOME/passwords.txt

Odată făcut acest lucru, să încercăm să scriem ceva nou în fișier:

echo "Prueba" > $HOME/passwords.txt

Veți observa că primiți o eroare ... totuși, dacă adăugăm conținut în loc să îl înlocuim (folosind >> și nu>):

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

Aici putem.

Sfarsit!

Știu că cineva care are cunoștință când vede că chiar și cu root poate șterge / modifica un fișier ar putea verifica atributele acestuia ... dar, hei! … De câte ori observați ceva de genul acesta vă opriți să vă gândiți la atribute? ... Spun asta pentru că, în general, pur și simplu credem că HDD-ul sau sectorul său este corupt sau că sistemul pur și simplu a luat-o razna 😀

Ei bine, nu mai sunt multe de adăugat ... Cred că voi folosi asta +i pentru a opri descărcarea a ceva pe care iubita mea îl descarcă ... ¬_¬ ... ehm ... nu voia descărcați sims 4 gratuit? ... Cred că vă voi învăța un lucru sau două despre licențe și că nu ar trebui încălcate 😀

Salutări!


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   înceta el a spus

    Interesant să știu despre acest instrument, ce se întâmplă dacă îmi provoacă o anumită curiozitate, într-un fel nu ar fi ceva similar cu permisiunile de biți? Adică setuid, setgid și bit lipicios? Dacă nu, de ce? Oo

    PS: Am pierdut numărul de ori în care îmi spui prietena mea în acest articol hahaha

    1.    Hugo el a spus

      Acesta este, de asemenea, un pic, bitul de imuabilitate și este conceput astfel încât nimeni să nu poată modifica sau șterge fișierul căruia i se aplică (nici măcar root). Îl folosesc, de exemplu, pentru a proteja scrierea fișierelor de configurare, ceea ce este deosebit de util în distribuții precum Zentyal (este o modalitate mult mai rapidă de a personaliza configurația decât prin editarea sau crearea de șabloane).

      Combinând această comandă cu chown, chmod și setfacl, se pot realiza lucruri interesante.

      FreeBSD are ceva similar, pe care îl folosesc și pentru pfSense.

    2.    Ioan el a spus

      Hahaha este o fază cunoscută.
      http://www.xkcd.
      com / 684 /

  2.   niandekuera el a spus

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

  3.   Tesla el a spus

    Comandă foarte bună. Nu am cunoscut-o.

    Poate fi foarte util dacă partajăm un computer sau dacă avem un anumit document la care lucrăm și pe care nu vrem să îl ștergem pentru lume.

    Multumesc si toate cele bune!

  4.   Luis el a spus

    Foarte interesant.

    S-ar putea face ceva similar pentru ca ROOT să nu poată accesa un anumit folder de pe pagina noastră de pornire?

    1.    Tesla el a spus

      Conform articolului, cu această comandă nici măcar root nu poate accesa fișierul. Cred că același lucru se aplică folderelor, deoarece în Linux folderele sunt și fișiere, nu?

  5.   Joaquin el a spus

    Ce coincidenta. În acest weekend am încercat să șterg o partiție rădăcină și nu am putut șterge un fișier din directorul / boot. Căutând am găsit atributele, sincer nu le știam și acum înțeleg că problema permisiunilor și atributelor dintr-un fișier este foarte mare. Aceasta este una dintre acele comenzi esențiale pe care trebuie să le cunoaștem, împreună cu „chmod” și „chown”.

  6.   aguatemala el a spus

    Acest lucru este extrem de util, mai ales dacă, de exemplu, dorim să schimbăm DNS-ul implicit al ISP-ului nostru respectiv și atunci trebuie să modificăm fișierul /etc/resolv.conf și pentru a putea face acest lucru trebuie să chattr -i / etc / resolv.conf, modificați adresele IP care apar pentru cele ale DNS-urilor noastre gratuite și / sau gratuite (cum ar fi cele din OpenDNS 208.67.222.222 și 208.67.220.220 sau cele ale Google 8.8.8.8 și 8.8.4.4) și după ce a modificat fișierul make chattr + i /etc/resolv.conf din nou, astfel încât fișierul să nu fie modificat la pornirea mașinii.
    Articol grozav ... și apropo, prietena ta este ca soția mea, la fel de dependentă de jocuri, hahahahaha

  7.   rawBasic el a spus

    În mod clar, „dracul-stăpân” este iubita ta în această situație. xD