GNU/Linux >> Linux の 問題 >  >> Linux

初心者向けのLinuxchattrコマンドチュートリアル(5つの例)

多くの場合、Linuxマシンはさまざまなユーザーによって使用されています。したがって、これらのユーザーが共通のファイルセットにアクセスする可能性があります。これにより、重要なファイルを誤って削除したり編集したりするなどの問題が発生する可能性があります。これは、管理者としては絶対に起こりたくないことです。

ありがたいことに、 chattrと呼ばれるコマンドがあります -これは、特にこれらの種類のシナリオで役立つように開発されました。このチュートリアルでは、わかりやすい例を使用してこのツールについて説明します。ただし、その前に、ここでのすべての例がUbuntu18.04LTSとDebian10でテストされていることを言及する価値があります。

Linuxchattrコマンド

基本的に、chattrコマンドは、Linuxファイルシステムのファイル属性を変更するために使用されます。その構文は次のとおりです。

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

そして、manページには次のように書かれています:

       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.

以下は、chattrコマンドがどのように機能するかについての良いアイデアを与えるはずのQ&Aスタイルの例です。

Q1。 chattrコマンドの使用方法は?

ファイルを読み取り専用にしたいとします。したがって、必要なのは、+iオプションと入力としてファイルの名前を指定してchattrコマンドを実行することだけです。

例:

chattr +i test.txt

次のスクリーンショットは、chattrを使用して読み取り専用になった後、ファイルに対して他の操作が成功しなかったことを示しています。

:すでに観察したように、chattrコマンドを使用するにはroot権限が必要です。

Q2。 chattrによって課された読み取り専用の制限を削除するにはどうすればよいですか?

これは簡単です。必要なのは、+iの代わりに-iオプションを使用することだけです。例:

chattr -i test.txt

したがって、読み取り専用要素が-iオプションで削除されたことがわかります。

Q3。ファイルに追加専用のアクセス許可を与える方法は?

場合によっては、ファイルを完全に制限したくないことがあります。つまり、ユーザーにファイルへの追加専用アクセスを提供して、新しい情報を追加できるようにしたい場合がありますが、既存の情報を削除または編集することはできません。これは、+aオプションを使用してchattrを使用することでも可能です。

chattr +a test.txt

したがって、ファイルに追加することはできても、ファイル内の既存の情報を編集したり、ファイルを削除したりすることはできなかったことがわかります。この動作を元に戻すには、-aオプションを使用するだけです。

chattr -a test.txt

Q4。 chattrを使用してディレクトリ内のすべてのファイルに制限を適用するにはどうすればよいですか?

これは、フラグ-Rを使用して実行できます。これにより、ディレクトリとその内容の属性を再帰的に変更できます。たとえば、すべてのファイルを test-dir内に作成する場合 ディレクトリを読み取り専用として、次のようにchattrコマンドを使用します。

chattr -R +i ./test-dir/

次のスクリーンショットは、ディレクトリ内のすべてのファイルに読み取り専用の制限が正常に適用されたことを示しています。

Q5。ファイルに適用されているchattr属性を確認するにはどうすればよいですか?

これまで、chattr属性が正常に適用されたかどうかを確認するために、ファイルの編集や削除などの操作を実行してみました。ただし、属性が適用されたかどうかを簡単に確認できる別のコマンドがあります。問題のコマンドはlsattrです 。

lsattr [FILENAME]

たとえば、次のスクリーンショットは、「i」属性がディレクトリ内のすべてのファイルに適用されたことを明確に示すlsattr出力を示しています。

再確認するために、-iオプションを使用した後の出力を次に示します。

上のスクリーンショットでわかるように、読み取り専用属性がすべてのファイルから削除されました。

結論

システム管理者の場合、または一般的にLinuxマシンでユーザーを管理している場合は、chattrが必須のコマンドラインツールであることに同意するでしょう。コマンドを効果的に使用することで、多くの手間を省くことができます。この記事は、コマンドを使い始めるのに十分なはずです。ここで説明した例を練習したら、ツールのマニュアルページにアクセスして詳細を確認してください。


Linux
  1. 初心者向けのLinuxcdコマンドチュートリアル(8例)

  2. 初心者向けのLinux通信コマンドチュートリアル(5例)

  3. 初心者向けのLinux日付コマンドチュートリアル(8例)

  1. 初心者向けのLinuxdfコマンドチュートリアル(8例)

  2. 初心者向けのLinuxduコマンドチュートリアル(10例)

  3. 初心者向けのLinuxechoコマンドチュートリアル(5つの例)

  1. 初心者向けのLinuxenvコマンドチュートリアル(5つの例)

  2. 初心者向けのLinuxサイズのコマンドチュートリアル(6つの例)

  3. 初心者向けのLinuxkillコマンドチュートリアル(5つの例)