Pertanyaan saya adalah:
Apakah chattr +adibatasi untuk file saja?
Apakah rekursif pada subdirektori dan file baru?
Comand dari ( chattr +a) mencegah dari menghapus direktori, baik sebagai file dan direktori yang dibuat langsung di dalam direktori tersebut:
Buat direktori dan file pengujian:
# mkdir /tmp/foo
# chattr +a /tmp/foo
Direktori itu tidak dapat dihapus:
# rmdir /tmp/foo
rmdir: failed to remove ‘/tmp/foo’: Operation not permitted
Sekarang buat file dan direktori di dalamnya:
# touch /tmp/foo/bar
# mkdir /tmp/foo/baz
Mari kita periksa itu:
# lsattr -d /tmp/foo /tmp/foo/ba*
-----a-------e-- /tmp/foo
-------------e-- /tmp/foo/bar
-------------e-- /tmp/foo/baz
Cobalah untuk menghapus maka hasilnya akan seperti di bawah:
# rm /tmp/foo/bar
rm: cannot remove ‘/tmp/foo/bar’: Operation not permitted
# rmdir /tmp/foo/baz
rmdir: failed to remove ‘/tmp/foo/baz’: Operation not permitted
rm -Rf /tmp/foo
rm: cannot remove ‘/tmp/foo/bar’: Operation not permitted
rm: cannot remove ‘/tmp/foo/baz’: Operation not permitted
Terakhir, sub-sub-direktori dan file-file dalam sub-direktori tidak dilindungi :
# mkdir /tmp/foo/baz/bat
# touch /tmp/foo/baz/baff
# rm --verbose -Rf /tmp/foo/baz
removed directory: ‘/tmp/foo/baz/bat’
removed ‘/tmp/foo/baz/baff’
rm: cannot remove ‘/tmp/foo/baz’: Operation not permitted
Sekali lagi, perhatikan bahwa hanya /tmp/foomemiliki flag append:
# lsattr -d /tmp/foo /tmp/foo/baz
-----a-------e-- /tmp/foo
-------------e-- /tmp/foo/baz