V Linuxu jsou atributy souborů vlastnostmi metadat, které popisují chování souboru. Atribut může například indikovat, zda je soubor komprimován, nebo určit, zda lze soubor odstranit.
Některé atributy, jako je neměnnost, lze nastavit nebo vymazat, zatímco jiné, jako je šifrování, jsou pouze pro čtení a lze je pouze prohlížet. Podpora určitých atributů závisí na používaném souborovém systému.
Tento článek vysvětluje, jak používat chattr
příkaz ke změně atributů souborů v souborových systémech Linux.
chattr
Syntaxe #
chattr
příkaz má následující obecný tvar:
chattr [OPTIONS] [OPERATOR][ATTRIBUTES] FILE...
Hodnota [OPERATOR]
část může být jeden z následujících symbolů:
+
- Operátor plus říkáchattr
přidat určené atributy ke stávajícím.-
- Operátor mínus říkáchattr
k odstranění specifikovaných atributů ze stávajících.=
- Rovný operátor říkáchattr
nastavit zadané atributy jako jediné atributy.
Za operátorem následuje jeden nebo více [ATTRIBUTES]
příznaky, které chcete přidat nebo odebrat z atributů souboru. Níže je uveden seznam několika běžných atributů a souvisejících příznaků:
a
- Když je tento atribut nastaven, soubor lze otevřít pouze v režimu připojení pro zápis.A
- Když je otevřen soubor s touto sadou atributů, jeho záznam atime se nezmění. atime (čas přístupu) je čas, kdy byl soubor naposledy otevřen/otevřen nějakým příkazem nebo aplikací.e
- Tento atribut označuje, že soubor používá rozsahy pro mapování bloků na disku.e
atribut nelze upravit pomocíchattr
.i
- Tento atribut označuje, že soubor je neměnný, což znamená, že soubor nelze smazat ani přejmenovat.
Pro úplný seznam všech atributů a příznaků souboru napište man chattr
ve vašem terminálu.
Ve výchozím nastavení nejsou atributy souboru zachovány při kopírování souboru pomocí příkazů jako cp
nebo rsync
.
chattr
Příklad #
Jedno z běžných použití chattr
je nastavit neměnný příznak na soubor nebo adresář, aby uživatelé nemohli soubor smazat nebo přejmenovat.
Atributy souboru můžete zobrazit pomocí lsattr
příkaz:
lsattr todo.txt
Níže uvedený výstup ukazuje, že pouze e
příznak je nastaven:
--------------e----- todo.txt
Chcete-li, aby byl soubor neměnný, přidejte i
příznak pomocí +
operátor na existující atributy:
sudo chattr +i todo.txt
Používáme sudobec, protože pouze root může změnit neměnný příznak.
Potvrďte, že je atribut přidán:
lsattr todo.txt
----i---------e----- todo.txt
Chcete-li vrátit změny a odstranit neměnný příznak, použijte -
operátor:
sudo chattr +i todo.txt
Pomocí chattr
, můžete přidat nebo odebrat více atributů najednou. Chcete-li například učinit soubor neměnným a říci jádru, aby nesledovalo čas posledního přístupu, použili byste:
sudo chattr +iA todo.txt
Poslední operátor, který můžete použít, je =
operátor. Chcete-li například nastavit e
atribut jako jediný atribut byste spustili:
sudo chattr "=e" todo.txt
Všimněte si, že operátor a příznak jsou uzavřeny v uvozovkách, aby se zabránilo interpretaci +
pomocí shellu postava.
Závěr č.
chattr
je nástroj příkazového řádku pro změnu atributů souborů v systému souborů Linux.
Pokud máte nějaké dotazy nebo zpětnou vazbu, neváhejte zanechat komentář.