ふと、rootでも消せないファイルに出会った。
| 1 2 3 4 5 6 7 8 | # rm cant-delete.txt rm: `cant-delete.txt' を削除できません: 許可されていない操作です # whoami root # ls -l -rw-r--r-- 1 root root 9 12月 11 14:13 cant-delete.txt | 
なんでやねーん。と思っていろいろ調べたところ、lsattrコマンドで確認してみると良いとのこと。
| 1 2 | # lsattr cant-delete.txt ----i--------e-- cant-delete.txt | 
このiフラグが付いてると、例えrootであろうと、変更削除が出来ない。
このフラグを取るには、chattrにハイフン(-)取りたいフラグとしてあげればよい。
今回は、
| 1 2 3 4 | # chattr -i cant-delete.txt # lsattr cant-delete.txt -------------e-- cant-delete.txt | 
逆に付けたい場合は、プラス(+)
| 1 2 3 | # chattr +i cant-delete.txt # lsattr cant-delete.txt ----i--------e-- cant-delete.txt | 
他にも沢山フラグがあるようだが、
- i: ファイルの変更を許可しない。削除もリネームもできない。(immutable)
- a: ファイルの追加書き込みのみ許可する。(append)
- c: ファイルを圧縮してディスクに保存する。アプリレベルは影響を受けない。(compress)
使えそうなのは、このくらいかな。他にもあるけどよくわからん。
例えrootだろうと消したくないファイルがあったら、iを付けとけば、なにかの時に助かるかも。
	
日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)