Linux chattr コマンド
Linux chattr コマンドは、ファイルまたはディレクトリの属性を変更するために使用されます。これらの属性はファイルシステムの動作を制御し、より高度なファイル管理機能を提供します。
よく使う属性構文
chattr [选项] [+/-/=属性] 文件或目录
よく使うオプション
-R: ディレクトリとそのサブディレクトリを再帰的に処理する-V: 詳細情報を表示する-v: バージョン情報を表示する
属性モード
+: 属性を追加する-: 属性を削除する=: 指定した属性に設定する
よく使う属性
| 属性 | 説明 |
|---|---|
a |
追記のみ:ファイルには内容を追記することしかできず、既存の内容を削除または変更することはできません(root 権限が必要です)。 |
i |
不変:ファイルは削除、変更、名前変更、またはハードリンクの作成ができません(root 権限が必要です)。 |
A |
ファイルの最終アクセス時間を更新しない(atime)。 |
c |
ファイルはディスク上で自動的に圧縮されます(一部のファイルシステムでサポートされています)。 |
s |
安全な削除:ファイルが削除されると、そのデータはゼロで上書きされます(復元不可)。 |
u |
ファイルが削除された後でも、その内容は復元できます(sその逆)。 |
d |
ファイルはdumpバックアップ時にスキップされます。 |
例
属性を追加(+):
sudo chattr +i file.txt # 设置文件为不可变(防删除/修改) sudo chattr +a /var/log/syslog # 日志文件只能追加
属性を削除(-):
sudo chattr -i file.txt # 取消不可变属性
属性をリセット(=):
sudo chattr =a file.txt # 移除所有属性,仅保留 `a`
重要な設定ファイルを保護する:
chattr +i /etc/passwd chattr +i /etc/shadow
ログファイルを追記のみに設定する:
chattr +a /var/log/messages
ディレクトリ属性を再帰的に設定する:
chattr -R +i /etc/important/
ファイル属性を表示する(lsattr コマンドを使用):
lsattr filename
出力例:
----i--------- file.txt # `i` 表示不可变その他の拡張
Linux コマンド大全