Pokud chcete zabránit tomu, aby byl jakýkoli soubor upraven, smazán nebo přejmenován, budete u něj muset nastavit příznak neměnný. Může být nastaven na soubory nebo adresáře. Jakmile je přidán neměnný příznak, soubory/složky nelze upravovat ani mazat. Pokud jste přidali neměnný příznak a chcete provést změny ve svých souborech, budete muset neměnný příznak odstranit. Je to rozšířený atribut systému souborů.
Chcete-li nastavit neměnný příznak, postupujte podle následujících kroků. Pro nastavení neměnného příznaku se budete muset přihlásit jako root.
- Nejprve pomocí níže uvedeného příkazu vytvoříme soubor s názvem test.txt.
# touch test.txt
- Pro kontrolu rozšířeného atributu použijte příkaz lsattr. Ve výchozím nastavení je přítomno pouze „e“.
# lsattr test.txt
- Do souboru test.txt přidáme nějaký obsah a měl by fungovat dobře, protože jsme zatím neprovedli žádné změny.
# echo This is a test of immutable flage >> test.txt
# cat test.txt - Použijme příkaz chattr k nastavení příznaku +i. Zde mám na mysli neměnné.
# sudo chattr +i test.txt
- Nyní použijeme níže uvedený příkaz k ověření neměnnosti pro soubor test.txt
# lsattr test.txt
Výstup :
----i---------e---- test.txt
- Podle výše uvedeného výstupu je soubor test.txt nyní neměnný. Pokusíme se upravit nebo smazat stejný soubor.
# echo test-modification >> test.txt
-bash: test.txt: Permission denied# rm -f test.txt
rm: cannot remove ‘test.txt’: Operation not permitted# mv test.txt test2.txt
mv: cannot move ‘test.txt’ to ‘test2.txt’: Operation not permittedPodle výše uvedené chyby vidíme, že soubor nelze upravit nebo odstranit, protože jsme na něj nastavili neměnný příznak. Vezměte prosím na vědomí, že pokud nastavíte neměnný pro kteroukoli složku, nastaví se příznak neměnný pro celé soubory/složky ve stejné složce.
- Pokud chcete provést změny ve stejném souboru, budete muset odstranit neměnný soubor. Následující příkaz odstraní neměnný příznak z libovolného souboru.
# chattr -i test.txt
- Ověříme, že nebyl odstraněn neměnný příznak.
# lsattr test.txt
Výstup:
-------------e-- test.txt
Nyní můžete soubor bez problémů upravit nebo smazat.