5 Kmandi chattr biex Jagħmel Fajls Importanti IMMUTABILI (Ma Jinbidlux) fil-Linux


chattr (Bidla Attribut) hija utilità tal-Linux tal-linja tal-kmand li tintuża biex tissettja/tneħħi ċerti attributi għal fajl fis-sistema Linux biex tiżgura t-tħassir jew il-modifika aċċidentali ta' fajls u folders importanti, minkejja li tkun illoggjat bħala utent għerq.

Fis-sistemi tal-fajls indiġeni tal-Linux jiġifieri ext2, ext3, ext4, btrfs, eċċ. jappoġġja l-bnadar kollha, għalkemm il-bnadar kollha mhux se jappoġġjaw l-FS kollha mhux indiġeni. Wieħed ma jistax iħassar jew jimmodifika fajl/folder ladarba l-attributi huma settijiet bil-kmand chattr, minkejja li wieħed ikollu permessi sħaħ fuqu.

Dan huwa utli ħafna biex jiġu stabbiliti attributi fil-fajls tas-sistema bħal passwd u shadow files li fihom l-informazzjoni tal-utent.

# chattr [operator] [flags] [filename]

Dawn li ġejjin huma l-lista ta 'attributi komuni u bnadar assoċjati jistgħu jiġu ssettjati/issettjati bl-użu tal-kmand chattr.

  1. Jekk jiġi aċċessat fajl bl-attribut 'A' stabbilit, ir-rekord tal-ħin tiegħu ma jiġix aġġornat.
  2. Jekk fajl jiġi modifikat b'sett ta' attribut 'S', il-bidliet huma aġġornamenti sinkroniku fuq id-diska.
  3. Fajl huwa ssettjat bl-attribut 'a', jista' jinfetaħ biss fil-mod ta' append għall-kitba.
  4. Fajl huwa ssettjat bl-attribut 'i', ma jistax jiġi modifikat (immutabbli). Ifisser l-ebda tibdil ta' isem, l-ebda ħolqien ta' link simboliku, l-ebda eżekuzzjoni, l-ebda miktub, is-superuser biss jista' jitneħħa l-attribut.
  5. Fajl bl-attribut 'j' jiġi stabbilit, l-informazzjoni kollha tiegħu tiġi aġġornata għall-ġurnal ext3 qabel ma tiġi aġġornata għall-fajl innifsu.
  6. Fajl huwa ssettjat bl-attribut 't', l-ebda tail-merging.
  7. Fajl bl-attribut 'd', ma jkunx aktar kandidat għal backup meta jitmexxa l-proċess ta' dump.
  8. Meta fajl ikollu l-attribut 'u' jitħassar, id-dejta tiegħu tiġi ssejvjata. Dan jippermetti lill-utent jistaqsi għat-tneħħija tiegħu.

  1. + : Iżżid l-attribut ma' l-attribut eżistenti tal-fajls.
  2. : Tneħħi l-attribut għall-attribut eżistenti tal-fajls.
  3. = : Żomm l-attributi eżistenti li għandhom il-fajls.

Hawnhekk, se nuru xi wħud mill-eżempji tal-kmand chattr biex issettja/tneħħi l-attributi għal fajl u folders.

1. Kif iżżid attributi fuq fajls biex tiżgura mit-tħassir

Għal skop ta’ dimostrazzjoni, użajna folder demo u fajl important_file.conf rispettivament. Qabel ma twaqqaf attributi, kun żgur li tivverifika li l-fajls eżistenti għandhom xi attributi stabbiliti bl-użu tal-kmand 'ls -l'. Rajt ir-riżultati, bħalissa l-ebda attribut mhu stabbilit.

 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

Biex tissettja l-attribut, nużaw is-sinjal + u biex titneħħa uża s-sinjal bil-kmand chattr. Allura, ejja nissettjaw bit immutabbli fuq il-fajls b'bnadar +i biex ma tħallix lil xi ħadd iħassar fajl, anki utent root m'għandux permess biex iħassarha.

 chattr +i demo/
 chattr +i important_file.conf

Nota: Il-bit immutabbli +i jista 'jiġi ssettjat biss minn utent superuser (jiġifieri root) jew utent bi privileġġi sudo jista' jissettja.

Wara li tissettja l-bit immutabbli, ejja nivverifikaw l-attribut bil-kmand 'lsattr'.

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

Issa, ippruvajt tħassar bil-qawwa, semmi mill-ġdid jew tibdel il-permessi, iżda mhux se permess jgħid Operazzjoni mhux permessa.

 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. Kif jitneħħa l-attribut fuq Fajls

Fl-eżempju ta 'hawn fuq, rajna kif nissettjaw l-attribut biex niżguraw u jipprevjenu fajls minn tħassir aċċidentali, hawnhekk f'dan l-eżempju, se naraw kif nissettjaw il-permessi (attribut mhux issettjat) u tippermetti li tagħmel fajls jinbidlu jew jinbidlu bl-użu - i bandiera.

 chattr -i demo/ important_file.conf

Wara li tirrisettja l-permessi, ivverifika l-istatus immutabbli tal-fajls billi tuża l-kmand 'lsattr'.

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

Fir-riżultati ta 'hawn fuq tara li l-bandiera '-i' titneħħa, dan ifisser li tista' tneħħi b'mod sikur il-fajl u l-folder kollha li jgħixu fil-folder tecmint.

 rm -rf *

 ls -l
total 0

3. Kif Tiżgura l-fajls /etc/passwd u /etc/shadow

L-issettjar ta' attribut immutabbli fuq fajls /etc/passwd jew /etc/shadow, jagħmilhom sikuri minn tneħħija aċċidentali jew tbagħbis u wkoll se tiddiżattiva l-ħolqien tal-kont tal-utent.

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

Issa ipprova toħloq utent tas-sistema ġdid, ikollok messaġġ ta 'żball li jgħid 'ma tistax tiftaħ /etc/passwd'.

 useradd tecmint
useradd: cannot open /etc/passwd

B'dan il-mod tista 'tissettja permessi immutabbli fuq il-fajls importanti tiegħek jew il-fajls tal-konfigurazzjoni tas-sistema biex tevita milli jitħassru.

4. Ehmeż dejta mingħajr Immodifika dejta eżistenti fuq Fajl

Ejja ngħidu, trid biss tippermetti lil kulħadd biex jehmeż id-dejta fuq fajl mingħajr ma tbiddel jew timmodifika d-dejta diġà mdaħħla, tista 'tuża l-attribut 'a' kif ġej.

 chattr +a example.txt

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

Wara li tissettja l-modalità tehmeż, il-fajl jista 'jinfetaħ għall-kitba tad-dejta fil-modalità tehmeż biss. Tista' tneħħi l-attribut append kif ġej.

 chattr -a example.txt

Issa ipprova tissostitwixxi kontenut diġà eżistenti fuq fajl example.txt, ikollok żball li tgħid 'Operazzjoni mhux permessa'.

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

Issa ipprova tehmeż kontenut ġdid fuq fajl eżistenti example.txt u vverifikah.

 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. Kif Sikura Direttorji

Biex niżguraw id-direttorju kollu u l-fajls tiegħu, nużaw '-R' (rikursivament) swiċċ bil-bandiera '+i' flimkien mal-mogħdija sħiħa tal-folder.

 chattr -R +i myfolder

Wara li tissettja l-attribut rikorsiv, ipprova tħassar il-folder u l-fajls tiegħu.

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

Biex tneħħi l-permess, nużaw l-istess swiċċ '-R' (rikursiv) bil-bandiera '-i' flimkien mal-mogħdija sħiħa tal-folder.

 chattr -R -i myfolder

Dak hu! Biex tkun taf aktar dwar l-attributi tal-kmand chattr, il-bnadar u l-għażliet uża l-paġni man.