Sử dụng `shred` từ dòng lệnh


44

Tôi cần phải xóa một cách an toàn một số tập tin. Tôi đã sử dụng shredtrên các hệ thống linux trước đây, vì vậy tôi nhìn xung quanh và thấy rằng đó shredlà một phần của coreutilsgói trong macports. Tôi đã làm port install coreutilsđể cài đặt coreutils, nhưng tôi vẫn không thể tìm thấy shredtrong dòng lệnh.

Làm thế nào tôi có shredthể làm việc trên dòng lệnh của mac? Nếu có vấn đề, tôi đang sử dụng Mac OS X 10.7.5 (Lion)


Lưu ý tính bảo mật shredphụ thuộc vào hệ thống tập tin đang được sử dụng, tôi không biết hiệu quả của nó trên HFS.
Flimm

1
shred không hiệu quả trên các hệ thống tệp được ghi nhật ký, đó là lý do tại sao nó không có sẵn. SRM cũng được tìm thấy là không hiệu quả. Chỉ cần xóa bình thường và cầu nguyện dường như là hy vọng duy nhất trên hfs + hệ thống tập tin được ghi nhật ký
Kevin Johnson

Có thật không?! Bạn có thể vui lòng nói về lý do tại sao nó không hiệu quả?
thanh

1
Các hệ thống tập tin được ghi lại ghi lại những thay đổi sẽ được thực hiện trước khi ghi vào đĩa. Nó có thể được sử dụng để khôi phục từ hỏng tập tin hoặc khôi phục dữ liệu bạn muốn đã bị hủy. Xem en.wikipedia.org/wiki/Journaling_file_system
Alex Mooney

Câu trả lời:


27

port install coreutilsthêm tiền tố ag vào tên của nhị phân, vì vậy shred là /opt/local/bin/gshred.


9
brew install coreutilslàm cho gshredcó sẵn cho những người sử dụng Homebrew.
davidjb

59

OSX có một lệnh tích hợp srmđể loại bỏ các tệp một cách an toàn. Xem https://developer.apple.com/legacy/lvern/documentation/Darwin/Reference/ManPages/man1/srm.1.html . Bạn cũng có thể sử dụng rm -Pđể ghi đè lên các tệp với chuỗi byte ba lần.

Với sierra trở lên, macOS không còn bao gồm srm. Nhưng người dùng có thể cài đặt nó với homebrew:

brew install homebrew/dupes/srm && brew link --force homebrew/dupes/srm

1
Chắc chắn, nhưng shred cho phép tôi thiết lập số lượng ghi đè. Những công cụ này không. Bất kỳ ý tưởng về làm thế nào để có được chức năng đó?
thanh

2
+1 Câu trả lời xuất sắc. Tôi không biết srmlệnh tồn tại. Nó ghi đè, đổi tên và cắt bớt tệp trước khi xóa nó. Điều đó, cộng với 7 lượt vượt qua DoD của Hoa Kỳ (0xF6, 0x00, 0xFF, ngẫu nhiên, 0x00, 0xFF, ngẫu nhiên) (tùy chọn -m) đảm bảo tệp không thể phục hồi.
Tulains Córdova

3
Kể từ macOS Sierra, srmkhông còn được bao gồm.
y3sh

1
Người dùng macOS có thể cài đặt srmbằng lệnh brew brew install homebrew/dupes/srm.
hd.deman

1
homebrew/dupesbây giờ bị phản đối Có vẻ đó srmđã được gỡ bỏ và không di cư đến homebrew-core.
davidjb

18

Câu trả lời của @ user495470 là chính xác cho câu hỏi được đặt ra. Vấn đề là không srmhoặc shredthực sự có ý nghĩa đối với các hệ thống hiện đại.

Điều này chủ yếu là do SSD. Không giống như các đĩa từ, các đĩa hỗ trợ TRIM hiện đại sẽ tự động xóa dữ liệu bị xóa trong nền.

SSD cũng thực hiện cân bằng hao mòn. Điều này khiến cho các nỗ lực "ghi đè" một tập tin trở nên vô ích (bạn sẽ ghi vào một vị trí thực tế khác) và không mong muốn (nó không cần thiết góp phần làm hao mòn đĩa).

Tất cả các máy Mac đi kèm với ổ SSD đều được bật TRIM.

Vấn đề khác là hệ thống tệp, cụ thể là hệ thống tệp được ghi nhật ký, có thể giữ một bản sao dữ liệu ở nơi khác trước khi nó được viết ra.

Ngay cả trên phương tiện từ tính, điều này có thể gây ra vấn đề cho cả hai srm:

Tất cả người dùng [..] nên biết rằng srm sẽ chỉ hoạt động trên các hệ thống tệp ghi đè lên các khối tại chỗ. Đặc biệt, nó sẽ KHÔNG hoạt động trên [..] phần lớn các hệ thống tệp được ghi nhật ký.

shred:

[..] shred dựa vào một giả định rất quan trọng: hệ thống tệp ghi đè dữ liệu tại chỗ. [..] nhiều thiết kế hệ thống tập tin hiện đại không đáp ứng giả định này. Các ngoại lệ bao gồm: Hệ thống tệp có cấu trúc nhật ký hoặc nhật ký [..]

Khối lượng HFS Plus được ghi theo mặc định kể từ Mac OS X v10.3.

Ngày nay, cách tốt nhất để "xóa" các tệp một cách an toàn là bật FileVault (vì vậy chúng không bao giờ ghi đĩa không được mã hóa ở vị trí đầu tiên) sau đó chỉ cần xóa chúng và để TRIM sắp xếp nó.

Nếu, do không may, bạn đang ở trên một phương tiện từ tính, đã vô hiệu hóa nhật ký và vì một lý do nào đó, không thể mã hóa đĩa, bạn có các tùy chọn là:


Nhưng tôi đoán shred vẫn ổn nếu bạn cắt toàn bộ phân vùng hoặc toàn bộ đĩa.
Konstantin

Ý bạn là như thế shred /dev/hdanào? Vâng tôi nghĩ thế. Các khối được xử lý bởi HĐH vẫn được trừu tượng hóa từ bộ nhớ vật lý và có khả năng được ánh xạ lại trong quá trình cắt nhỏ. Tôi tự hỏi nếu bất kỳ san lấp mặc và không gian dự trữ là triển khai có thể làm cho điều này không phải lúc nào cũng hoạt động ..
Molomby

+1 cho lời giải thích về lý do tại sao việc băm nhỏ là vô nghĩa đối với SSD và đề xuất sử dụng FileVault. APFS đã được ghi nhật ký hay chúng tôi biết cách xử lý xóa tệp? (Có lẽ nên là một chủ đề riêng biệt!)
Stuart H

1
Dường như có giả định ở đây rằng việc xóa an toàn chỉ cần thiết cho các ổ đĩa 'nội bộ'. Ổ đĩa đính kèm có trong tất cả các hình thức và srm sẽ phù hợp với một số trong số họ.
Rondo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.