chattr: Det maximala skyddet för filer / mappar i Linux med attribut eller flaggor

Tja ... allt kan inte vara spel, det är inte min avsikt att bara publicera inlägg som talar om spel 😉 ... Jag är inte en användare som spelar mycket, hemma lämnar jag det till min flickvän (som nu är ansluten Sims 4), det är därför det motiverar mig mer att publicera mer tekniska artiklar, om kommandon eller tips i terminalen.

I Linux har vi några behörigheter som säkert löser nästan alla problem kan vi avgöra vilken användare eller grupp av användare som har tillgång till en viss resurs, mapp, tjänst. Det finns dock tillfällen när behörigheter inte är exakt vad vi behöver, eftersom det finns situationer där vi vill att även root inte ska kunna utföra en viss åtgärd.

Antag att vi har en mapp eller fil som vi inte vill ta bort, låt oss gå ... varken av vår användare eller av en annan på datorn (ehm ... min flickvän till exempel haha), eller inte ens root kan ta bort det, hur man uppnår detta? ... behörigheterna hjälper oss inte eftersom root är jävla master, han kommer att kunna ta bort vad som helst, så det är där fil- eller mappattributen kommer in.

chattr + i

Antag att vi vill skydda en fil så att den inte kan raderas, det är: lösenord.txt , din plats är (till exempel) $ HOME / passwords.txt

För att ställa in ett skrivskyddat attribut (det vill säga ingen ändring och ingen radering) skulle det vara:

sudo chattr +i $HOME/passwords.txt

Som du kan se behöver vi administratörsbehörigheter för + i-parametern, som förresten + i betyder att filen kommer att vara oföränderlig, du vet, den kan inte raderas, den kan inte ändras på något sätt.

Sedan kan du försöka ta bort filen, även med sudo ... du kommer att se att du inte kommer att kunna, här är en skärmdump:

chattr_1

För att lista eller se attributen som en fil har kan vi använda kommandot lsattr, till exempel:

lsattr passwords.txt

Sedan för att ta bort skyddet istället för att använda +i vi använder -i och voila 😉

chattr + a

Som vi just har sett låter + i-parametern oss skydda den helt, men det har förekommit tillfällen då jag behöver en viss fil för att kunna ändras, MEN utan att ändra dess ursprungliga innehåll. Till exempel har jag en lista och jag vill att nya rader och information ska läggas till med eko, men utan att ändra de tidigare, för detta:

sudo chattr +a $HOME/passwords.txt

Med detta gjort, låt oss försöka skriva något nytt till filen:

echo "Prueba" > $HOME/passwords.txt

Du kommer att märka att ett fel visas ... men om vi lägger till innehåll istället för att ersätta (med >> och inte>):

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

Här kan vi.

Slutet!

Jag vet att någon kunnig när de ser att även med root kan radera / modifiera en fil kan kontrollera dess attribut ... men hej! ... Hur många gånger som du märker något liknande stannar du för att tänka på attribut? ... Jag säger detta för att vi i allmänhet helt enkelt tycker att hårddisken eller dess sektor är korrupt, eller att systemet helt enkelt blev galet 😀

Det finns inte mycket mer att lägga till ... Jag tror att jag kommer att använda det här från +i för att stoppa nedladdningen av något som min flickvän laddar ner ... ¬_¬ ... ehm ... ville hon inte ladda ner sims 4 fri? ... Jag tror att jag ska lära dig en sak eller två om licenser och att de inte ska brytas 😀

Hälsningar!


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   upphöra sade

    Intressant att veta om det här verktyget, vad händer om det orsakar mig nyfikenhet, på ett sätt skulle det inte vara något som liknar bitbehörigheter? Dvs setuid, setgid och klibbig bit? Om inte, varför? Oo

    PS: Jag tappade antalet gånger du säger min flickvän i den här artikeln hahaha

    1.    Hugo sade

      För detta är också lite, immutabilitetsbiten, och den är utformad så att ingen kan ändra eller ta bort den fil som den gäller (inte ens root). Jag använder den till exempel för att skriva skydda konfigurationsfiler, vilket är särskilt användbart i distributioner som Zentyal (det är ett mycket snabbare sätt att anpassa konfigurationen än genom att redigera eller skapa mallar).

      Genom att kombinera detta kommando med chown, chmod och setfacl kan intressanta saker åstadkommas.

      FreeBSD har något liknande, som jag också använder för min pfSense.

    2.    John sade

      Hahaha det är en känd fas.
      http://www.xkcd.
      com / 684 /

  2.   niandekuera sade

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

  3.   Tesla sade

    Mycket bra ordning. Jag kände henne inte.

    Det kan vara mycket användbart om vi delar en dator eller om vi har ett visst dokument som vi arbetar med som vi inte vill ta bort för världen.

    Tack och hälsningar!

  4.   Luis sade

    Mycket intressant.

    Kan något liknande göras så att ROOT inte kan komma åt en viss mapp på vår hemsida?

    1.    Tesla sade

      Enligt artikeln kan inte ens root komma åt filen med det här kommandot. Jag antar att samma sak gäller mappar, eftersom mappar i Linux också är filer, eller hur?

  5.   Joaquin sade

    Vilket sammanträffande. I helgen försökte jag ta bort en rotpartition och kunde inte ta bort en fil från / boot-katalogen. Ser jag, jag hittade attributen, jag visste ärligt talat inte dem och nu förstår jag att frågan om behörigheter och attribut i en fil är mycket stor. Detta är en av dessa viktiga kommandon som vi måste känna till, tillsammans med "chmod" och "chown".

  6.   aguatemala sade

    Detta är extremt användbart, särskilt om vi till exempel vill ändra standard-DNS för vår respektive ISP, och det är då vi måste ändra /etc/resolv.conf-filen och för att göra detta måste vi göra chattr -i / etc / resolv.conf, modifiera de IP-adresser som visas för de av våra gratis och / eller gratis DNS (som de för OpenDNS 208.67.222.222 och 208.67.220.220 eller för Google 8.8.8.8 och 8.8.4.4) och efter att ha gör om chattr + i /etc/resolv.conf så att filen inte ändras när maskinen startar.
    Bra artikel ... och förresten är din flickvän som min fru, lika beroende av spel, hahahahaha

  7.   rawBasic sade

    Uppenbarligen är "jävla mästaren" din flickvän i den här situationen. xD