Cakera keras mencincang linux

Cakera keras mencincang linux

Semasa kami memadam fail dari sistem fail, data tidak dikeluarkan secara fizikal: sistem operasi hanya menandakan kawasan yang sebelum ini diduduki oleh fail, sebagai percuma dan menjadikannya tersedia untuk menyimpan maklumat baru. Satu -satunya cara untuk memastikan data sebenarnya dikeluarkan dari peranti adalah untuk mengatasinya dengan data lain. Kami mungkin mahu melakukan operasi sedemikian atas sebab -sebab privasi (mungkin kami merancang untuk menjual peranti dan kami ingin memastikan pemilik baru tidak dapat mengakses data kami), atau mungkin menyediakan peranti untuk penyulitan. Dalam tutorial ini kita akan melihat beberapa alat yang boleh kita gunakan untuk menghapuskan data sepenuhnya pada peranti

Dalam tutorial ini anda akan belajar:

  • Cara mencincang data menggunakan dd
  • Cara Mengamankan Fail dan Peranti Menggunakan Utiliti Shred
  • Cara menimpa data menggunakan badblocks


Keperluan perisian dan konvensyen yang digunakan

Keperluan Perisian dan Konvensyen Talian Perintah Linux
Kategori Keperluan, konvensyen atau versi perisian yang digunakan
Sistem Pengedaran-bebas
Perisian DD, dicincang atau badblocks
Yang lain
  • Kebiasaan dengan shell bash dan antara muka baris arahan linux
Konvensyen # - Memerlukan arahan Linux yang diberikan untuk dilaksanakan dengan keistimewaan akar sama ada secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah
$ - Memerlukan arahan Linux yang diberikan sebagai pengguna yang tidak layak

Memadamkan data menggunakan DD

DD adalah program yang sangat kuat disertakan secara lalai dalam semua pengagihan Linux utama. Dalam artikel sebelumnya kita melihat cara menggunakan DD secara terperinci; Dalam kes ini, semua yang kita mahu lakukan ialah mengatasi kandungan peranti blok hipotetikal kami dengan sifar atau data rawak. Dalam kedua -dua kes, kita boleh menggunakan data yang dihasilkan oleh fail "khas": /dev/sifar dan Dev/Urandom (atau /dev/rawak) masing -masing. Bekas pulangan sifar setiap kali operasi membaca dilakukan di atasnya; yang terakhir mengembalikan bait rawak menggunakan penjana nombor rawak kernel Linux.

Untuk mengisi cakera dengan sifar kita boleh jalankan:

$ sudo dd jika =/dev/sifar =/dev/sdx

Untuk menggunakan data rawak, sebaliknya:

$ sudo dd jika =/dev/urandom =/dev/sdx


Menggunakan bekas Luks sebagai penjana data rawak

Mengatasi peranti dengan data rawak adalah operasi memakan masa, tetapi boleh berguna terutama jika kami merancang untuk menggunakan penyulitan cakera penuh, untuk menjadikan bahagian yang digunakan dan tidak digunakan dari cakera yang tidak dapat dibezakan. Untuk mempercepat proses kita boleh menggunakan sedikit "helah": kita boleh membuat a Luks(Persediaan Utama Bersepadu Linux) Pada peranti atau partition yang kami ingin isi dengan data rawak, dan tulis sifar kepadanya. Terima kasih kepada penyulitan, data akan ditulis secara telus pada peranti yang mendasari secara rawak.

Pertama sekali kita buat Luks bekas:

$ sudo cryptsetup luksformat /dev /sdx Amaran! ======== Ini akan menimpa data pada /dev /sdx tidak dapat ditarik balik. Adakah anda pasti? (Jenis huruf besar ya): Ya masukkan frasa laluan untuk /dev /sdx: Sahkan frasa laluan:

Dalam kes ini tidak semestinya perlu menggunakan kata laluan yang kuat, kerana kami menggunakan bekas sebagai penjana data rawak, dan kami akan menghapuskannya setelah operasi selesai. Setelah bekas siap, kami membukanya dengan menjalankan arahan berikut:

$ sudo cryptsetup luksopen /dev /sdx crypted Enter frasa laluan untuk /dev /sdx:

Sekarang bahawa bekas dibuka kita boleh menggunakan DD dan mengisi dengan sifar. Sangat penting: kami menulis kepada bekas luks yang dipetakan sebagai /dev/mapper/crypted, bukan di tempat yang mendasari /dev/sdx peranti secara langsung:

$ sudo dd if =/dev/sifar =/dev/mapper/crypted bs = 1m

Setelah semua data telah ditulis, kami menutup bekas, dan mengatasi tajuk LUKS dengan data rawak. Saiz tajuk bergantung pada format Luks digunakan: ia adalah 2mib untuk warisan Luks format, dan 16mib untuk Luks2 format, yang telah menjadi lalai dalam versi cryptsetup terkini. Hanya untuk memastikan, kita boleh mengatasi 20mib pertama cakera:

$ sudo cryptsetup luksclose/dev/mapper/crypted $ sudo dd if =/dev/urandom of =/dev/sdx bs = 1m count = 20


Memadamkan data menggunakan shred

Nama utiliti ini penjelasannya yang cantik: matlamat utamanya, seperti yang dinyatakan dalam manual, adalah untuk menimpa fail dan memadamkannya secara pilihan. The dicincang Utiliti bergantung pada andaian bahawa sistem fail menimpa data di tempatnya. Permohonan itu tidak boleh membolehkan kita mencapai hasil yang diharapkan, sebagai contoh, pada sistem fail jurnal, seperti ext4 (mungkin sistem fail linux yang paling banyak digunakan), jika ia dipasang dengan data = jurnal pilihan.

Semasa memasang sistem fail ext4, dengan data = diperintahkan atau data = menulis semula pilihan (bekas adalah lalai), data ditulis ke sistem fail utama selepas metadata komited untuk jurnal. Dalam kedua-dua kes, dicincang berfungsi dengan baik, menghasilkan hasil yang diharapkan.

Apabila menggunakan data = jurnal Pilihan, sebaliknya, bukan sahaja metadata, tetapi data itu sendiri ditulis kepada jurnal sistem fail, sebelum ditulis ke sistem fail utama. Sangat mudah untuk melihat mengapa ini dapat menimbulkan masalah.

Mari lihat beberapa contoh penggunaan aplikasi. Katakan kami ingin selamatkan fail yang dinamakan "Ujian". Yang harus kita lakukan ialah menjalankan arahan berikut (di sini kita menggunakan -v pilihan untuk menjadikan program lebih verbose):

$ shred -v ujian shred: ujian: lulus 1/3 (rawak) ... shred: ujian: lulus 2/3 (rawak) ... shred: ujian: lulus 3/3 (rawak) .. 

Secara lalai aplikasi mengatasi fail yang ditentukan 3 kali dengan data rawak. Bilangan pas boleh diubah menggunakan -n (ringkasan untuk --lelaran) pilihan. Untuk mengatasi fail 6 kali kita akan menjalankan:

Shred -v -n 6 Ujian Shred: Ujian: Lulus 1/6 (Rawak) ... Shred: Ujian: Lulus 2/6 (000000) ... Shred: Ujian: Lulus 3/6 (555555) ... Shred: Ujian: Lulus 4/ 6 (FFFFFF) ... Shred: Ujian: Lulus 5/6 (AAAAAA) ... Shred: Ujian: Lulus 6/6 (Rawak) .. 

Terdapat beberapa kes di mana kita mungkin ingin menyembunyikan fakta bahawa operasi pencincang dilakukan pada fail atau peranti. Dalam situasi tersebut kita boleh menggunakan program ini -z (ringkasan untuk --sifar) Pilihan untuk membuat program melakukan lulus tambahan dengan sifar selepas mencincang:

$ shred -v -n 6 -z ujian shred: ujian: lulus 1/7 (rawak) ... shred: ujian: lulus 2/7 (ffffff) ... shred: ujian: lulus 3/7 (aaaaaa) ... shred: test: Lulus 4/7 (555555) ... Shred: Ujian: Lulus 5/7 (000000) ... Shred: Ujian: Lulus 6/7 (Rawak) ... Shred: Ujian: Lulus 7/7 (000000) .. 


Dari output perintah yang jelas, kita dapat melihat bagaimana pas terakhir dilakukan dengan menulis sifar (000000). Kita dapat mengesahkannya dengan menjalankan Hexdump program pada fail:

$ hexdump test 0000000 0000 0000 0000 0000 0000 0000 0000 0000 * 0008000 

Memadam fail

Sekiranya kita melihat sistem fail selepas menjalankan salah satu arahan dalam contoh di atas, kita dapat melihat bahawa walaupun ditimpa dengan data rawak, fail itu sendiri belum dipadamkan: ini berlaku kerana arahan juga boleh digunakan pada fail yang mewakili keseluruhan menghalang peranti atau partisi (e.g /dev/sda), dan mereka tidak boleh dipadamkan.

Semasa beroperasi pada fail biasa, bagaimanapun, kami mungkin mahu juga menangani fail dari sistem fail setelah mengatasinya. Untuk mencapai tingkah laku ini, kita boleh menggunakan -u atau --Keluarkan pilihan. Kedua -dua pilihan menyebabkan fail dipadam, tetapi dengan yang terakhir kita juga dapat menentukan bagaimana penghapusan harus dilakukan. Kita boleh hancur antara:

  • Unlink: fail dikeluarkan dengan menggunakan standard Unlink panggilan sistem;
  • lap: Bytes dalam nama fail telah dibuang sebelum penghapusan;
  • wipesync: bait yang diselaraskan juga diselaraskan ke cakera;

The wipesync mod adalah lalai.

Memadamkan data menggunakan badblocks

walaupun Badblocks Matlamat utama utiliti adalah mencari blok buruk, dengan menggunakan a Mode Write Ujian mengganggu kita dapat menimpa dan erase data sedia ada dengan berkesan pada peranti. Yang harus kita lakukan ialah melancarkan arahan dan menentukan -w Pilihan: Ujian akan dilakukan dengan menulis pertama dan kemudian membaca 0xaa, 0x55, 0xff dan 0x00 Corak data pada setiap blok dan bandingkan kandungannya.

Kita boleh menggunakan -s dan -v pilihan, masing -masing menjadikan program memaparkan maklumat kemajuan dan bilangan kesilapan membaca dan menulis yang dihadapi. Untuk menghapuskan peranti kami, oleh itu, kami akan berjalan:

$ sudo badblocks -wsv /dev /sdx memeriksa blok buruk dalam mod baca -tulis dari blok 0 hingga 3870719 ujian dengan corak 0xaa: ^c6.30% selesai, 0:41 berlalu. (Kesalahan 0/0/0)

Untuk menjalankan arahan di atas peranti harus tidak dipungut, sebaliknya Badblocks akan menolak untuk menjalankan kecuali operasi dipaksa dengan -f pilihan. Jumlah lalai blok yang diuji pada masa itu adalah 64; Walau bagaimanapun, kita boleh menukar parameter ini menggunakan -c pilihan.

Kesimpulan

Dalam artikel ini kita melihat tiga utiliti yang boleh kita gunakan untuk mencincang data pada peranti, dan beberapa contoh penggunaannya. DD dan dicincang adalah sebahagian daripada penggunaan teras GNU, jadi mereka hampir pasti sudah dipasang pada sistem anda. Badblocks adalah perisian yang digunakan untuk menguji kewujudan blok buruk: Semasa melakukan ujian baca-menulis dengannya, kita dapat mengatasi data pada peranti. Sila ambil perhatian bahawa keberkesanan data pencincang bergantung juga pada jenis peranti yang digunakan: pemacu keadaan pepejal, sebagai contoh, harus berurusan dengan fenomena seperti menulis amplifikasi.

Tutorial Linux Berkaitan:

  • Perkara yang hendak dipasang di Ubuntu 20.04
  • Mendapatkan semula privasi dan keselamatan anda dalam era digital
  • Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
  • Cara Menggunakan Google Drive di Linux
  • Cara Memisahkan Pemacu USB di Linux
  • Cara Prestasi Cakera Penanda Aras di Linux
  • Cara memisahkan pemacu di linux
  • Penyulitan cakera penuh dengan veracrypt di Ubuntu linux
  • Mint 20: Lebih baik daripada Ubuntu dan Microsoft Windows?
  • Pengenalan kepada Automasi, Alat dan Teknik Linux