Beberapa kali, saya tidak berpikir jernih dan secara tidak sengaja "SHIFT+DELETE" data saya. Lebih buruk lagi, saya bahkan tidak membuat cadangan data sebelum menghapusnya. Jika Anda seperti saya, inilah kabar baik untuk Anda. Saya tahu utilitas baris perintah yang berguna yang disebut "chattr" yang digunakan untuk mencegah file dan folder dari penghapusan atau modifikasi yang tidak disengaja di Linux.
Chattr, kependekan dari Ch usia Attr ibute, menerapkan/menghapus atribut tertentu ke file atau folder di sistem Linux Anda. Jadi tidak ada yang bisa menghapus atau memodifikasi file dan folder baik secara tidak sengaja atau sengaja, bahkan sebagai pengguna root . Kedengarannya berguna, bukan? Memang!
Mencegah File Dan Folder Dari Penghapusan atau Modifikasi Secara Tidak Sengaja Di Linux Menggunakan Chattr
Secara default, Chattr sudah diinstal sebelumnya di banyak sistem operasi Linux. Jadi jangan repot-repot menginstal.
Sintaks default dari perintah chattr adalah:
chattr [operator] [switch] [filename]
chattr memiliki operator berikut:
- Operator '
+
' menyebabkan atribut yang dipilih ditambahkan ke atribut file yang ada. - Operator '
-
' menyebabkannya dihapus. - Operator '
=
' menyebabkan mereka menjadi satu-satunya atribut yang dimiliki file.
Chattr memiliki atribut yang berbeda yaitu - aAcCdDeijsStTu . Setiap huruf menerapkan atribut tertentu ke file seperti yang tercantum di bawah ini.
- a - tambahkan saja,
- A - tidak ada pembaruan waktu,
- c - terkompresi,
- C - tidak ada salinan saat menulis,
- d - tidak ada tempat sampah,
- D - pembaruan direktori sinkron,
- e - format ekstensi,
- saya - tidak berubah,
- j - penjurnalan data,
- P - hierarki proyek,
- s - penghapusan aman,
- S - pembaruan sinkron,
- t - tidak ada penggabungan ekor,
- B - puncak hierarki direktori,
- u - tidak dapat dihapus.
Dalam tutorial ini, kita akan membahas penggunaan dua atribut, yaitu a , saya yang digunakan untuk mencegah penghapusan file dan folder.
Mencegah penghapusan file secara tidak sengaja di Linux
Biarkan saya membuat file bernama file.txt
di direktori saya saat ini.
$ touch file.txt
Atau,
$ > file.txt
Sekarang, saya akan menerapkan "i
" atribut yang membuat file tidak dapat diubah. Artinya - Anda tidak dapat menghapus, mengubah file, meskipun Anda adalah pemilik file dan pengguna root.
$ sudo chattr +i file.txt
Anda dapat memeriksa atribut file menggunakan perintah:
$ lsattr file.txt
Contoh keluaran:
----i---------e---- file.txt

Sekarang, coba hapus file baik sebagai pengguna biasa atau dengan hak sudo.
$ rm file.txt
Contoh keluaran:
rm: cannot remove 'file.txt': Operation not permitted
Biarkan saya mencoba dengan perintah sudo:
$ sudo rm file.txt
Contoh keluaran:
rm: cannot remove 'file.txt': Operation not permitted
Mari kita coba menambahkan beberapa konten dalam file teks.
$ echo 'Hello World!' >> file.txt
Contoh keluaran:
bash: file.txt: Operation not permitted

Meskipun Anda mencoba menghapus file dari pengelola file dalam mode GUI, Anda tidak dapat menghapusnya.

Seperti yang Anda perhatikan pada output di atas, Kami tidak dapat menghapus atau memodifikasi file bahkan sebagai pengguna root.
Untuk mencabut atribut, cukup gunakan "-i
" beralih seperti yang ditunjukkan di bawah ini.
$ sudo chattr -i file.txt
Sekarang, atribut yang tidak dapat diubah telah dihapus. Anda sekarang dapat mengubah atau menghapus file sesuai keinginan.
$ echo 'Hello World!' >> file.txt
$ cat file.txt Hello World!
$ rm file.txt

Demikian pula, Anda dapat membatasi direktori dari penghapusan atau modifikasi yang tidak disengaja seperti yang dijelaskan di bagian berikutnya.
Mencegah folder dari penghapusan dan modifikasi yang tidak disengaja di Linux
Buat direktori bernama dir1
dan file bernama file.txt
di dalam direktori ini.
$ mkdir dir1 && touch dir1/file.txt
Sekarang, buat direktori ini dan isinya (file.txt) tidak dapat diubah menggunakan perintah:
$ sudo chattr -R +i dir1
Dimana,
-R
- akan membuat dir1 dan isinya tidak dapat diubah secara rekursif.+i
- membuat direktori tidak dapat diubah.
Sekarang, coba hapus direktori baik sebagai pengguna biasa atau menggunakan pengguna sudo.
$ rm -fr dir1
$ sudo rm -fr dir1
Anda akan mendapatkan output berikut:
rm: cannot remove 'dir1/file.txt': Operation not permitted
Coba tambahkan beberapa konten dalam file menggunakan "echo
" perintah. Apakah Anda berhasil? Tentu saja, Anda tidak bisa!

Untuk mencabut kembali atribut, jalankan:
$ sudo chattr -R -i dir1
Sekarang, Anda dapat menghapus atau mengubah isi direktori ini seperti biasa.
Mencegah penghapusan file dan folder yang tidak disengaja, tetapi izinkan operasi penambahan di Linux
Kami tahu sekarang bagaimana mencegah file dan folder dari penghapusan dan modifikasi yang tidak disengaja. Selanjutnya, kita akan mencegah penghapusan file dan folder, tetapi izinkan file untuk menulis hanya dalam mode append. Artinya, Anda tidak dapat mengedit, mengubah data yang ada dalam file, mengganti nama file, dan menghapus file. Anda hanya dapat membuka file untuk menulis dalam mode penambahan.
Untuk menyetel atribusi mode penambahan ke file/direktori, kita lakukan hal berikut:
Untuk file:
$ sudo chattr +a file.txt
Untuk direktori:
$ sudo chattr -R +a dir1
File/folder dengan set atribut 'a' hanya dapat dibuka dalam mode penambahan untuk menulis.
Tambahkan beberapa konten ke file untuk memeriksa apakah itu berfungsi atau tidak.
$ echo 'Hello World!' >> file.txt
$ echo 'Hello World!' >> dir1/file.txt
Periksa isi file menggunakan perintah cat:
$ cat file.txt
$ cat dir1/file.txt
Contoh keluaran:
Hello World!

Seperti yang Anda lihat, kami dapat menambahkan konten. Artinya kita bisa memodifikasi file dan folder.
Mari kita coba untuk menghapus file atau folder tersebut sekarang.
$ rm file.txt
Keluaran:
rm: cannot remove 'file.txt': Operation not permitted
Coba kita hapus foldernya:
$ rm -fr dir1/
Atau coba dengan sudo:
$ sudo rm -fr dir1/
Contoh keluaran:
rm: cannot remove 'dir1/file.txt': Operation not permitted

Untuk menghapus atribut, jalankan perintah berikut:
Untuk file:
$ sudo chattr -R -a file.txt
Untuk direktori:
$ sudo chattr -R -a dir1/
Sekarang, Anda dapat menghapus atau memodifikasi file dan folder seperti biasa.
Untuk detail lebih lanjut, lihat halaman manual.
$ man chattr
Menutup
Pencadangan dan perlindungan data adalah salah satu tugas utama Sysadmin Linux. Ada banyak perangkat lunak perlindungan data gratis dan komersial yang tersedia di pasaran. Untungnya, kami memiliki alat bawaan ini yang membantu kami melindungi data dari penghapusan atau modifikasi yang tidak disengaja. Chattr dapat digunakan sebagai alat tambahan untuk melindungi file dan data sistem penting di sistem Linux Anda.
Bacaan yang disarankan:
- Cara Mudah untuk Melindungi File Dari Penghapusan yang Tidak Disengaja di Linux
- Cara Menghindari Shutdown Secara Tidak Sengaja Atau Reboot Di Linux