GNU/Linux >> Belajar Linux >  >> Linux

Cegah File Dan Folder Dari Penghapusan Atau Modifikasi Secara Tidak Sengaja Di Linux

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

Linux
  1. Cara Mudah Menyembunyikan File dan Direktori di Linux

  2. Cara Menghapus File dan Direktori di Linux dari Command Line

  3. Cara Memisahkan Dan Menggabungkan File Dari Baris Perintah Di Linux

  1. Bandingkan File dan Folder Secara Grafis di Linux Dengan Meld

  2. Bagaimana mencegah dan memulihkan dari penghapusan file yang tidak disengaja di Linux

  3. Cara mengekstrak file .gz dan .tar.gz di Linux

  1. Cara Enkripsi dan Dekripsi file/folder di Linux menggunakan GnuPG

  2. Metamorphose 2 – Batch Ganti Nama File dan Folder Anda di Linux

  3. Bagaimana Mencegah Modifikasi File/Direktori, Penghapusan dan Penggantian Nama di Linux?