共有ディレクトリは削除されたくない。
しかし、ディレクトリを削除不能にすると、その中のファイル操作 (追加・削除等) まで不能になってしまう。
それを避けるためここでは、中に削除できないファイルを作成することにより、共有ディレクトリの削除を不能にします。
項目 内容 備考 OS CentOS 7.6.1810 手元で稼働中の Linux。まあ、どの Linux でも設定可能のはず。 消されたくないディレクトリ名 /home/dir/ - 消せないファイル名 /home/dir/.cannotremove 不可視属性なら気にならない。ファイル名は何でも良い。
$ su2. 削除不能の確認
# mkdir /home/dir
# touch /home/dir/.cannotremove
# chattr +i /home/dir/.cannotremove # chattr コマンドは root でしか実行できない。
# ls -l /home/dir/.cannotremove
# lsattr /home/dir/.cannotremove
-rw-r--r--. 1 root root 0 5月 25 22:17 /home/dir/.cannotremove
i ビットが有効になった。
----i--------------- /home/dir/.cannotremove
# rm /home/dir/.cannotremove3. ディレクトリの削除
✔ 削除不能# rmdir /home/dir
rm: '/home/dir/.cannotremove' を削除できません: 許可されていない操作です
✔ 削除不能# rm -Rf /home/dir
rmdir: '/home/dir' を削除できません: ディレクトリは空ではありません
✔ 削除不能
rm: '/home/dir/.cannotremove' を削除できません: 許可されていない操作です
# chattr -i /home/dir/.cannotremove
# lsattr /home/dir/.cannotremove
# rm /home/dir/.cannotremovei ビットが無効になった。
-------------------- /home/dir/.cannotremove
# rmdir /home/dir
# exit
$