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 ~]#
以上