Linuxでは、ファイル属性はファイルの動作を説明するメタデータプロパティです。たとえば、属性はファイルを圧縮するかどうかを示したり、ファイルを削除できるかどうかを指定したりできます。
不変性などの一部の属性は設定またはクリアできますが、暗号化などの他の属性は読み取り専用で表示のみが可能です。特定の属性のサポートは、使用されているファイルシステムによって異なります。
この記事では、chattrの使用方法について説明します Linuxファイルシステムのファイル属性を変更するコマンド。
chattr 構文#
chattr コマンドは次の一般的な形式を取ります:
chattr [OPTIONS] [OPERATOR][ATTRIBUTES] FILE...
[OPERATOR]の値 パーツは、次のいずれかの記号にすることができます:
-
+-plus演算子は、chattrに指示します 指定した属性を既存の属性に追加します。 -
--マイナス演算子はchattrに指示します 指定した属性を既存の属性から削除します。 -
=-equal演算子は、chattrに指示します 指定された属性を唯一の属性として設定します。
演算子の後には、1つ以上の[ATTRIBUTES]が続きます。 ファイル属性に追加またはファイル属性から削除するフラグ。以下は、いくつかの一般的な属性と関連するフラグのリストです。
-
a-この属性が設定されている場合、ファイルは書き込み用に追加モードでのみ開くことができます。 -
A-この属性が設定されたファイルが開いている場合、そのatimeレコードは変更されません。 atime(アクセス時間)は、コマンドまたはアプリケーションによってファイルが最後にアクセス/開かれた時間です。 -
e-この属性は、ファイルがディスク上のブロックをマッピングするためにエクステントを使用していることを示します。echattrで属性を変更することはできません 。 -
i-この属性は、ファイルが不変であることを示します。つまり、ファイルを削除したり、名前を変更したりすることはできません。
すべてのファイル属性とフラグの完全なリストについては、man chattrと入力してください。 ターミナルで。
デフォルトでは、cpなどのコマンドを使用してファイルをコピーする場合、ファイル属性は保持されません。 またはrsync 。
chattr 例#
chattrの一般的な使用法の1つ 不変フラグをファイルまたはディレクトリに設定して、ユーザーがファイルを削除したり名前を変更したりできないようにすることです。
lsattrを使用してファイル属性を表示できます コマンド:
lsattr todo.txt
以下の出力は、eのみを示しています フラグが設定されています:
--------------e----- todo.txt
ファイルを不変にするには、iを追加します +でフラグを立てる 既存の属性の演算子:
sudo chattr +i todo.txt ルートのみが不変フラグを変更できるため、sudoを使用しています。
属性が追加されていることを確認します:
lsattr todo.txt ----i---------e----- todo.txt
変更を元に戻し、不変フラグを削除するには、-を使用します 演算子:
sudo chattr +i todo.txt
chattrを使用 、一度に複数の属性を追加または削除できます。たとえば、ファイルを不変にし、最後にアクセスした時刻を追跡しないようにカーネルに指示するには、次を使用します。
sudo chattr +iA todo.txt
使用できる最後の演算子は=です オペレーター。たとえば、eを設定するには 唯一の属性として属性を実行すると、次のようになります。
sudo chattr "=e" todo.txt
+のシェル解釈を避けるために、演算子とフラグは引用符で囲まれていることに注意してください キャラクター。
結論#
chattr Linuxファイルシステムのファイル属性を変更するためのコマンドラインツールです。
ご質問やご意見がございましたら、お気軽にコメントをお寄せください。