Egyszerű fájlvédelem felülírás és törlés ellen Linuxon

Fájl védelem
Fájl védelem

Egy véletlen fájltörlés az egyik legbosszantóbb eset, hiszen ha nincs mentésünk, akkor örökre elveszett. Bár a modernebb „felhasználóbarát” grafikus terjesztések használnak „lomtárat”, de ez csak egy ideiglenes megoldás. Bár vissza lehet hozni egy véletlenül törölt állományt, de egy felülírtat, átszerkesztettet nem. Az sem túl kellemes, ha van egy jól beállított config fájlod és egy frissítés, vagy öntevékeny program azt felülírja. Az is bosszantó, ha egy sablont használsz és elfelejted a szerkesztett változatot más névvel menteni, a kedvenc sablonodból törölgetheted ki a szerkesztéseket.

Ha ezek bosszantanak, vagy zavarnak, akkor olvass tovább!

Ideális lenne, valami mód megakadályozni, hogy egy fájlt felül tudjunk írni, vagy változtatni rajta és főleg ne tudjuk azt törölni..
Több megoldás is létezik, én az alapparancsokat használó parancssoros megoldást mutatom be.

Egyszerű fájlvédelem felülírás és törlés ellen Linuxon

Ez a

chattr

parancs. Ez nem tesz mást, mint valamilyen tulajdonságot rendel a fájlhoz. Sok ilyen lehetőség van, amiről a man oldalakon tájékozódhatsz. Tedd is meg! Fontos, hogy csak olyant változtass meg, vagy állítsd át, amiről konkrétan tudod, hogy mit fog csinálni! Mi most csak egy attribútummal foglalkozunk, ami megfelel a célunknak.

A leírás azt mondja, hogy:

Az ‘i’ attribútummal rendelkező fájl nem módosítható: nem törölhető vagy átnevezhető, erre a fájlra semmilyen hivatkozás nem hozható létre, és a fájlba nem lehet adatokat írni. Csak a root felhatalmazó vagy a CAP_LINUX_IMMUTABLE képességgel rendelkező folyamat állíthatja be, vagy törölheti ezt az attribútumot.

Pontosan ez kell nekem!

Azaz emelt jog kell, és gyakorlatilag immunitássá tesszük a fájlt minden változtatásra. Olvashatjuk, másolhatjuk, de nem tudunk bele írni és nem tudjuk törölni, átnevezni. Ez az ami nekünk most kell.

chattr +i vedeni_akart_fajl.kit

Ez megváltoztatja a fájl attribútumát “abszolút védetté”. Ha a fájlattribútum immúnis, még a root felhasználók sem törölhetik a fájlt. A fájlt senki sem változtathatja meg. A fájl törléséhez (vagy módosításához) meg kell változtatni a fájlattribútumot újra.

chattr -i módosítani_akart_fajl.kit

Nyilván ezt is root-ként kell megtenni.

Aki megtette, mit az elején javasoltam (olvasgasd a man-t) annak nem lesz új a következő sem. Nyilván sok esetben nem egy fájt akarunk védeni, hanem egy teljes könyvtárat. Ezt az „-R” kapcsolóval tehetjük meg:

chattr -R +i /home/username/könyvtár

Így már biztonságban van az összes fájl. Ezután sem a könyvtár, sem a benne lévő fájlok nem törölhetők mindaddig, amíg a nem állítjuk vissza a tulajdonságokat. A fenti paranccsal legyünk óvatosak, hiszen vannak olyan fájlok, melyeket a rendszer folyamatosan ír, így nem lenne túl jó ezeket immúnissá tenni. Vissza tudjuk állítani egy pillanat alatt, de amíg rá nem jövünk, hogy mi okozza a fura viselkedését a programnak…

A chattr parancs lehetővé teszi a helyettesítő karakterek használatát is. Hasonló eredményeket érhetünk el azáltal, hogy a védett fájlokat tartalmazó könyvtárban kiadjuk a következő parancsot:

chattr +i  *. *

Ezzel a könyvtár összes fájlját immunizálja, így nem lehet törölni. De nyilván bármely megszokott és a fájlműveleteknél használatos helyettesítő megoldásokat is használhatjuk.

Az attribútumok lekérdezhetők az

lsattr

paranccsal. Így mindig tudjuk, hogy milyen tulajdonságot rendeltünk a fájlhoz.

Ami fontos: a sok-sok attribútum közül csak eggyel foglalkoztunk. Illetve – de ez egyértelmű – egyik megoldás sem véd meg a formázással járó veszteségtől, nem helyettesíti az adatmentést.

Talán jó ötlet az adatmentésünket immúnissá tenni a véletlen módosítás ellen.

Ami fontos: eltérő programok eltérően reagálnak az immunitásra. Egy sima szövegfájlon próbálgattam ki a lehetőséget. Ha geany-al nyitottam meg, akkor szerkeszthettem, de nem engedte menteni a fájlt, csak „mentés másképp”, de ha ugyanezt LibreWriter-rel nyitottam meg, akkor már azt jelezte, hogy csak olvasható és szerkeszteni nem engedi, és menteni kellett előbb másképp. Azaz mindenképp megmaradt az eredeti fájl, védetten a belepiszkálástól.

Ha sokat használod ezt a lehetőséget, és a SpaceFM Linuxos fájlkezelőt, akkor egy command-ot is írhatsz hozzá.

Az adatok mentésével, a biztonsággal, adat visszaállítással sokat foglalkoztunk, így érdemes a lehetőségek közül mindig a legjobbat kiválasztani.

Related Posts