DEV Community

Fega Suseno
Fega Suseno

Posted on

Delete File or Directory Immutable Attribute

Pada postingan ini kita akan membahas mengapa suatu file atau directory pada linux tidak bisa di hapus.

Oke pembahasan ini berangkat dari studi kasus saya, dimana ada sebuah folder yg ntah datang darimana. Sepertinya folder tersebut muncul ketika saya menginstall aplikasi secara custom. Namun yang menjengkelkan adalah ketika saya ingin menghapus folder tersebut dan tidak bisa di hapus. Hanya muncul keterangan rm: operation not permitted. Dengan munculnya pesan tersebut tentu saya berasumsi bahwan ini tidak jauh dari permasalahan permission. Setelah saya cek hak ases dan ownernya ternyata sudah sesuai dengan user yang saat ini saya gunakan. Ternyata masalahnya ada atribut Immutable yg menyebabkan folder tidak mau di hapus bahkan oleh user root sekalipun.

Di Linux ada atribut file, yaitu metainformasi tambahan yang menentukan bagaimana file atau direktori dapat diakses, dimodifikasi, atau dikelola oleh sistem operasi. Atribut ini berbeda dari izin file standar (seperti rwx untuk owner, group, dan others) yang biasa kita lihat dengan perintah ls -l. Atribut memberikan advance control dari perilaku file atau folder.

Oke sekarang bagaimana ke solusinya? Tenang, solusinya cukup sederhana. Kita hanya perlu mengeceknya denga perintah berikut

lsattr file_or_dir
Enter fullscreen mode Exit fullscreen mode

Jika ada atribut I atau e, kemungkinana atribut-atribut inilah yang menyebabkan folder atau filenya tidak bisa di hapus. Untuk menghapusnya kita perlu menggunakan perintah berikut

chattr -R -i -a file_or_dir
Enter fullscreen mode Exit fullscreen mode

Lalu untuk mengujinya cobalah untuk menghapus file atau foldernya.

rm -rf file_or_dir
Enter fullscreen mode Exit fullscreen mode

Berikut ini adalah beberapa atribut utama yg mungkin bisa digunakan sebagai catatan.

Atribut Nama Deskripsi
i Immutable File tidak dapat diubah, dihapus, atau di-rename. Bahkan root, harus menghapus atribut i terlebih dahulu.
a Append-only File hanya bisa ditambahkan (append). Tidak dapat dihapus atau di-truncate.
e Extent format File menggunakan format extent untuk efisiensi penyimpanan. Diatur otomatis oleh sistem file.
d No dump File tidak akan disertakan dalam operasi backup menggunakan perintah dump.
s Secure deletion Ketika file dihapus, isinya akan di-overwrite dengan nol untuk mencegah pemulihan data.
t No tail-merging Melarang penggabungan data kecil dari file ke ruang blok lain di sistem file.

Selamat mencoba dan semoga bermanfaat.

Top comments (0)