GNU/Linux >> Znalost Linux >  >> Linux

Linux chattr Command Tutorial pro začátečníky (5 příkladů)

Mnohokrát je počítač se systémem Linux používán různými uživateli. Existuje tedy šance, že tito uživatelé přistupují ke společné sadě souborů. To otevírá dveře problémům, jako je náhodné smazání nebo úprava důležitých souborů, což byste jako správce rozhodně nechtěli.

Naštěstí existuje příkaz – nazvaný chattr - který byl vyvinut, aby vám pomohl konkrétně v těchto typech scénářů. V tomto tutoriálu budeme diskutovat o tomto nástroji pomocí několika snadno srozumitelných příkladů. Ale než to uděláme, stojí za zmínku, že všechny příklady zde byly testovány na Ubuntu 18.04 LTS a Debianu 10.

Příkaz chattr pro Linux

V zásadě se příkaz chattr používá ke změně atributů souborů v systému souborů Linux. Následuje jeho syntaxe:

chattr [ -RVf ] [ -v version ] [ mode ] files...

A zde je to, co o tom říká manuálová stránka:

       chattr changes the file attributes on a Linux file system.

       The format of a symbolic mode is +-=[aAcCdDeijsStTu].

       The  operator  '+'  causes  the  selected attributes to be added to the
       existing attributes of the files; '-' causes them to  be  removed;  and
       '=' causes them to be the only attributes that the files have.

       The  letters  'aAcCdDeijsStTu' select the new attributes for the files:
       append only (a), no atime updates (A), compressed (c), no copy on write
       (C), no dump (d), synchronous directory updates (D), extent format (e),
       immutable (i), data journalling (j), secure deletion  (s),  synchronous
       updates  (S),  no tail-merging (t), top of directory hierarchy (T), and
       undeletable (u).

       The following attributes are read-only, and may be listed by  lsattr(1)
       but  not  modified  by  chattr:  compression  error (E), huge file (h),
       indexed directory (I), inline data (N), compression raw access (X), and
       compressed dirty file (Z).

       Not  all  flags  are supported or utilized by all filesystems; refer to
       filesystem-specific man pages such as btrfs(5), ext4(5), and xfs(5) for
       more filesystem-specific details.

Následuje několik příkladů ve stylu otázek a odpovědí, které by vám měly poskytnout dobrou představu o tom, jak příkaz chattr funguje.

O1. Jak používat příkaz chattr?

Předpokládejme, že chcete vytvořit soubor pouze pro čtení. Takže vše, co musíte udělat, je spustit příkaz chattr s volbou +i a názvem souboru jako vstupem.

Například:

chattr +i test.txt

Následující snímek obrazovky ukazuje, že žádná další operace se souborem nebyla úspěšná, jakmile se stal pomocí chattr pouze pro čtení.

Poznámka :Jak jste si již všimli, k použití příkazu chattr musíte mít oprávnění root.

O2. Jak odstranit omezení pouze pro čtení uložené chattr?

To je jednoduché - vše, co musíte udělat, je použít volbu -i místo +i. Například:

chattr -i test.txt

Takže můžete vidět, že faktor pouze pro čtení byl odstraněn pomocí volby -i.

O3. Jak udělit oprávnění pouze k připojení k souboru?

Někdy možná nebudete chtít úplné omezení souboru. Chci tím říct, že možná budete chtít uživatelům poskytnout přístup k souboru pouze s připojením, aby bylo možné přidávat nové informace, ale stávající informace nelze smazat ani upravit. To je také možné pomocí chattr přes volbu +a.

chattr +a test.txt

Takže můžete vidět, že jsme mohli připojit k souboru nyní, ale nemohli upravit existující informace v souboru, stejně jako odstranit soubor. Chcete-li toto chování zvrátit, použijte volbu -a.

chattr -a test.txt

Q4. Jak použít omezení pomocí chattr na všechny soubory v adresáři?

To lze provést pomocí parametru -R, který umožňuje rekurzivně měnit atributy adresářů a jejich obsah. Pokud například chcete vytvořit všechny soubory v test-dir adresář pouze pro čtení, použijte příkaz chattr následujícím způsobem:

chattr -R +i ./test-dir/

Následující snímek obrazovky ukazuje, že omezení pouze pro čtení bylo úspěšně aplikováno na všechny soubory v adresáři.

O5. Jak zkontrolovat atributy chattr použité u souborů?

Až dosud jsme zkoušeli provádět operace, jako je úprava souboru nebo jeho odstranění, abychom zkontrolovali, zda byl atribut chattr úspěšně použit. Existuje však samostatný příkaz, který vám umožní snadno zjistit, zda byly atributy použity nebo ne. Dotyčný příkaz je lsattr .

lsattr [FILENAME]

Například následující snímek obrazovky ukazuje výstup lsattr, který jasně naznačuje, že atribut 'i' byl použit na všechny soubory v adresáři.

Jen pro opětovné potvrzení, zde je výstup po použití volby -i.

Takže na výše uvedeném snímku obrazovky můžete vidět, že atribut pouze pro čtení byl ze všech souborů odstraněn.

Závěr

Pravděpodobně budete souhlasit s tím, že chattr je nezbytný nástroj příkazového řádku, pokud jste správce systému nebo obecně spravujete uživatele na počítači se systémem Linux. Efektivní používání příkazu vám může ušetřit spoustu potíží. Tento článek by vám měl stačit, abyste s příkazem začali. Až si procvičíte příklady, o kterých jsme zde diskutovali, přejděte na manuálovou stránku nástroje, kde se o něm dozvíte více.


Linux
  1. Linux cd command tutorial pro začátečníky (8 příkladů)

  2. Výuka příkazů Linux pro začátečníky (5 příkladů)

  3. Linux Date Command Tutorial pro začátečníky (8 příkladů)

  1. Linux df Command Tutorial pro začátečníky (8 příkladů)

  2. Linux du Command Tutorial pro začátečníky (10 příkladů)

  3. Výukový program Linux echo Command pro začátečníky (5 příkladů)

  1. Linux env Command Tutorial pro začátečníky (5 příkladů)

  2. Návod k příkazu velikosti Linuxu pro začátečníky (6 příkladů)

  3. Linux kill Command Tutorial pro začátečníky (5 příkladů)