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.
- Kui failile pöördutakse atribuutide komplektiga A, ei värskendata selle atime-kirjet.
- Kui faili muudetakse atribuutide komplektiga S, värskendatakse muudatusi kettal sünkroonselt.
- Fail on määratud atribuudiga a, seda saab kirjutamiseks lisada ainult lisamisrežiimis.
- 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.
- Määratakse atribuudiga „j” fail, kogu selle teave värskendatakse ext3 päevikusse enne faili enda värskendamist.
- Failil on määratud atribuut ‘t’, ilma sabaühendamiseta.
- Atribuudiga „d” faili ei saa enam dumpingu käivitamise ajal varundada.
- Kui failil atribuut „u” kustutatakse, salvestatakse selle andmed. See võimaldab kasutajal paluda selle kustutamist.
- + : lisab atribuudi failide olemasolevale atribuudile.
- - : eemaldab atribuudi failide olemasolevale atribuudile.
- = : 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.