Amri 5 za gumzo za Kufanya Faili Muhimu ZIWEZE KUWEZA KUWEZA (Zisibadilike) katika Linux


chattr (Badilisha Sifa) ni safu ya amri ya matumizi ya Linux ambayo hutumika kuweka/kuondoa sifa fulani kwenye faili katika mfumo wa Linux ili kupata ufutaji wa kimakosa au urekebishaji wa faili na folda muhimu, ingawa umeingia. kama mtumiaji wa mizizi.

Katika mifumo asili ya faili ya Linux yaani ext2, ext3, ext4, btrfs, n.k. inaauni bendera zote, ingawa bendera zote hazitatumika kwa FS zote zisizo asili. Mtu hawezi kufuta au kurekebisha faili/folda mara tu sifa zimewekwa kwa amri ya chattr, ingawa mtu ana ruhusa kamili juu yake.

Hii ni muhimu sana kuweka sifa katika faili za mfumo kama vile passwd na faili za kivuli ambamo habari za mtumiaji zimo.

# chattr [operator] [flags] [filename]

Ifuatayo ni orodha ya sifa za kawaida na bendera zinazohusiana zinaweza kuwekwa/kutowekwa kwa kutumia amri ya chattr.

  1. Ikiwa faili inafikiwa kwa seti ya sifa ya ‘A’, rekodi yake ya wakati haijasasishwa.
  2. Ikiwa faili itarekebishwa kwa seti ya sifa ya ‘S’, mabadiliko hayo ni masasisho yanayosawazishwa kwenye diski.
  3. Faili imewekwa kwa sifa ya ‘a‘, inaweza tu kufunguliwa katika hali ya kiambatisho ili kuandikwa.
  4. Faili imewekwa kwa sifa ya ‘i‘, haiwezi kurekebishwa (isiyobadilika). Inamaanisha hakuna kubadilisha jina, hakuna uundaji wa kiungo cha mfano, hakuna utekelezaji, hakuna kinachoweza kuandikwa, mtumiaji mkuu pekee ndiye anayeweza kutengua sifa hiyo.
  5. Faili yenye sifa ya ‘j’ imewekwa, taarifa zake zote zinasasishwa hadi kwenye jarida la ext3 kabla ya kusasishwa hadi kwenye faili yenyewe.
  6. Faili imewekwa na ‘t’ sifa, hakuna kuunganisha mkia.
  7. Faili iliyo na sifa ya ‘d’, haitatumika tena kwa hifadhi rudufu mchakato wa kutupa utakapotekelezwa.
  8. Faili inapofutwa sifa ya ‘u‘, data yake huhifadhiwa. Hii humwezesha mtumiaji kuomba kufutwa kwake.

  1. + : Huongeza sifa kwa sifa iliyopo ya faili.
  2. : Huondoa sifa ya sifa iliyopo ya faili.
  3. = : Weka sifa zilizopo ambazo faili zinazo.

Hapa, tutaonyesha baadhi ya mifano ya amri ya chattr kuweka/kuondoa sifa kwenye faili na folda.

1. Jinsi ya kuongeza sifa kwenye faili ili kulinda kutokana na kufutwa

Kwa madhumuni ya onyesho, tumetumia folda onyesho na faili important_file.conf mtawalia. Kabla ya kusanidi sifa, hakikisha kuwa umethibitisha kuwa faili zilizopo zina sifa zozote zilizowekwa kwa kutumia amri ya 'ls -l'. Je, uliona matokeo, kwa sasa hakuna sifa iliyowekwa.

 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

Ili kuweka sifa, tunatumia ishara + na kubatilisha tumia alama ya yenye amri ya chattr. Kwa hivyo, hebu tuweke kitu kisichoweza kubadilika kwenye faili zilizo na alama za +i ili kuzuia mtu yeyote kufuta faili, hata mtumiaji wa mizizi hana ruhusa ya kuifuta.

 chattr +i demo/
 chattr +i important_file.conf

Kumbuka: Biti isiyoweza kubadilika +i inaweza tu kuwekwa na mtumiaji mkuu (yaani mzizi) au mtumiaji aliye na mapendeleo ya sudo anaweza kuweka.

Baada ya kuweka biti isiyoweza kubadilika, wacha tuthibitishe sifa hiyo kwa amri 'lsatr'.

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

Sasa, ilijaribu kufuta kwa nguvu, kubadilisha jina au kubadilisha ruhusa, lakini haitaruhusiwa inasema Operesheni hairuhusiwi.

 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. Jinsi ya kuondoa sifa kwenye Faili

Katika mfano hapo juu, tumeona jinsi ya kuweka sifa ili kupata na kuzuia faili kutoka kwa kufutwa kwa bahati mbaya, hapa katika mfano huu, tutaona jinsi ya kuweka upya (sifa isiyowekwa) ruhusa na inaruhusu kufanya faili kubadilika au kubadilishwa kwa kutumia - i bendera.

 chattr -i demo/ important_file.conf

Baada ya kuweka upya ruhusa, thibitisha hali ya faili zisizobadilika kwa kutumia amri ya 'lsatr'.

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

Unaona katika matokeo yaliyo hapo juu kwamba bendera ya '-i' imeondolewa, hiyo inamaanisha kuwa unaweza kuondoa faili zote na folda kwa usalama kwenye folda ya tecmint.

 rm -rf *

 ls -l
total 0

3. Jinsi ya Kulinda faili za /etc/passwd na /etc/shadow

Kuweka sifa isiyoweza kubadilika kwenye faili /etc/passwd au /etc/shadow, huzifanya ziwe salama kutokana na kuondolewa kwa bahati mbaya au kuchezewa na pia kutazima uundaji wa akaunti ya mtumiaji.

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

Sasa jaribu kuunda mtumiaji mpya wa mfumo, utapata ujumbe wa makosa ukisema 'haiwezi kufungua /etc/passwd'.

 useradd tecmint
useradd: cannot open /etc/passwd

Kwa njia hii unaweza kuweka ruhusa zisizoweza kubadilika kwenye faili zako muhimu au faili za usanidi wa mfumo ili kuzuia kufutwa.

4. Weka data bila Kurekebisha data iliyopo kwenye Faili

Tuseme, unataka tu kuruhusu kila mtu kuongeza data kwenye faili bila kubadilisha au kurekebisha data iliyoingizwa tayari, unaweza kutumia 'a' sifa kama ifuatavyo.

 chattr +a example.txt

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

Baada ya kuweka modi ya kuongeza, faili inaweza kufunguliwa kwa kuandika data katika hali ya kiambatisho pekee. Unaweza kutendua sifa ya kiambatisho kama ifuatavyo.

 chattr -a example.txt

Sasa jaribu kubadilisha maudhui yaliyopo tayari kwenye faili example.txt, utapata hitilafu ya kusema 'Uendeshaji hauruhusiwi'.

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

Sasa jaribu kuambatisha maudhui mapya kwenye faili iliyopo example.txt na uithibitishe.

 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. Jinsi ya Kuhifadhi Saraka

Ili kupata saraka nzima na faili zake, tunatumia kubadili '-R' (kwa kujirudia) na bendera ya '+i' pamoja na njia kamili ya folda.

 chattr -R +i myfolder

Baada ya kuweka sifa ya kujirudia, jaribu kufuta folda na faili zake.

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

Ili kutengua ruhusa, tunatumia swichi ile ile ya '-R' (kwa kujirudia) yenye alama ya '-i' pamoja na njia kamili ya folda.

 chattr -R -i myfolder

Ni hayo tu! Ili kujua zaidi kuhusu sifa za amri ya chattr, bendera na chaguo tumia kurasa za mtu.