Menggunakan `shred` dari baris perintah

41

Saya perlu menghapus beberapa file dengan aman. Saya sudah menggunakan shred pada sistem linux sebelumnya, jadi saya melihat sekeliling dan menemukan itu shred adalah bagian dari coreutils paket dalam macports. aku melakukannya port install coreutils untuk menginstal coreutils, tetapi saya masih belum dapat menemukannya shred di baris perintah.

Bagaimana saya bisa dapatkan shred untuk bekerja di baris perintah mac saya? Jika itu penting, saya menggunakan Mac OS X 10.7.5 (Lion)

inspectorG4dget
sumber
Perhatikan keamanan shred tergantung pada filesystem yang digunakan, saya tidak tahu seberapa efektifnya pada HFS.
Flimm
1
Rusak tidak efektif pada sistem file jurnal itu sebabnya tidak tersedia. SRM juga ternyata tidak efektif. Cukup hapus secara normal dan berdoa tampaknya menjadi satu-satunya harapan pada hfs + filesystem terjurnal
Kevin Johnson
Sangat?! Bisakah Anda membicarakan mengapa itu tidak efektif?
inspectorG4dget
1
Sistem file jurnal mencatat perubahan yang akan dibuat sebelum menulis ke disk. Itu dapat digunakan untuk memulihkan dari file korupsi, atau memulihkan data yang Anda inginkan telah rusak. Lihat en.wikipedia.org/wiki/Journaling_file_system
Alex Mooney

Jawaban:

25

port install coreutils menambahkan awalan g ke nama-nama binari, jadi rusaklah /opt/local/bin/gshred.

Lri
sumber
7
brew install coreutils membuat gshred tersedia untuk mereka yang menggunakan Homebrew.
davidjb
56

OSX memiliki perintah bawaan srm untuk menghapus file dengan aman. Lihat https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/srm.1.html . Anda juga bisa menggunakan rm -P untuk menimpa file dengan urutan byte tiga kali.

Dengan sierra atau lebih baru, macOS tidak lagi menyertakan srm. Tetapi pengguna dapat menginstalnya dengan homebrew:

brew install homebrew/dupes/srm && brew link --force homebrew/dupes/srm
Lily Hahn
sumber
Tentu, tetapi rusak memungkinkan saya mengatur jumlah overwrites. Alat-alat ini tidak. Ada ide tentang cara mendapatkan fungsionalitas itu?
inspectorG4dget
Anda dapat menggunakan -m opsi untuk tujuh overwrite atau -s hanya untuk satu, tetapi saya tidak berpikir Anda dapat menentukan nomor tertentu.
Lily Hahn
2
+1 Jawaban luar biasa. Saya tidak tahu srm perintah ada. Ini menimpa, mengganti nama, dan memotong file sebelum menghapusnya. Itu, ditambah 7 US DoD compliant pass (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) (-m opsi) menjamin file tidak dapat dipulihkan.
Tulains Córdova
3
Pada MacOS Sierra, srm tidak lagi disertakan.
y3sh
1
pengguna macOS dapat menginstal srm dengan perintah minuman brew install homebrew/dupes/srm.
hd.deman
15

@ user495470 jawaban sudah benar untuk pertanyaan yang diajukan. Masalahnya bukan keduanya srm atau shred sangat masuk akal untuk sistem modern.

Ini sebagian besar disebabkan oleh SSD. Tidak seperti disk magnetik, disk modern yang diaktifkan TRIM secara otomatis menghapus data yang dihapus di latar belakang.

SSD juga melakukan perataan keausan. Hal ini membuat upaya untuk "menulis berlebihan" suatu file menjadi sia-sia (Anda akan menulis ke lokasi fisik yang berbeda) dan tidak diinginkan (ini berkontribusi pada keausan disk).

Semua Mac yang dilengkapi dengan SSD telah mengaktifkan TRIM.

Masalah lain sistem file, khususnya sistem file journal, yang dapat menyimpan salinan data di tempat lain sebelum ditulis.

Bahkan pada media magnetik ini dapat menyebabkan masalah bagi keduanya srm:

Semua pengguna [..] harus menyadari bahwa srm hanya akan bekerja pada sistem file yang menimpa blok di tempatnya. Secara khusus, itu akan terjadi TIDAK bekerja pada [..] sebagian besar sistem file jurnal.

Dan shred:

[..] Rusak bergantung pada asumsi yang sangat penting: bahwa sistem file menimpa data di tempat. [..] banyak desain sistem file modern tidak memenuhi asumsi ini. Pengecualian meliputi: Sistem file berstruktur log atau jurnal [..]

Volume HFS Plus dijurnal secara default sejak Mac OS X v10.3.

Saat ini, cara terbaik untuk mengamankan file "dihapus" adalah dengan mengaktifkan FileVault (jadi mereka tidak pernah menulis disk yang tidak dienkripsi di tempat pertama) kemudian hapus saja dan biarkan TRIM mengatasinya.

Jika, karena musibah, Anda berada di media magnetis, memiliki catatan jurnal dinonaktifkan dan, karena alasan tertentu, tidak dapat mengenkripsi disk, pilihan Anda adalah:

  • Menggunakan rm -P yang menimpa file dengan 0xff, kemudian 0x00, lalu 0xff lagi
  • Memasang coreutils untuk gshred (yaitu. brew install coreutils && gshred secrets.txt )
  • srm telah dihapus dari homebrew-dupes dan homebrew-core tapi seseorang menerbitkan keran di sini yang bekerja (mis. brew install khell/homebrew-srm/srm && srm secrets.txt )
  • Penghancuran fisik medium :)
Molomby
sumber
Tapi saya kira rusak masih baik-baik saja jika Anda merusak seluruh partisi atau seluruh disk.
Konstantin
Maksudmu seperti shred /dev/hda? Ya saya kira begitu. Blok yang sedang ditangani oleh OS masih diabstraksi dari memori fisik dan berpotensi untuk dipetakan kembali selama rusak. Saya ingin tahu apakah ada penggunaan leveling dan cadangan ruang yang dapat menyebabkan implementasi ini tidak selalu berhasil ..
Molomby