Linux-da möhüm faýllary IMMUTABLE (üýtgemeýän) etmek üçin 5 chattr buýrugy


chattr (Attribute Change) buýruk setiri Linux kömekçi ulgamy, hasaba giren bolsaňyzam möhüm faýllaryň we bukjalaryň tötänleýin ýok edilmegini ýa-da üýtgedilmegini üpjün etmek üçin Linux ulgamyndaky bir faýla käbir atributlary bellemek/kesgitlemek üçin ulanylýar. kök ulanyjy hökmünde.

Linux ýerli faýl ulgamlarynda, ýagny ext2, ext3, ext4, btrfs we ş.m. ähli baýdaklary goldaýar, emma ähli baýdaklar ýerli däl FS-leri goldamaýar. Atributlar chattr buýrugy bilen kesgitlenenden soň, faýl/bukjany pozup ýa-da üýtgedip bolmaz, hatda doly ygtyýarlyklary bar.

Ulanyjynyň maglumatlaryny öz içine alýan passwd we kölegeli faýllar ýaly ulgam faýllarynda atributlary bellemek gaty peýdaly.

# chattr [operator] [flags] [filename]

Aşakda umumy häsiýetleriň sanawy we baglanyşykly baýdaklar chattr buýrugyny ulanyp sazlap/sazlap bolýar.

  1. A atributlar toplumy bilen bir faýla girilse, onuň ýazgysy täzelenenok.
  2. Eger bir faýl S atributlar toplumy bilen üýtgedilen bolsa, üýtgeşmeler diskdäki sinhron täzelenmelerdir.
  3. Faýl atribut bilen düzüldi, diňe ýazmak üçin goşundy re modeiminde açyk bolup biler.
  4. Faýl i atributy bilen düzüldi, üýtgedilip bilinmez (üýtgewsiz). Adynyň üýtgedilmezligi, simwoliki baglanyşyk döredilmezligi, ýerine ýetirilmezligi, ýazylyp bilinmezligi, diňe superuser bu aýratynlygy düzedip biljekdigini aňladýar.
  5. j häsiýetli bir faýl düzüldi, ähli maglumatlar faýlyň özüne täzelenmezden ozal ext3 journalurnalyna täzelendi.
  6. Faýl t atributy bilen düzüldi, guýrugy birleşdirmeýär.
  7. d atributly bir faýl, zibil taşlanylanda ätiýaçlyk üçin kandidat bolmaz.
  8. Haçan-da bir faýl u häsiýeti pozulsa, maglumatlary saklanýar. Bu ulanyja öçürilmegini soramaga mümkinçilik berýär.

  1. + : Faýllaryň bar bolan atributyna atribut goşýar.
  2. - : Faýllaryň bar bolan atributyny aýyrýar.
  3. =: Faýllarda bar bolan häsiýetleri saklaň.

Bu ýerde, bir faýla we bukjalara atributlary bellemek/düzmek üçin chattr buýruk mysallarynyň käbirini görkezmekçi.

1. Öçürmekden goramak üçin faýllara atributlary nädip goşmaly

Görkeziş maksady bilen, degişlilikde demo bukjasyny we möhüm_file.conf faýlyny ulandyk. Sypatlary gurmazdan ozal, bar bolan faýllaryň ls -l buýrugyny ulanyp, haýsydyr bir atributynyň bardygyny barlaň. Netijeleri gördüňizmi, häzirki wagtda hiç hili atribut ýok.

 ls -l
total 0
drwxr-xr-x. 2 root root 6 Aug 31 18:02 demo
-rwxrwxrwx. 1 root root 0 Aug 31 17:42 important_file.conf

Aýratynlygy bellemek üçin, + belgisini ulanýarys we chattr buýrugy bilen - belgisini ulanýarys. Şeýlelik bilen, faýlyň pozulmagynyň öňüni almak üçin + i baýdaklary bolan faýllara üýtgewsiz bir zat goýalyň, hatda kök ulanyjynyň hem pozmaga rugsady ýok.

 chattr +i demo/
 chattr +i important_file.conf

Bellik: Üýtgemeýän bit + i diňe superuser (ýagny kök) ulanyjy ýa-da sudo aýratynlyklary bolan ulanyjy belläp biler.

Üýtgemeýän biti düzenimizden soň, lsattr buýrugy bilen häsiýeti barlalyň.

 lsattr
----i----------- ./demo
----i----------- ./important_file.conf

Indi zor bilen öçürmäge, adyny üýtgetmäge ýa-da üýtgetmäge synanyşdyk, ýöne Operasiýa rugsat berilmeýär diýilýär.

 rm -rf demo/
rm: cannot remove âdemo/â: Operation not permitted
 mv demo/ demo_alter
mv: cannot move âdemo/â to âdemo_alterâ: Operation not permitted
 chmod 755 important_file.conf
chmod: changing permissions of âimportant_file.confâ: Operation not permitted

2. Faýllarda atributy nädip sazlamaly

Aboveokardaky mysalda, faýllaryň tötänleýin öçürilmeginiň öňüni almak we öňüni almak üçin atributy nädip düzmelidigini gördük, bu mysalda, rugsatlary nädip täzeden dikeltmelidigini göreris we faýllary üýtgedip ýa-da üýtgedip boljakdygyny göreris - men baýdak edýärin.

 chattr -i demo/ important_file.conf

Rugsatlary täzeden düzeniňizden soň, lsattr buýrugyny ulanyp, faýllaryň üýtgewsiz ýagdaýyny barlaň.

 lsattr
---------------- ./demo
---------------- ./important_file.conf

-Iokardaky netijelerde -i baýdagynyň aýrylandygyny görýärsiňiz, ýagny ähli faýly we bukjany tekmint bukjasynda arkaýyn aýyryp bilersiňiz.

 rm -rf *

 ls -l
total 0

3./etc/passwd we/etc/kölegeli faýllary nädip goramaly

/etc/passwd ýa-da /etc/shadow faýllarynda üýtgewsiz atribut bellemek, olary tötänleýin aýyrmakdan ýa-da bozmakdan goraýar we ulanyjy hasabynyň döredilmegini ýapýar.

 chattr +i /etc/passwd
 chattr +i /etc/shadow

Indi täze ulgam ulanyjysyny döretmäge synanyşyň, açyp bolmaýar/etc/passwd diýlen säwlik habaryny alarsyňyz.

 useradd tecmint
useradd: cannot open /etc/passwd

Şeýlelik bilen, pozulmazlygy üçin möhüm faýllaryňyza ýa-da ulgam konfigurasiýa faýllaryňyza üýtgewsiz rugsatlar goýup bilersiňiz.

4. Faýlda bar bolan maglumatlary üýtgetmän maglumatlary goşuň

Diňe, eýýäm girizilen maglumatlary üýtgetmän ýa-da üýtgetmän, diňe bir faýlda maglumatlary goşmaga rugsat bermek isleýärsiňiz, “a” atributyny aşakdaky ýaly ulanyp bilersiňiz.

 chattr +a example.txt

 lsattr example.txt
-----a---------- example.txt

Goşundy re modeimini düzenden soň, faýl diňe goşundy re iniminde maglumat ýazmak üçin açylyp bilner. Goşundy atributyny aşakdaky ýaly düzüp bilersiňiz.

 chattr -a example.txt

Indi bar bolan mazmuny example.txt faýlynda çalyşmaga synanyşyň, Operasiýa rugsat berilmeýär diýlen ýalňyşlyk ýüze çykar.

 echo "replace contain on file." > example.txt
-bash: example.txt: Operation not permitted

Indi bar bolan example.txt faýlyna täze mazmun goşup, barlaň.

 echo "replace contain on file." >> example.txt
 cat example.txt
Here is the example to test 'a' attribute mean append only.
replace contain on file.

5. Kataloglary nädip goramaly

Directoryhli katalogy we faýllaryny goramak üçin bukjanyň doly ýoly bilen birlikde “+ i” baýdagy bilen “-R” (gaýtalanýan) wyklýuçatel ulanýarys.

 chattr -R +i myfolder

Gaýtalanýan atribut sazlansoň, bukjany we faýllaryny pozmaga synanyşyň.

 rm -rf myfolder/
rm: cannot remove 'myfolder/': Operation not permitted

Rugsatnamany aýyrmak üçin, bukjanyň doly ýoly bilen birlikde -i baýdagy bilen şol bir -R (gaýtalanýan) wyklýuçatel ulanýarys.

 chattr -R -i myfolder

Bu! Chattr buýruk atributlary, baýdaklar we opsiýalar barada has giňişleýin bilmek üçin adam sahypalaryny ulanyň.