Linuxコマンドlsattr 使い方と4つのオプション

Linuxコマンドlsattrは、ファイルやディレクトリに適用された属性を表示するコマンドです。通常のファイル一覧を確認するlsコマンドとは異なり、lsattrはファイルシステムで使用される特殊な属性を確認することができ、システム管理者がファイルを保護したり、特定の機能を制御する際に役立ちます。この記事では、lsattrコマンドの使い方とオプションについて詳しく説明し、実務でどのように活用できるかを解説します。

Linuxコマンドlsattrとは?

lsattrは、Linuxファイルシステムの属性を表示するコマンドで、主にext2、ext3、ext4などのファイルシステムで使用されます。ファイルやディレクトリの読み取り専用属性、変更禁止属性、削除防止属性などを確認することができます。これは、ファイルが意図せず変更されたり削除されたりするのを防ぐために重要な役割を果たします。

Linuxでは、ファイルやディレクトリの属性が非常に重要であり、これらの属性がファイルのセキュリティや整合性を維持するのに役立ちます。たとえば、重要なシステムファイルに対して削除防止属性を設定することで、意図しない削除から保護することができます。

lsattrコマンド使い方

lsattrコマンドの基本的な使い方は非常に簡単です。コマンドの後にファイルやディレクトリのパスを指定すると、そのファイルやディレクトリの属性を確認することができます。

lsattr [オプション] [ファイルまたはディレクトリのパス]
ShellScript

オプションを指定せずにlsattrを入力すると、現在のディレクトリ内のすべてのファイルの属性を確認できます。

lsattr
ShellScript

このコマンドを実行すると、現在のディレクトリにあるファイルの属性が、図のようにリスト形式で出力されます。各ファイルに適用された属性はファイル名の前に表示され、これらの文字はファイルの特性を示しています。

図1. Linuxコマンドlsattr: 現在のディレクトリ内にあるファイルとディレクトリの属性出力
図1. Linuxコマンドlsattr: 現在のディレクトリ内にあるファイルとディレクトリの属性出力

上記のように、ファイル名の前に表示されている各文字は、ファイルに設定された属性を示しています。これらの属性の意味は以下で説明します。

lsattrコマンド属性説明

lsattrコマンドの出力で確認できる属性文字は、ファイルやディレクトリに設定されたさまざまな特殊属性を表しています。主要な属性の意味は以下の通りです。

  • a: 追加モード(append-only) — ファイルへの内容の追加のみが許可され、既存の内容は修正できません。
  • i: 不変モード(immutable) — ファイルの変更や削除ができなくなります。非常に重要なシステムファイルによく使用されます。
  • d: ダンプ除外 — ファイルがバックアップ(ダンプ)時に除外されます。
  • e: 拡張属性 — ファイルに拡張属性が設定されていることを示します。
  • s: セキュア削除 — ファイルが削除される際、そのファイルのすべてのビットを0に上書きしてから削除されます。ext2、ext3、ext4では適用されないと言われています。安全にファイルを削除したい場合は、wipeやsrmでファイルを削除してください。
  • u: 復元可能 — ファイルが削除された後でも、ファイルの内容が復元可能な状態で残ります。

lsattrコマンドの主要オプション

lsattrコマンドは、さまざまなオプションと一緒に使用でき、出力形式を制御したり、特定のファイル属性のみを表示したりすることができます。主なオプションは以下の通りです。

  • -a: 隠しファイルを含む — デフォルトでは、名前が.で始まる隠しファイルは除外されますが、このオプションを使用すると隠しファイルも表示されます。
  • -d: ディレクトリ属性の表示 — ディレクトリの属性のみを表示します。デフォルトでは、ディレクトリ内のファイル属性も表示されます。
  • -R: 再帰的にサブディレクトリまで属性を表示 — 指定したディレクトリのサブディレクトリまで属性をすべて表示します。
  • -v: バージョン番号の表示 — ファイルのバージョン情報を確認できます。
lsattr -a
ShellScript

このコマンドは、隠しファイルを含む現在のディレクトリ内のすべてのファイルの属性を表示します。

図2. Linuxコマンドlsattr: -aオプションで隠しファイルを含むすべてのファイルの属性閲覧
図2. Linuxコマンドlsattr: -aオプションで隠しファイルを含むすべてのファイルの属性閲覧
lsattr -R /var/log
ShellScript

このコマンドは、/var/logディレクトリおよびそのサブディレクトリ内にあるファイルの属性を再帰的に確認します。

図3. Linuxコマンドlsattr: -Rオプションでサブディレクトリのファイルも再帰的に属性確認
図3. Linuxコマンドlsattr: -Rオプションでサブディレクトリのファイルも再帰的に属性確認

注意事項

lsattrコマンドは、ファイルやディレクトリの属性を読み取るためのものであり、ファイルの属性を変更することはできません。ファイルの属性を変更するには、chattrコマンドを使用する必要があります。たとえば、ファイルを削除できないように設定するには、chattr +iコマンドを使用して不変属性を追加できます。

また、lsattrコマンドはルート権限を必要としませんが、chattrで属性を変更する際にはルート権限が必要になる場合があります。したがって、ファイル属性の変更時には常に慎重に作業を行う必要があり、システムファイルの属性を安易に変更すると、予期しない問題が発生する可能性があります。

lsattrコマンドの活用方法

Linuxコマンドlsattrは、主にシステム管理で保護ファイルを確認するために使用されます。たとえば、重要な設定ファイルやログファイルにi属性を追加して不変モードに設定されたファイルであるかどうか、lsattrを通じて確認できます。

また、バックアップする必要のない一時ファイルやログファイルにd属性を追加し、バックアッププロセスで除外することができます。これにより、不要なファイルをバックアップしないことで、保存領域を節約できます。

まとめ

Linuxコマンドlsattrは、ファイルシステムの属性を確認する重要なツールです。ファイルの変更や削除を防ぐ不変属性(i)や、ファイル削除時に完全に上書きするセキュア削除属性(s)などは、ファイルの整合性を保護する上で重要な役割を果たします。ただし、特定のファイルシステムでは動作しない場合があるため、マニュアルを確認して使用することをお勧めします。

コマンド自体はシンプルですが、適切に活用することで、誤操作や悪意のあるファイル削除から重要なデータを保護することができます。したがって、Linuxシステム管理者は、このコマンドとその属性をよく理解し、必要に応じてファイル属性を設定することで、システムをより安全に運用することができます。

リファレンス

関連ポスト

コメントする