chattr: La màxima protecció a arxius / carpetes en Linux mitjançant atributs o flags

Bé ... no tot poden ser jocs, no és la meva intenció només publicar posts parlant de jocs 😉 ... jo no sóc un usuari que jugui molt, a casa això l'hi deixo a la meva xicota (que ara està enganxada als Sims 4), És per això que em motiva més publicar articles més tècnics, sobre comados o tips a terminal.

A Linux tenim uns permisos que certament resolen gairebé qualsevol problema, podem determinar quin usuari o grup d'usuaris tenen accés a determinat recurs, carpeta, servei. No obstant això, hi ha ocasions en que els permisos no són exactament el que necessitem, ja que hi ha situacions en què volem que ni tan sols root pugui fer determinada acció.

Suposem que tenim una carpeta o arxiu que no volem que s'esborri, anem ... ni pel nostre usuari, ni per un altre en l'ordinador (ehm ... la meva xicota per exemple jaja), O bé, que ni tan sols root pugui esborrar-ho, ¿com aconseguir això? ... els permisos no ens serviran doncs root és the-fucking-màster, ell podrà esborrar qualsevol cosa, llavors, aquí és on entren els atributs d'arxius o carpetes.

chattr + i

Suposem que volem protegir un arxiu perquè no pugui ser esborrat, el mateix és: passwords.txt , La seva ubicació és (per exemple) $ HOME / passwords.txt

Per establir-li un atribut de només lectura (o sigui, no modificació i no esborrat) seria:

sudo chattr +i $HOME/passwords.txt

Com veuen necessitem permisos d'administració per al paràmetre + I, que dit sigui de passada, + i significa que el fitxer serà immutable, ja saben, no es podrà eliminar, no podrà canviar en cap sentit.

Després, poden intentar eliminar l'arxiu, inclusivament usant suo ... veuran que no podran, aquí els deixo un screenshot:

chattr_1

Per llistar o veure els atributs que tingui un arxiu podem utilitzar la comanda lsattr, Per exemple:

lsattr passwords.txt

Després, per treure-li la protecció en comptes d'usar +i fem servir -i i llest 😉

chattr + a

Com acabem de veure el paràmetre + I ens permet protegir-ho per complet, però han hagut ocasions en què necessito que determinat arxiu pugui ser modificat, PERÒ sense alterar el seu contingut original. Per exemple, tinc un llistat i desitjo que es puguin afegir noves línies i informació mitjançant tiro, però sense alterar les anteriors, per a això:

sudo chattr +a $HOME/passwords.txt

Un cop fet això, intentem escriure alguna cosa nova a l'arxiu:

echo "Prueba" > $HOME/passwords.txt

Notaran que els apareix un error ... però, si afegim contingut en lloc de reemplaçar (usant >> i no>):

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

Aquí sí que podem.

Fi!

Sé que algú coneixedor quan vegi que ni tan sols amb root pot eliminar / modificar un arxiu pot veure els atributs ... però, eh! ... quantes vegades que notes alguna cosa així t'atures a pensar en atributs? ... ho dic perquè generalment pensem simplement que el HDD o el sector de el mateix està corrupte, o que el sistema simplement va embogir 😀

Bé no hi ha molt més que afegir ... crec que faré servir això de l' +i per aturar la descàrrega d'alguna cosa que la meva xicota estigui baixant ... ¬_¬ ... ehm ... no que ella volia descarregar Sims 4 gratis? ... crec que li ensenyaré una cosa o dues sobre llicències i que no han de ser violades 😀

Salutacions!


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   procés va dir

    Interessant per saber d'aquesta eina, el que si em causa una mica de curiositat, en certa forma no seria alguna cosa similar als permisos de bit? És a dir setuid, setgid i sticky bit? Si no és així, per què? oo

    PD: vaig perdre el compte de les vegades que dius meva xicota en aquest article jajaja

    1.    Hugo va dir

      Doncs aquest també és un bit, el bit de la immutabilidad, i està dissenyat perquè ningú pugui modificar o eliminar el fitxer tal com el qual s'apliqui (ni tan sols el root). Jo el faig servir per exemple per protegir d'escriptura arxius de configuració, la qual cosa és especialment útil en distribucions com Zentyal (és una forma molt més ràpida de personalitzar la configuració que editant o creant plantilles).

      Combinant aquesta comanda amb chown, chmod i setfacl, poden aconseguir-se coses interessants.

      FreeBSD té alguna cosa semblant, que també ús per a mi pfSense.

    2.    juan va dir

      Jajaja és una fase coneguda.
      http://www.xkcd.
      com / 684 /

  2.   niandekuera va dir

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

  3.   Tesla va dir

    Molt bona ordre. No la coneixia.

    Pot ser molt útil si compartim un PC o si tenim cert document en què estem treballant que no volem esborrar per res de món.

    Gràcies i una salutació!

  4.   Luis va dir

    Molt interessant.

    Es podria realitzar una cosa semblant perquè ROOT no pugui accedir a determinada carpeta de la nostra home?

    1.    Tesla va dir

      Segons l'article, amb aquesta comanda ni tan sols root pot accedir a l'arxiu. Suposo que el mateix s'aplica a carpetes, ja que en Linux les carpetes també són arxius, no?

  5.   Joaquin va dir

    Quina casualitat. Aquest cap de setmana vaig intentar esborrar una partició arrel i no vaig poder esborrar un fitxer de directori / boot. Buscant em vaig trobar amb els atributs, que sincerament no els coneixia i ara entenc que el tema dels permisos i atributs en un arxiu és molt gran. Aquest és un d'aquells comandaments imprescindibles que hem de conèixer, al costat de «chmod» i «chown».

  6.   aguatemala va dir

    Això és d'extrema utilitat, sobretot si, per exemple, volem canviar els DNS per defecte del nostre respectiu ISP, i és quan hem de modificar el fitxer /etc/resolv.conf i per poder fer això hem de fer chattr -i / etc / resolv.conf, modificar les adreces IP que apareixen per les del nostre DNS gratis i / o lliure (com els de OpenDNS 208.67.222.222 i 208.67.220.220 o bé els de Google 8.8.8.8 i 8.8.4.4) i després d'haver modificat el arxiu fer de nou chattr + i /etc/resolv.conf perquè l'arxiu no se'ns modifiqui a l'arrencar la màquina.
    Gran article ... i per cert, el teu núvia és com la meva dona, igual de addicta als jocs, jajajajaja

  7.   rawBasic va dir

    Clarament 'the-fucking-master' és la teva núvia en aquesta situació. xD