chattr
コマンドで、変更不可等のファイル属性を変更することができます。
lsattr
コマンドで、ファイルの属性情報を表示することができます。
環境
- OS : CentOS Linux release 8.5.2111
- bash : GNU bash, バージョン 4.4.20(1)-release (x86_64-redhat-linux-gnu)
実行結果
[root@centos85 ~]# cat /etc/redhat-release
CentOS Linux release 8.5.2111
[root@centos85 ~]# bash --version
GNU bash, バージョン 4.4.20(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2016 Free Software Foundation, Inc.
ライセンス GPLv3+: GNU GPL バージョン 3 またはそれ以降 <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
[root@centos85 ~]#
1. chattr コマンド
chattr
コマンドの書き方は以下の通りです。
chattr [オプション] [設定する属性] [対象のファイルやディレクトリ]
代表的なオプションは以下の通りです。
オプション | 説明 |
---|---|
-v | ファイルの世代情報を設定する |
-R | 対象にディレクトリがある場合はその中身も再帰的に設定する |
-V | バージョン情報を表示する |
代表的な属性は以下の通りです。
属性 | 説明 |
---|---|
a | 追記のみ可能とする |
c | ファイルを圧縮する |
d | dumpの対象外とする |
e | 拡張フォーマットを使用する |
i | 変更できなくする |
j | データのジャーナリングを行う |
s | 安全な削除(データブロック内を消去) |
t | 末尾のマージをできなくする |
u | 削除できなくする |
A | atime(アクセス時刻)を更新しない |
D | ディレクトリを同期的に更新する |
S | 同期的に更新する |
2. lsattr コマンド
lsattr
コマンドの書き方は以下の通りです。
lsattr [オプション] [対象のファイルやディレクトリ]
代表的なオプションは以下の通りです。
オプション | 説明 |
---|---|
-a | 全てのファイルおよびディレクトリを表示する |
-d | ディレクトリの内容ではなく、ディレクトリそのものを表示する |
-v | ファイルの世代情報を設定する |
-R | 対象にディレクトリがある場合はその中身も再帰的に設定する |
-V | バージョン情報を表示する |
3. 使用例
使用例は以下の通りです。
ファイルの属性情報を参照する。
lsattr sample.txt
実行例
[root@centos85 ~]# lsattr sample.txt
-------------------- sample.txt
[root@centos85 ~]#
ファイルを変更不可にする。
chattr +i sample.txt
実行例
[root@centos85 ~]# chattr +i sample.txt
[root@centos85 ~]#
変更後のファイルの属性情報を参照する。
lsattr sample.txt
実行例
[root@centos85 ~]# lsattr sample.txt
----i--------------- sample.txt
[root@centos85 ~]#
ファイルを変更できるよう元に戻す。
chattr -i sample.txt
実行例
[root@centos85 ~]# chattr -i sample.txt
[root@centos85 ~]#
元に戻した後のファイルの属性情報を参照する。
lsattr sample.txt
実行例
[root@centos85 ~]# lsattr sample.txt
-------------------- sample.txt
[root@centos85 ~]#
以上