5 chattr-käsku oluliste failide muutmiseks Linuxis muutumatuks (muutmatuks)


chattr (atribuudi muutmine) on Linuxi käsurea utiliit, mida kasutatakse Linuxi faili teatud atribuutide määramiseks/tühistamiseks, et kaitsta oluliste failide ja kaustade juhuslikku kustutamist või muutmist, isegi kui olete sisse logitud sisse juurkasutajana.

Linuxis toetavad kohalikud failisüsteemid, st ext2, ext3, ext4, btrfs jne. Faili/kausta ei saa kustutada ega muuta, kui atribuudid on määratud käsuga chattr, isegi kui sellel on täielikud õigused.

See on väga kasulik atribuutide määramiseks süsteemifailides, näiteks passwd- ja shadow-failides, mida kasutaja teave sisaldab.

# chattr [operator] [flags] [filename]

Järgnevas loendis on tavalised atribuudid ja nendega seotud lippe saab määrata/tühistada käsuga chattr.

  1. Kui failile pöördutakse atribuutide komplektiga A, ei värskendata selle atime-kirjet.
  2. Kui faili muudetakse atribuutide komplektiga S, värskendatakse muudatusi kettal sünkroonselt.
  3. Fail on määratud atribuudiga a, seda saab kirjutamiseks lisada ainult lisamisrežiimis.
  4. Failil on atribuut „i”, seda ei saa muuta (muutumatu). Tähendab ümbernimetamist, sümboolse lingi loomist, täitmist, kirjutatavust, ainult ülikasutaja saab atribuudi tühistada.
  5. Määratakse atribuudiga „j” fail, kogu selle teave värskendatakse ext3 päevikusse enne faili enda värskendamist.
  6. Failil on määratud atribuut ‘t’, ilma sabaühendamiseta.
  7. Atribuudiga „d” faili ei saa enam dumpingu käivitamise ajal varundada.
  8. Kui failil atribuut „u” kustutatakse, salvestatakse selle andmed. See võimaldab kasutajal paluda selle kustutamist.

  1. + : lisab atribuudi failide olemasolevale atribuudile.
  2. - : eemaldab atribuudi failide olemasolevale atribuudile.
  3. = : säilitage failide olemasolevad atribuudid.

Siin tutvustame mõningaid näiteid chattr käskudest faili ja kaustade atribuutide seadistamiseks/tühistamiseks.

1. Kuidas lisada failidele atribuute, et neid kustutamise eest kaitsta

Demonstreerimise eesmärgil oleme kasutanud vastavalt kausta demo ja faili important_file.conf . Enne atribuutide seadistamist veenduge, et olemasolevatel failidel oleks atribuudid seatud käsuga ‘ls -l’. Kas nägite tulemusi, pole praegu atribuuti määratud.

 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

Atribuudi määramiseks kasutame märki + ja tühistamiseks märki - käsuga chattr. Nii et määragem + i lippudega failidele muutmatud bitid, et keegi ei saaks faili kustutada, isegi juurkasutajal pole luba seda kustutada.

 chattr +i demo/
 chattr +i important_file.conf

Märkus. Muutumatu biti + i saab määrata ainult superkasutaja (st juur) kasutaja või sudo privileegidega kasutaja saab seda määrata.

Pärast muutumatu biti seadistamist kontrollime atribuuti käsuga ‘lsattr’.

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

Proovisin nüüd jõuliselt kustutada, õigusi ümber nimetada või neid muuta, kuid see ei luba öelda „Operatsioon pole lubatud“.

 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. Kuidas atribuut failides tühistada

Ülaltoodud näites oleme näinud, kuidas määrata atribuut turvaliseks ja vältida failide juhuslikku kustutamist, siin näites näeme, kuidas lähtestada (atribuudi määramata) load ja lubada muuta failid muudetavaks või muudetavaks, kasutades - ma lipun.

 chattr -i demo/ important_file.conf

Pärast lubade lähtestamist kontrollige failide muutumatut olekut käsuga ‘lsattr’.

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

Ülaltoodud tulemustes näete, et lipp--i eemaldati, see tähendab, et saate turvaliselt eemaldada kogu faili ja kausta, mis asub kaustas Tecmint.

 rm -rf *

 ls -l
total 0

3. Kuidas/etc/passwd ja/etc/shadow faile turvata

Muutumatu atribuudi määramine failidele /etc/passwd või /etc/shadow muudab need turvaliseks juhusliku eemaldamise või rikkumise eest ning keelab ka kasutajakonto loomise.

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

Proovige nüüd luua uus süsteemikasutaja, kuvatakse tõrketeade "Ei saa avada/etc/passwd".

 useradd tecmint
useradd: cannot open /etc/passwd

Nii saate kustutamise vältimiseks seadistada oma olulistele failidele või süsteemi konfiguratsioonifailidele muutmatud õigused.

4. Lisage andmed failis olemasolevaid andmeid muutmata

Oletame, et soovite kõigil lubada failil lihtsalt andmeid lisada ilma juba sisestatud andmeid muutmata või muutmata. Võite kasutada atribuuti ‘a’ järgmiselt.

 chattr +a example.txt

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

Pärast lisamisrežiimi seadistamist saab faili avada andmete kirjutamiseks ainult liitmisrežiimis. Atribuudi lisamine saab tühistada järgmiselt.

 chattr -a example.txt

Proovige nüüd asendada failis example.txt juba olemasolev sisu, kuvatakse viga „Operatsioon pole lubatud”.

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

Nüüd proovige olemasolevale failile example.txt uus sisu lisada ja see kinnitada.

 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. Kuidas katalooge turvata

Kogu kataloogi ja selle failide turvamiseks kasutame lülitit ‘-R’ (rekursiivselt) koos lipuga + i koos kausta täieliku teega.

 chattr -R +i myfolder

Pärast rekursiivse atribuudi määramist proovige kaust ja selle failid kustutada.

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

Loa tühistamiseks kasutame sama--R (rekursiivselt) lülitit koos -i-lipuga koos kausta täieliku teega.

 chattr -R -i myfolder

See on kõik! Chattr-i käsu atribuutide kohta lisateabe saamiseks kasutage lippe ja suvandeid käsulehti.