Úvod
chattr příkaz v Linuxu je příkaz systému souborů, který se používá pro změnu atributů souboru v adresáři. Primárním použitím tohoto příkazu je znemožnit změnu několika souborů jiným uživatelům než superuživateli. Jak víme, Linux je operační systém pro více uživatelů, existuje možnost, že uživatel může smazat soubor, který je pro jiného uživatele velmi důležitý, říká administrátor. Aby se předešlo podobným scénářům, Linux poskytuje „chattr ‘. Stručně řečeno, „chattr“ může učinit soubor neměnným, nesmazatelným, pouze připojitelným a mnoho dalších!
Souhrn
chattr [ -RVf ] [ -v version ] [ mode ] files...
Na začátku řetězce režimu se musí objevit jeden z následujících operátorů:
- ‘+ ‘ :Přidání vybraných atributů ke stávajícím atributům souborů.
- A „– ‘ :Způsobí odstranění vybraných atributů.
- ‘= ‘ :Způsobí, že vybrané atributy jsou jedinými atributy, které soubory mají.
Formát symbolického režimu je:
{+|-|=}[aAcCdDeijsStTu]
Níže je uveden seznam běžných atributů a související příznaky lze nastavit/zrušit pomocí příkazu chattr:
- A set :Záznam času nebyl aktualizován.
- S set :Změny se synchronně aktualizují na disku.
- a set :Soubor lze otevřít pouze_v režimu připojení pro zápis.
- i set :Soubor nelze upravit (neměnný), jediný superuživatel může zrušit nastavení atributu.
- j set :Všechny informace o souborech jsou aktualizovány do žurnálu ext3, než jsou aktualizovány na samotný soubor.
- t set :Není povoleno slučování koncových částí.
- d set :Žádný další kandidát na zálohování při procesu výpisu .
- u set :Když je takový soubor smazán, jeho data se uloží, což uživateli umožní požádat o jeho obnovení.
Takže níže jsou různé možnosti příkazu chattr:
- -R :Používá se k rekurzivnímu zobrazení atributů seznamu adresářů a jejich obsahu.
- -V :Zobrazí verzi programu.
- -a :Používá se k zobrazení seznamu všech souborů v adresáři, který také obsahuje adresář, jehož název začíná tečkou(‘.’).
- -d :Tato možnost vypíše adresáře jako běžné soubory namísto jejich obsahu.
- -v :Používá se k zobrazení čísla verze/generace souboru atd.
Použití chattr Příkaz: Chattr' lze použít k zachování některých systémových souborů, které jsou velmi důležité a musí zůstat v hostitelském počítači bez ohledu na to, co se děje. Je to také nutné, aby byl adresář nesmazatelný nebo nemodifikovatelný pro jiné uživatele než superuživatele. Běžné použití „chattr“ je následující:-
chattr [OPERATOR][Flags] FILE
Použijte atribut ‚i‘, aby byl soubor neměnný
Příkaz „chattr“ slouží k tomu, aby byly soubory neměnné. Immutable znamená, že soubor nelze přesunout, přejmenovat nebo odstranit.
Zde dáme příznak ‚i‘ souboru s názvem „unixcop.txt“ jako příklad:
[qadry@unixcop ~]# chattr +i unixcop.txt
[qadry@unixcop ~]#
[qadry@unixcop ~]# lsattr
----i--------------- ./unixcop.txt
[qadry@unixcop ~]#
Můžete použít "lsattr" zkontrolovat atributy souboru.
Jak můžete vidět na snímku obrazovky výše, atribut „i“ byl nastaven a soubor se stal neměnným.
Atribut ‚i‘ lze také_ použít k tomu, aby byly adresáře neměnné.
Odeberte ze souboru atribut „i“
Jakmile je atribut ‚i‘ nastaven, soubor lze změnit nebo smazat pouze poté, co atribut odstraní uživatel root. Použijte operátor ‚-‘ s možností odebrat atribut:
[qadry@unixcop ~]# chattr -i unixcop.txt
[qadry@unixcop ~]#
[qadry@unixcop ~]# lsattr
-------------------- ./unixcop.txt
[qadry@unixcop ~]#
použijte atribut ‚a‘ k otevření souboru v režimu připojení
K otevření souboru v režimu připojení můžeme použít atribut ‚a‘. V režimu přidávání mohou uživatelé pouze připojovat data k souboru, aniž by měnili data, která již v souboru jsou.
[qadry@unixcop ~]# chattr +a unixcop.txt
[qadry@unixcop ~]#
[qadry@unixcop ~]# lsattr
-----a-------------- ./unixcop.txt
[qadry@unixcop ~]#
Jak můžete vidět na obrázku níže, když se pokusím přidat další data do textového souboru pomocí příkazu echo, terminál mi zobrazí chybu:
[qadry@unixcop ~]# echo "Hello Unixcop" > unixcop.txt
-bash: unixcop.txt: Operation not permitted
[qadry@unixcop ~]#
Data do souboru můžeme připojit pomocí operátoru „>>“ namísto „>“:
[qadry@unixcop ~]# echo "Hello Unixcop" >> unixcop.txt
[qadry@unixcop ~]# cat unixcop.txt
Hello Unixcop
[qadry@unixcop ~]#
Zabezpečení adresářů
Příznak +i' lze použít pro adresář (jak je uvedeno níže), aby byl adresář neměnný. Také se zde používá příznak -R', díky kterému je volání rekurzivní a všechny podsoubory a adresáře jsou také neměnné.
[qadry@unixcop ~]# chattr -R +i temp/
[qadry@unixcop ~]# rm -rf temp/
rm: cannot remove 'temp/': Operation not permitted
[qadry@unixcop ~]# lsattr -R temp/
-----i--------e------ temp/unixcop_file.txt
[qadry@unixcop ~]# chattr -R -i temp/
[qadry@unixcop ~]# lsattr -R temp/
--------------e------ temp/unixcop_file.txt
[qadry@unixcop ~]#
Přidejte atribut ‚j‘ pro aktualizaci dat souboru do deníku ext3
Pomocí atributu ‚j‘ budou data atributu files_aktualizována do žurnálu ext3 před samotným souborem:
[qadry@unixcop ~]# chattr +j unixcop.txt
[qadry@unixcop ~]#
[qadry@unixcop ~]# lsattr
-----j-------------- ./unixcop.txt
[qadry@unixcop ~]#
Závěr
Příkaz „chattr“ je velmi užitečný nástroj pro administrátory. Umožňuje jim upravovat oprávnění k souborům, což pomáhá chránit důležité soubory a zabraňuje jejich změnám.