chattr: de maximale bescherming van bestanden / mappen in Linux door attributen of vlaggen

Nou ... niet alles kan games zijn, het is niet mijn bedoeling om alleen posts te publiceren die over games praten I ... ik ben geen gebruiker die veel speelt, thuis laat ik dat over aan mijn vriendin (die nu is verslaafd Sims 4), daarom motiveert het me meer om meer technische artikelen te publiceren, over commando's of tips in terminal.

In Linux hebben we er een paar toestemmingen die vrijwel elk probleem zeker oplossen, kunnen we bepalen welke gebruiker of groep gebruikers toegang heeft tot een bepaalde bron, map of dienst. Er zijn echter momenten waarop machtigingen niet precies zijn wat we nodig hebben, omdat er situaties zijn waarin we willen dat zelfs root een bepaalde actie niet kan uitvoeren.

Stel dat we een map of bestand hebben dat we niet willen verwijderen, laten we gaan ... noch door onze gebruiker, noch door een ander op de computer (ehm ... mijn vriendin bijvoorbeeld haha), of zelfs root kan het niet verwijderen, hoe kan dit worden bereikt? ... de permissies zullen ons niet helpen, want root is de fucking master, hij zal alles kunnen verwijderen, dus daar komen de bestands- of mapattributen binnen.

chattr + i

Stel dat we een bestand willen beschermen zodat het niet kan worden verwijderd, het is: wachtwoorden.txt , uw locatie is (bijvoorbeeld) $ HOME / passwords.txt

Om een ​​alleen-lezen attribuut in te stellen (dat wil zeggen, geen wijziging en geen verwijdering) zou het zijn:

sudo chattr +i $HOME/passwords.txt

Zoals je kunt zien, hebben we beheerdersrechten nodig voor de + i-parameter, wat trouwens + i betekent dat het bestand onveranderlijk zal zijn, weet je, het kan niet worden verwijderd, het kan op geen enkele manier veranderen.

Vervolgens kunt u proberen het bestand te verwijderen, zelfs met sudo ... u zult zien dat dit niet lukt, hier is een screenshot:

chattr_1

Om de attributen van een bestand weer te geven of te zien, kunnen we het commando gebruiken lsattr, bijvoorbeeld:

lsattr passwords.txt

Vervolgens de bescherming verwijderen in plaats van te gebruiken +i we gebruiken -i en voila 😉

chattr + een

Zoals we zojuist hebben gezien, stelt de + i-parameter ons in staat om het volledig te beschermen, maar er zijn tijden geweest dat ik een bepaald bestand moest wijzigen, MAAR zonder de oorspronkelijke inhoud te wijzigen. Ik heb bijvoorbeeld een lijst en ik wil dat nieuwe regels en informatie worden toegevoegd met behulp van echo, maar zonder de vorige te wijzigen, hiervoor:

sudo chattr +a $HOME/passwords.txt

Nu dit klaar is, proberen we iets nieuws naar het bestand te schrijven:

echo "Prueba" > $HOME/passwords.txt

U zult merken dat er een foutmelding verschijnt ... als we inhoud toevoegen in plaats van vervangen (met >> en niet>):

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

Hier kunnen we.

Het einde!

Ik weet dat iemand die goed geïnformeerd is als ze zien dat zelfs met root een bestand kan verwijderen / wijzigen, de attributen kan controleren ... maar hey! … Hoe vaak dat u zoiets opmerkt, denkt u niet na over attributen? ... ik zeg dit omdat we over het algemeen gewoon denken dat de harde schijf of de sector ervan corrupt is, of dat het systeem gewoon gek werd 😀

Nou, er is niet veel meer om toe te voegen ... Ik denk dat ik dit zal gebruiken +i om het downloaden te stoppen van iets dat mijn vriendin aan het downloaden is ... ... ehm ... wilde ze niet sims downloaden 4 vrij? ... ik denk dat ik je het een en ander zal leren over licenties en dat ze niet mogen worden geschonden 😀

Groeten!


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   ophouden zei

    Interessant om te weten over deze tool, wat als het me wat nieuwsgierigheid wekt, in zekere zin zou het niet zoiets zijn als bitmachtigingen? Dat wil zeggen setuid, setgid en plakkerig bit? Zo nee, waarom wel? Oo

    PS: Ik ben de tel kwijtgeraakt van de keren dat je in dit artikel mijn vriendin zegt hahaha

    1.    Hugo zei

      Dit is namelijk ook een bit, het onveranderlijkheidsbit, en het is zo ontworpen dat niemand het bestand waarop het van toepassing is kan wijzigen of verwijderen (zelfs geen root). Ik gebruik het bijvoorbeeld om configuratiebestanden tegen schrijven te beveiligen, wat vooral handig is in distributies zoals Zentyal (het is een veel snellere manier om de configuratie aan te passen dan door sjablonen te bewerken of te maken).

      Door dit commando te combineren met chown, chmod en setfacl, kunnen interessante dingen worden bereikt.

      FreeBSD heeft iets soortgelijks, dat ik ook gebruik voor mijn pfSense.

    2.    John zei

      Hahaha het is een bekende fase.
      http://www.xkcd.
      com / 684 /

  2.   niandekuera zei

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

  3.   Tesla zei

    Heel goed in orde. Ik kende haar niet.

    Het kan erg handig zijn als we een pc delen of als we een bepaald document hebben waar we aan werken dat we niet voor de wereld willen verwijderen.

    Bedankt en vriendelijke groeten!

  4.   Luis zei

    Zeer interessant.

    Kan iets soortgelijks worden gedaan zodat ROOT geen toegang heeft tot een bepaalde map op onze startpagina?

    1.    Tesla zei

      Volgens het artikel heeft zelfs de root met dit commando geen toegang tot het bestand. Ik denk dat hetzelfde geldt voor mappen, want in Linux zijn mappen ook bestanden, toch?

  5.   Joaquin zei

    Wat een toeval. Dit weekend heb ik geprobeerd een rootpartitie te verwijderen, maar ik kon een bestand niet verwijderen uit de / boot-directory. Bij het zoeken vond ik de attributen, ik kende ze eerlijk gezegd niet en nu begrijp ik dat de kwestie van toestemmingen en attributen in een bestand erg groot is. Dit is een van die essentiële commando's die we moeten kennen, samen met "chmod" en "chown".

  6.   guatemala zei

    Dit is buitengewoon handig, vooral als we bijvoorbeeld de standaard DNS van onze respectievelijke ISP willen wijzigen, en dat is wanneer we het bestand /etc/resolv.conf moeten wijzigen en om dit te doen moeten we chattr -i doen / etc / resolv.conf, wijzig de IP's die verschijnen voor die van onze gratis en / of gratis DNS (zoals die van OpenDNS 208.67.222.222 en 208.67.220.220 of die van Google 8.8.8.8 en 8.8.4.4) en na heeft het bestand gewijzigd maak chattr + i /etc/resolv.conf opnieuw zodat het bestand niet wordt gewijzigd wanneer de machine opstart.
    Geweldig artikel ... en trouwens, je vriendin is net als mijn vrouw, net zo verslaafd aan games, hahahahaha

  7.   rauwBasis zei

    Het is duidelijk dat 'de-fucking-meester' je vriendin is in deze situatie. xD