Weboldal keresés

5 „chattr” parancs a fontos fájlok megváltoztathatatlanná (változtathatatlanná) tételéhez Linux alatt


A chattr (Attribútum módosítása) egy parancssori Linux-segédprogram, amely egy fájl bizonyos attribútumainak beállítására/törölésére szolgál Linux rendszerben a fontos fájlok és mappák véletlen törlésének vagy módosításának biztosítására, még akkor is, ha Ön bejelentkezett. root felhasználóként.

A Linux natív fájlrendszereiben, azaz az ext2, ext3, ext4, btrfs stb. támogatja az összes jelzőt, bár az összes jelző nem támogatja az összes nem natív FS-t. Nem lehet törölni vagy módosítani a fájlt/mappát, ha az attribútumokat a chattr paranccsal beállítja, még akkor sem, ha teljes jogosultságokkal rendelkezik.

Ez nagyon hasznos attribútumok beállításához olyan rendszerfájlokban, mint a passwd és az árnyékfájlok, amelyekben a felhasználói adatok szerepelnek.

A chattr szintaxisa
chattr [operator] [flags] [filename]
Attribútumok és zászlók

Az alábbiakban felsoroljuk a gyakori attribútumokat, és a chattr paranccsal beállítható/hatástalanítható kapcsolódó zászlókat.

  1. Ha egy fájlhoz az „A” attribútum beállítása van beállítva, az időrekordja nem frissül.
  2. Ha egy fájlt „S” attribútumkészlettel módosítanak, a módosítások szinkron módon frissülnek a lemezen.
  3. A fájl ’a’ attribútummal van beállítva, íráshoz csak hozzáfűzés módban nyitható meg.
  4. A fájl „i” attribútummal van beállítva, nem módosítható (nem módosítható). Azt jelenti, hogy nincs átnevezés, nincs szimbolikus hivatkozás létrehozása, nincs végrehajtás, nem írható, csak a szuperfelhasználó tudja hatástalanítani az attribútumot.
  5. A „j” attribútummal rendelkező fájl be van állítva, és minden információja frissül az ext3 naplóban, mielőtt magára a fájlra frissülne.
  6. A fájl ’t’ attribútummal van beállítva, nincs összevonás.
  7. A „d” attribútummal rendelkező fájl többé nem készül biztonsági mentésre a kiíratási folyamat futtatásakor.
  8. Ha egy fájl „u” attribútuma törlésre kerül, az adatai mentésre kerülnek. Ez lehetővé teszi a felhasználó számára, hogy kérje a törlés visszavonását.
Operátor
  1. + : Hozzáadja az attribútumot a fájlok meglévő attribútumaihoz.
  2. : Eltávolítja a fájlok meglévő attribútuma attribútumait.
  3. = : Tartsa meg a fájlok meglévő attribútumait.

Itt bemutatunk néhány chattr-példát a fájl és mappák attribútumainak beállítására/törölésére.

1. Hogyan adjunk hozzá attribútumokat a fájlokhoz a törlés ellen

Bemutató céljára a demo mappát és az important_file.conf fájlt használtuk. Az attribútumok beállítása előtt győződjön meg arról, hogy a meglévő fájlok rendelkeznek-e attribútumokkal az „ls -l” paranccsal. Látta az eredményeket, jelenleg nincs beállítva attribútum.

[root@tecmint tecmint]# 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

Az attribútum beállításához a + jelet, a hatástalanításhoz pedig a jelet használjuk a chattr paranccsal. Tehát állítsunk be változtathatatlan bitet a fájlokon +i jelzővel, hogy megakadályozzuk, hogy bárki töröljön egy fájlt, még a root felhasználónak sincs engedélye a törlésére.

[root@tecmint tecmint]# chattr +i demo/
[root@tecmint tecmint]# chattr +i important_file.conf

Megjegyzés: A módosíthatatlan +i bitet csak szuperfelhasználó (azaz root) felhasználó állíthatja be, vagy egy sudo jogosultsággal rendelkező felhasználó is beállíthatja .

A megváltoztathatatlan bit beállítása után ellenőrizzük az attribútumot az „lsattr” paranccsal.

[root@tecmint tecmint]# lsattr
----i----------- ./demo
----i----------- ./important_file.conf

Most megpróbálta erőszakkal törölni, átnevezni vagy módosítani az engedélyeket, de nem engedélyezi a „A művelet nem engedélyezett” üzenetet.

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

2. Hogyan lehet törölni az attribútumot a Fájlokban

A fenti példában láthattuk, hogyan állíthatunk be attribútumot a fájlok véletlen törlésének biztosítására és megakadályozására, ebben a példában látni fogjuk, hogyan állíthatjuk vissza (unset attribútum) az engedélyeket, és hogyan lehet a fájlokat megváltoztathatóvá vagy módosíthatóvá tenni a < paranccsal.-i zászló.

[root@tecmint tecmint]# chattr -i demo/ important_file.conf

Az engedélyek visszaállítása után ellenőrizze a fájlok megváltoztathatatlan állapotát az „lsattr” paranccsal.

[root@tecmint tecmint]# lsattr
---------------- ./demo
---------------- ./important_file.conf

A fenti eredményekben látható, hogy a „-i” jelző eltávolítva, ami azt jelenti, hogy biztonságosan eltávolíthatja a tecmint mappában található összes fájlt és mappát.

[root@tecmint tecmint]# rm -rf *

[root@tecmint tecmint]# ls -l
total 0

3. Az /etc/passwd és /etc/shadow fájlok biztonságossá tétele

Az /etc/passwd vagy /etc/shadow fájlok megváltoztathatatlan attribútumának beállítása megvédi őket a véletlen eltávolítástól vagy manipulációtól, valamint letiltja a felhasználói fiók létrehozását.

[root@tecmint tecmint]# chattr +i /etc/passwd
[root@tecmint tecmint]# chattr +i /etc/shadow

Most próbáljon meg új rendszerfelhasználót létrehozni, és hibaüzenetet fog kapni, amely szerint „nem lehet megnyitni a /etc/passwd fájlt”.

[root@tecmint tecmint]# useradd tecmint
useradd: cannot open /etc/passwd

Így megváltoztathatatlan engedélyeket állíthat be fontos fájljaihoz vagy rendszerkonfigurációs fájljaihoz, hogy megakadályozza a törlést.

4. Adatok hozzáfűzése a fájl meglévő adatainak módosítása nélkül

Tegyük fel, hogy csak azt szeretné engedélyezni, hogy mindenki csak adatokat fűzzen egy fájlhoz anélkül, hogy módosítaná vagy módosítaná a már bevitt adatokat, akkor az „a” attribútumot az alábbiak szerint használhatja.

[root@tecmint tecmint]# chattr +a example.txt

[root@tecmint tecmint]# lsattr example.txt
-----a---------- example.txt

A hozzáfűzési mód beállítása után a fájl csak hozzáfűzés módban nyitható meg adatírásra. Az append attribútumot az alábbiak szerint törölheti.

[root@tecmint tecmint]# chattr -a example.txt

Most próbálja meg lecserélni a már meglévő tartalmat egy example.txt fájlban, ekkor a következő hibaüzenet jelenik meg: „A művelet nem engedélyezett”.

[root@tecmint tecmint]# echo "replace contain on file." > example.txt
-bash: example.txt: Operation not permitted

Most próbáljon új tartalmat fűzni egy meglévő example.txt fájlhoz, és ellenőrizze azt.

[root@tecmint tecmint]# echo "replace contain on file." >> example.txt
[root@tecmint tecmint]# cat example.txt
Here is the example to test 'a' attribute mean append only.
replace contain on file.

5. A címtárak biztonságossá tétele

A teljes könyvtár és fájljainak biztonsága érdekében a „-R” (rekurzív) kapcsolót használjuk a „+i” jelzővel, valamint a mappa teljes elérési útját.

[root@tecmint tecmint]# chattr -R +i myfolder

A rekurzív attribútum beállítása után próbálja meg törölni a mappát és a hozzá tartozó fájlokat.

[root@tecmint tecmint]# rm -rf myfolder/
rm: cannot remove 'myfolder/': Operation not permitted

Az engedély visszavonásához ugyanazt az „-R” (rekurzív) kapcsolót használjuk „-i” jelzővel, valamint a mappa teljes elérési útját.

[root@tecmint tecmint]# chattr -R -i myfolder

Ez az! Ha többet szeretne megtudni a chattr parancs attribútumairól, zászlóiról és opcióiról, használja a man oldalakat.