chattr: maksimāla failu / mapju aizsardzība Linux, izmantojot atribūtus vai karodziņus

Nu ... ne viss var būt spēles, es neesmu nolēmis publicēt tikai ziņas, kurās runā par spēlēm 😉 ... Es neesmu lietotājs, kurš daudz spēlē, mājās to atstāju draudzenei (kas tagad ir piesaistīts Sims 4), tāpēc tas mani vairāk motivē publicēt vairāk tehnisku rakstu par komandām vai padomiem terminālā.

Linux mums ir daži atļaujas kas noteikti atrisina gandrīz jebkuru problēmu, mēs varam noteikt, kuram lietotājam vai lietotāju grupai ir piekļuve noteiktam resursam, mapei, pakalpojumam. Tomēr ir gadījumi, kad atļaujas nav tieši tas, kas mums nepieciešams, jo ir situācijas, kad mēs vēlamies, lai pat sakne nevarētu veikt noteiktu darbību.

Pieņemsim, ka mums ir mape vai fails, kuru mēs nevēlamies izdzēst, ejam ... ne mūsu lietotājs, ne kāds cits datorā (ehm ... mana draudzene piemēram haha), vai pat root nevar to izdzēst, kā to panākt? ... atļaujas mums nepalīdzēs, jo sakne ir fucking-master, viņš var izdzēst jebko, tāpēc tur ienāk faila vai mapes atribūti.

tērzēšanas taustiņš + i

Pieņemsim, ka mēs vēlamies aizsargāt failu tā, lai to nevarētu izdzēst, tas ir: paroles.txt , jūsu atrašanās vieta ir (piemēram) $ HOME / passwords.txt

Lai izveidotu tikai lasāmu atribūtu (tas ir, bez izmaiņām un dzēšanu), tas būtu:

sudo chattr +i $HOME/passwords.txt

Kā redzat, mums ir nepieciešamas administrēšanas atļaujas parametram + i, kas, starp citu, + i nozīmē, ka fails būs nemainīgs, jūs zināt, to nevar izdzēst, tas nekādā ziņā nevar mainīties.

Pēc tam varat mēģināt izdzēst failu, pat izmantojot sudo ... jūs redzēsiet, ka nevarēsiet, šeit ir ekrānuzņēmums:

chattr_1

Lai uzskaitītu vai redzētu faila atribūtus, mēs varam izmantot komandu lsattrPiemēram:

lsattr passwords.txt

Pēc tam noņemiet aizsardzību, nevis izmantojiet +i mēs izmantojam -i un voila 😉

tērzēšanas taustiņš + a

Kā mēs tikko redzējām, parametrs + i ļauj mums to pilnībā aizsargāt, taču ir bijuši gadījumi, kad man ir nepieciešams noteikts fails, lai to varētu modificēt, BET, nemainot tā sākotnējo saturu. Piemēram, man ir saraksts, un es vēlos, lai šim nolūkam tiktu pievienotas jaunas rindas un informācija, izmantojot atbalss, bet nemainot iepriekšējās:

sudo chattr +a $HOME/passwords.txt

Pēc tam mēģināsim ierakstīt failā kaut ko jaunu:

echo "Prueba" > $HOME/passwords.txt

Jūs pamanīsit, ka tiek parādīta kļūda ... tomēr, ja mēs pievienojam saturu, nevis aizstājam (izmantojot >> un nevis>):

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

Šeit mēs varam.

Beigas!

Es zinu kādu zinošu, kad viņi redz, ka pat ar root nevar izdzēst / modificēt failu, kas varētu pārbaudīt tā atribūtus ... bet, hei! ... Cik reizes pamanāt kaut ko tādu, jūs pārtraucat domāt par atribūtiem? ... es to saku tāpēc, ka parasti mēs vienkārši domājam, ka HDD vai tā sektors ir korumpēts vai ka sistēma vienkārši kļuva traka 😀

Nu nav daudz ko piebilst ... Es domāju, ka es to izmantošu no +i lai apturētu lejupielādi kaut kam, ko lejupielādē mana draudzene ... ¬_¬ ... ehm ... vai viņa negribēja lejupielādēt simus 4 bez maksas? ... es domāju, ka iemācīšu jums vienu vai divas lietas par licencēm un to, ka tās nedrīkst pārkāpt 😀

Sveicieni!


Raksta saturs atbilst mūsu principiem redakcijas ētika. Lai ziņotu par kļūdu, noklikšķiniet uz šeit.

10 komentāri, atstājiet savus

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   beidz teica

    Interesanti uzzināt par šo rīku. Ja nu tas manī rada zināmu ziņkāri, tas savā ziņā nebūtu kaut kas līdzīgs bitu atļaujām? Ti setuid, setgid un lipīgs uzgalis? Ja nē, kāpēc? Oo

    PS: Es pazaudēju to reižu skaitu, kad jūs šajā rakstā sakāt manu draudzeni hahaha

    1.    Hugo teica

      Tas ir arī mazliet, nemaināmības bits, un tas ir veidots tā, lai neviens nevarētu modificēt vai izdzēst failu, uz kuru tas attiecas (pat ne root). Es to izmantoju, piemēram, konfigurācijas failu aizsardzībai pret ierakstīšanu, kas ir īpaši noderīgi tādos izplatījumos kā Zentyal (tas ir daudz ātrāks veids, kā pielāgot konfigurāciju nekā rediģējot vai veidojot veidnes).

      Apvienojot šo komandu ar chown, chmod un setfacl, var paveikt interesantas lietas.

      FreeBSD ir kaut kas līdzīgs, ko es izmantoju arī savam pfSense.

    2.    John teica

      Hahaha, tas ir zināms posms.
      http://www.xkcd.
      com / 684 /

  2.   niandekuera teica

    [Dr. Bolivars Trask] $ sudo chattr + i * .cilvēks

  3.   Tesla teica

    Ļoti laba kārtība. Es viņu nepazinu.

    Tas var būt ļoti noderīgi, ja mēs koplietojam datoru vai ja mums ir noteikts dokuments, ar kuru mēs strādājam, un kuru mēs nevēlamies dzēst visā pasaulē.

    Paldies un labākie vēlējumi!

  4.   Luis teica

    Ļoti interesanti.

    Vai kaut ko līdzīgu varētu izdarīt, lai ROOT nevarētu piekļūt noteiktai mapei mūsu mājas lapā?

    1.    Tesla teica

      Saskaņā ar rakstu, izmantojot šo komandu, pat root nevar piekļūt failam. Es domāju, ka tas pats attiecas uz mapēm, jo ​​Linux mapes ir arī faili, vai ne?

  5.   Joaquin teica

    Kāda sakritība. Šajā nedēļas nogalē es mēģināju izdzēst saknes nodalījumu un nevarēju izdzēst failu no / boot direktorija. Skatoties, es atradu atribūtus, es tos godīgi nezināju, un tagad es saprotu, ka jautājums par atļaujām un atribūtiem failā ir ļoti liels. Šī ir viena no tām būtiskajām komandām, kas mums jāzina kopā ar “chmod” un “chown”.

  6.   Aguatemala teica

    Tas ir ārkārtīgi noderīgi, it īpaši, ja, piemēram, mēs vēlamies mainīt attiecīgā ISP noklusējuma DNS, un tieši tad mums ir jāpārveido fails /etc/resolv.conf un, lai to izdarītu, mums ir jādara chattr -i / etc / resolv.conf, modificējiet IP, kas parādās mūsu bezmaksas un / vai bezmaksas DNS (piemēram, OpenDNS 208.67.222.222 un 208.67.220.220 vai Google 8.8.8.8 un 8.8.4.4) un pēc tam, kad modificējis failu, pārtaisiet tērzēšanas taustiņu + i /etc/resolv.conf tā, lai, mašīnai startējot, fails netiktu modificēts.
    Lielisks raksts ... un, starp citu, jūsu draudzene ir kā mana sieva, tāpat kā atkarīga no spēlēm, hahahahaha

  7.   rawBasic teica

    Šajā situācijā nepārprotami 'jāšanās meistars' ir jūsu draudzene. xD