Computer >> Hướng Dẫn Máy Tính >  >> Điện Thoại Thông Minh >> Linux

Cách xóa dữ liệu an toàn (secure erase) trên ổ cứng HDD trong Linux với shred

Hướng dẫn sử dụng shred để xóa dữ liệu trên ổ cứng HDD truyền thống sao cho gần như không thể khôi phục.

⚠️ CẢNH BÁO QUAN TRỌNG – CHỈ DÙNG CHO HDD (Ổ CƠ): Bài viết gốc năm 2009 – trước kỷ nguyên SSD. KHÔNG BAO GIỜ dùng shred trên ổ SSD/NVMe/eMMC/SD card/USB flash. Không chỉ không hiệu quả (do wear leveling, TRIM, over-provisioning của controller), mà còn làm giảm tuổi thọ ổ SSD. Với SSD, hãy dùng blkdiscard (TRIM toàn bộ), nvme format, hoặc Secure Erase qua firmware (hdparm --security-erase).

Khi nào dùng shred?

  • Ổ HDD cơ (mechanical hard drive).
  • Trước khi bán/tặng/throw away máy tính, ổ đĩa ngoài.
  • Xóa tệp nhạy cảm: ảnh cá nhân, email, tài liệu ngân hàng, khóa SSH/GPG.

Xóa toàn bộ ổ đĩa

# shred -fzv -n 100 /dev/sdX
  • -f (--force): Thay đổi quyền tệp cho phép ghi nếu cần.
  • -z (--zero): Ghi đè lần cuối bằng số 0 (che giấu dấu vết shred).
  • -v (--verbose): Hiển thị tiến độ.
  • -n 100 (--iterations=100): Ghi đè ngẫu nhiên 100 lần (mặc định 3). 100 lần rất an toàn nhưng chậm – 3-7 lần thường đủ cho HDD hiện đại.
  • /dev/sdX: Thiết bị ổ đĩa (ví dụ /dev/sdb, /dev/sdc). KIỂM TRA KỸ bằng lsblk trước khi chạy!

Xóa tệp đơn lẻ

# shred -fvz -n 10 sensitive_document.pdf

Lưu ý: Trên filesystem journaling (ext4, xfs, btrfs) hoặc SSD, shred trên tệp đơn lẻ không đảm bảo xóa hoàn toàn do copy-on-write, journal, wear leveling. An toàn hơn: mã hóa toàn đĩa (LUKS) từ đầu.

Yêu cầu Live USB

Nếu xóa ổ cài hệ điều hành đang chạy, bạn PHẢI boot từ Live USB (Ubuntu Live, SystemRescue, Kali...). Không thể shred ổ đang mount root.

Các công cụ thay thế hiện đại

Công cụDùng choGhi chú
blkdiscard /dev/nvme0n1SSD/NVMeGửi TRIM toàn bộ, nhanh, an toàn cho SSD
nvme format -s1 /dev/nvme0n1NVMeSecure Erase cấp firmware (cần nvme-cli)
hdparm --security-eraseHDD/SSD (ATA)Secure Erase chuẩn ATA, cần BIOS hỗ trợ
wipefs -a /dev/sdXTất cảXóa chữ ký filesystem, không xóa dữ liệu
dd if=/dev/urandom of=/dev/sdXHDDThay thế shred, chậm hơn, không có -z/-n

Kiểm tra sau xóa

# hexdump -C -n 512 /dev/sdX   # Kiểm tra sector đầu (MBR) – nên toàn 0x00
# strings /dev/sdX | head      # Tìm chuỗi văn bản còn sót lại