GNU/Linux >> Znalost Linux >  >> Linux

Zabraňte souborům a složkám před náhodným smazáním nebo úpravou v systému Linux

Někdy nepřemýšlím přímo a omylem „SHIFT+DELETE“ svá data. Horší je, že data před smazáním ani nezálohuji. Pokud jste na tom podobně jako já, máme pro vás dobrou zprávu. Znám užitečný nástroj příkazového řádku s názvem "chattr" který se používá k ochraně souborů a složek před náhodným smazáním nebo úpravou v Linuxu.

Chattr, zkratka pro Ch ange Attr ibute, použije/odstraní určité atributy na soubor nebo složku ve vašem systému Linux. Nikdo tedy nemůže smazat nebo upravit soubory a složky ani náhodně, ani úmyslně, ani jako uživatel root . Zní to užitečně, že? Opravdu!

Zabraňte souborům a složkám před náhodným smazáním nebo úpravou v Linuxu pomocí Chattr

Ve výchozím nastavení je Chattr předinstalovaný v mnoha operačních systémech Linux. Nezatěžujme se tedy instalací.

Výchozí syntaxe příkazu chattr je:

chattr [operator] [switch] [filename]

chattr má následující operátory:

  • Operátor '+ ' způsobí, že se vybrané atributy přidají ke stávajícím atributům souborů.
  • Operátor '- ' způsobí jejich odstranění.
  • Operátor '= ' způsobí, že jsou jedinými atributy, které soubory mají.

Chattr má různé atributy, jmenovitě - aAcCdDeijsStTu . Každé písmeno aplikuje určité atributy na soubor, jak je uvedeno níže.

  • a - pouze připojit,
  • A - žádné aktualizace času,
  • c - komprimovaný,
  • C - žádná kopie při zápisu,
  • d - žádná skládka,
  • D - synchronní aktualizace adresářů,
  • e - formát rozsahu,
  • i - neměnný,
  • j - žurnálování dat,
  • P - hierarchie projektu,
  • s - bezpečné smazání,
  • S - synchronní aktualizace,
  • t - žádné slučování ocasu,
  • T - vrchol hierarchie adresářů,
  • u - nesmazatelné.

V tomto tutoriálu budeme diskutovat o použití dvou atributů, konkrétně a , i které se používají k zabránění smazání souborů a složek.

Zabraňte náhodnému smazání souborů v systému Linux

Dovolte mi vytvořit soubor s názvem file.txt v mém aktuálním adresáři.

$ touch file.txt

Nebo,

$ > file.txt

Nyní použiji "i " atribut, díky kterému je soubor neměnný. To znamená - nemůžete smazat, upravit soubor, i když jste vlastník souboru a uživatel root.

$ sudo chattr +i file.txt

Atributy souboru můžete zkontrolovat pomocí příkazu:

$ lsattr file.txt

Ukázkový výstup:

----i---------e---- file.txt

Nyní zkuste soubor odstranit buď jako normální uživatel, nebo s právy sudo.

$ rm file.txt

Ukázkový výstup:

rm: cannot remove 'file.txt': Operation not permitted

Zkusím to pomocí příkazu sudo:

$ sudo rm file.txt

Ukázkový výstup:

rm: cannot remove 'file.txt': Operation not permitted

Zkusme přidat nějaký obsah do textového souboru.

$ echo 'Hello World!' >> file.txt

Ukázkový výstup:

bash: file.txt: Operation not permitted

I když se pokusíte odstranit soubor ze správce souborů v režimu GUI, nemůžete jej smazat.

Jak jste si všimli ve výše uvedených výstupech, nemůžeme smazat nebo upravit soubor ani jako uživatel root.

Chcete-li atributy zrušit, stačí použít "-i " přepněte, jak je znázorněno níže.

$ sudo chattr -i file.txt

Nyní byl atribut immutable odstraněn. Nyní můžete soubor upravit nebo smazat, jak chcete.

$ echo 'Hello World!' >> file.txt
$ cat file.txt
Hello World!
$ rm file.txt

Podobně můžete zabránit náhodnému smazání nebo úpravě adresářů, jak je popsáno v další části.

Zabraňte náhodnému smazání a úpravě složek v systému Linux

Vytvořte adresář s názvem dir1 a soubor s názvem file.txt uvnitř tohoto adresáře.

$ mkdir dir1 && touch dir1/file.txt

Nyní udělejte tento adresář a jeho obsah (file.txt) neměnný pomocí příkazu:

$ sudo chattr -R +i dir1

Kde,

  • -R - učiní dir1 a jeho obsah rekurzivně neměnnými.
  • +i - učiní adresář neměnným.

Nyní zkuste smazat adresář buď jako normální uživatel, nebo pomocí sudo user.

$ rm -fr dir1
$ sudo rm -fr dir1

Získáte následující výstup:

rm: cannot remove 'dir1/file.txt': Operation not permitted

Zkuste do souboru přidat nějaký obsah pomocí "echo ". Zvládli jste to? Samozřejmě, že jste nemohli!

Chcete-li atributy zpět odvolat, spusťte:

$ sudo chattr -R -i dir1

Nyní můžete smazat nebo upravit obsah tohoto adresáře jako obvykle.

Zabránit náhodnému smazání souborů a složek, ale povolit operaci připojení v systému Linux

Nyní víme, jak zabránit náhodnému smazání a úpravě souborů a složek. Dále zabráníme smazání souborů a složek, ale povolíme zápis souboru pouze v režimu připojení. To znamená, že nemůžete upravovat, upravovat existující data v souboru, přejmenovat soubor a odstranit soubor. Soubor můžete otevřít pro zápis pouze v režimu připojení.

Chcete-li nastavit přiřazení režimu připojení k souboru/adresáři, provedeme následující:

Pro soubory:

$ sudo chattr +a file.txt

Pro adresáře: 

$ sudo chattr -R +a dir1

Soubor/složku s atributem 'a' lze otevřít pouze v režimu připojení pro zápis.

Přidejte do souboru (souborů) nějaký obsah, abyste ověřili, zda funguje nebo ne.

$ echo 'Hello World!' >> file.txt
$ echo 'Hello World!' >> dir1/file.txt

Zkontrolujte obsah souboru pomocí příkazu cat:

$ cat file.txt
$ cat dir1/file.txt

Ukázkový výstup:

Hello World!

Jak vidíte, můžeme být schopni připojit obsah. To znamená, že můžeme upravovat soubory a složky.

Pokusme se nyní soubor nebo složku smazat.

$ rm file.txt

Výstup:

rm: cannot remove 'file.txt': Operation not permitted

Zkusme smazat složku:

$ rm -fr dir1/

Nebo zkuste sudo:

$ sudo rm -fr dir1/

Ukázkový výstup:

rm: cannot remove 'dir1/file.txt': Operation not permitted

Chcete-li atributy odebrat, spusťte následující příkazy:

Pro soubory:

$ sudo chattr -R -a file.txt

Pro adresáře: 

$ sudo chattr -R -a dir1/

Nyní můžete smazat nebo upravit soubory a složky jako obvykle.

Další podrobnosti naleznete na manuálových stránkách.

$ man chattr

Koneckonců

Zálohování a ochrana dat je jedním z hlavních úkolů správce Linuxu. Na trhu je k dispozici řada bezplatných a komerčních programů pro ochranu dat. Naštěstí máme tento vestavěný nástroj, který nám pomáhá chránit data před náhodným smazáním nebo úpravou. Chattr lze použít jako další nástroj k ochraně důležitých systémových souborů a dat ve vašem systému Linux.

Doporučené čtení:

  • Snadný způsob ochrany souborů před náhodným smazáním v systému Linux
  • Jak se vyhnout náhodnému vypnutí nebo restartu v systému Linux

Linux
  1. Jak extrahovat soubory .gz a .tar.gz v Linuxu

  2. Jak šifrovat a dešifrovat soubory/složky v Linuxu pomocí GnuPG

  3. Metamorphose 2 – Dávkové přejmenování souborů a složek v systému Linux

  1. Snadný způsob, jak skrýt soubory a adresáře v Linuxu

  2. Jak odstranit soubory a adresáře v Linuxu z příkazového řádku

  3. Jak zabránit úpravám, mazání a přejmenování souborů/adresářů v Linuxu?

  1. Graficky porovnejte soubory a složky v Linuxu s Meldem

  2. Jak rozdělit a kombinovat soubory z příkazového řádku v Linuxu

  3. Jak zabránit náhodnému smazání souboru a zotavit se z něj v Linuxu