Bạn đã xóa tệp. Nhưng nó có thực sự biến mất không?
Trên Linux, nhấn Delete hoặc chạy rm không xóa dữ liệu của bạn. Nó chỉ xóa con trỏ đến tệp. Các byte thực tế vẫn còn trên đĩa, đôi khi trong nhiều ngày, đôi khi mãi mãi, cho đến khi thứ khác ghi đè lên chúng.
Điều đó quan trọng nếu bạn đang cố xóa một bức ảnh nhạy cảm, tài liệu riêng tư, tệp mật khẩu hoặc bất cứ thứ gì bạn không bao giờ muốn ai đó khôi phục.
Trong hướng dẫn chi tiết này, chúng tôi sẽ giải thích cách xóa tệp hoạt động trên Linux và tại sao "đã xóa" không phải lúc nào cũng có nghĩa là "biến mất." Sau đó, bạn sẽ học các cách khác nhau để xóa tệp an toàn từ cả ổ cứng HDD và ổ SSD trong Linux.
Tóm tắt nhanh
- Để xóa vĩnh viễn tệp trên HDD với ext4 hoặc xfs, dùng
shred -uzn 3 /path/to/filehoặc bộ công cụsecure-delete(srm,sfill,sswap,smem) để dọn dẹp kỹ lưỡng hơn. - Xóa vĩnh viễn tệp trên SSD (bất kỳ hệ thống tệp nào): Dùng
rmđể xóa, sau đó chạysudo fstrim -avđể yêu cầu ổ đĩa xóa các khối đã giải phóng. - Trên btrfs: Dùng
rm, sau đó xóa mọi snapshot Snapper hoặc Timeshift đã chụp tệp, rồi chạysudo fstrim -av. - Cho mọi thứ: Xóa bộ nhớ đệm thumbnail, kiểm tra đồng bộ đám mây và xóa swap nếu hệ thống của bạn đã sử dụng nó khi tệp đang mở.
- Để bảo vệ mạnh nhất: Thiết lập mã hóa toàn bộ đĩa với LUKS trước khi bạn lưu trữ dữ liệu nhạy cảm.
Không chắc cái nào áp dụng cho bạn? Chạy lsblk -f để xem hệ thống tệp của bạn và cat /sys/block/sda/queue/rotational để kiểm tra loại ổ đĩa (0 = SSD, 1 = HDD). Hướng dẫn đầy đủ bên dưới giải thích từng phương pháp từng bước.
1. Tại sao "xóa" tệp là chưa đủ
Hầu hết mọi người cho rằng một khi họ xóa tệp, nó sẽ biến mất. Trên Linux, điều đó đơn giản là không đúng, ít nhất là không ngay lập tức.
Hãy nghĩ về ổ cứng của bạn như một thư viện. Khi bạn "xóa" một cuốn sách, thư viện chỉ xóa mục nhập của nó khỏi danh mục. Cuốn sách vẫn còn trên kệ. Bất kỳ ai biết nơi để tìm vẫn có thể đọc nó.
Các công cụ như rm, thùng rác trong GNOME hoặc KDE, và thậm chí unlink() trong mã - tất cả đều làm điều tương tự. Chúng xóa mục nhập thư mục trỏ đến inode của tệp, nhưng để lại dữ liệu thô trên đĩa cho đến khi hệ điều hành quyết định ghi thứ khác vào đó.
Đối với các tệp thông thường, điều đó ổn. Đối với dữ liệu nhạy cảm, đó là một vấn đề nghiêm trọng.
2. Điều gì thực sự xảy ra khi bạn xóa tệp
Đây là những gì Linux làm từng bước khi bạn chạy rm:
- Nó xóa mục nhập thư mục liên kết tên tệp với inode của nó.
- Nó giảm số lượng liên kết của inode đi một.
- Nếu số lượng liên kết đạt đến 0 và không có tiến trình nào đang mở tệp, inode được đánh dấu là trống.
- Các khối dữ liệu mà tệp chiếm giữ được trả về nhóm trống, nhưng không bị xóa.
Vì vậy, dữ liệu nằm đó, nguyên vẹn, chờ được ghi đè. Trên một hệ thống ít sử dụng, sự chờ đợi đó có thể rất lâu.
Một công cụ khôi phục cơ bản như testdisk hoặc photorec có thể lấy lại dữ liệu đó trong vài phút.
3. Biết thiết lập của bạn trước khi bắt đầu
Phương pháp xóa đúng phụ thuộc vào hai thứ: hệ thống tệp của bạn và loại lưu trữ của bạn. Phương pháp sai có thể khiến bạn tin tưởng sai rằng dữ liệu đã biến mất trong khi thực tế không phải vậy. Vì vậy, trước khi chạy bất kỳ lệnh nào, hãy dành chút thời gian để hiểu cách phần cứng của bạn thực sự lưu trữ dữ liệu.
Ổ cứng truyền thống (HDD)
Ổ cứng cơ học ghi dữ liệu lên các đĩa từ quay. Khi bạn xóa tệp thông thường, Linux chỉ xóa mục nhập thư mục trỏ đến dữ liệu của tệp đó, giống như xé nhãn khỏi hộp mà không làm trống nó.
Dữ liệu thực tế nằm trên đĩa cho đến khi thứ gì đó mới ghi đè lên nó. Điều đó có nghĩa là xóa an toàn trên HDD rất đơn giản: bạn ghi đè dữ liệu bằng rác ngẫu nhiên và nó biến mất.
Ổ cứng thể rắn hiện đại (SSD)
SSD sử dụng chip nhớ flash thay vì đĩa từ quay. Do cách bộ điều khiển SSD phân tán các ghi trên các ô để quản lý hao mòn - một quá trình gọi là cân bằng hao mòn - bạn không thể nhắm mục tiêu và ghi đè một tệp cụ thể một cách đáng tin cậy.
Bộ điều khiển quyết định nơi dữ liệu thực sự nằm và bạn không có quyền quyết định từ cấp hệ điều hành.
Các công cụ ghi đè tệp tiêu chuẩn không hoạt động trên SSD và chạy chúng nhiều lần thậm chí có thể rút ngắn tuổi thọ ổ đĩa của bạn bằng cách đốt cháy các chu kỳ ghi không cần thiết.
Thay vào đó, cách tiếp cận đúng là một lệnh cấp phần cứng gọi là TRIM, báo hiệu SSD xóa các khối mà hệ điều hành đã đánh dấu là trống.
Sự khác biệt đó thúc đẩy mọi phương pháp trong hướng dẫn này. Bây giờ hãy tìm hiểu chính xác những gì bạn đang làm việc.
Đầu tiên, tìm loại hệ thống tệp của bạn:
df -T /home
# or
lsblk -f
Sau đó, kiểm tra loại ổ đĩa của bạn:
cat /sys/block/sda/queue/rotational
Thay "sda" bằng thiết bị thực tế của bạn (nvme0n1, sdb, v.v.).
Nếu lệnh trên trả về 0, đó là SSD. Nếu đầu ra là 1, thì đó là HDD.
Đây là bảng quyết định nhanh:
| Loại ổ đĩa | Hệ thống tệp | Phương pháp được khuyến nghị |
|---|---|---|
| HDD | ext4, xfs | shred hoặc secure-delete |
| SSD | bất kỳ (trừ btrfs) | rm + sudo fstrim -av |
| SSD | btrfs | rm + xóa snapshot + sudo fstrim -av |
Đủ nói. Bây giờ, hãy xem các phương pháp bạn có thể sử dụng để xóa tệp an toàn trên Linux và làm cho chúng thực tế không thể khôi phục.
4. Phương pháp 1: HDD với ext4 – Dùng shred hoặc secure-delete
Nếu bạn có ổ cứng quay với ext4 hoặc xfs, bạn có hai lựa chọn tốt: lệnh shred tích hợp sẵn hoặc bộ công cụ secure-delete giàu tính năng hơn. Cả hai đều ghi đè các khối dữ liệu của tệp nhiều lần trước khi xóa chúng, điều này làm cho việc khôi phục cực kỳ khó khăn.
Lưu ý quan trọng: Các công cụ này chỉ hoạt động đáng tin cậy trên các hệ thống tệp ghi dữ liệu tại chỗ. Trên các hệ thống tệp copy-on-write như btrfs, cả shred và secure-delete đều không hiệu quả. Chuyển đến Phương pháp 3 nếu bạn sử dụng btrfs. Và trên SSD, bỏ qua Phương pháp 2, cả hai công cụ đều không hoạt động như mong đợi.
Lựa chọn A: shred (Tích hợp sẵn, không cần cài đặt)
shred có sẵn trên mọi bản phân phối Linux như một phần của GNU coreutils. Bạn không cần cài đặt gì cả.
Xóa một tệp duy nhất:
shred -uzn 3 /path/to/file
Đây là ý nghĩa của từng cờ:
-u: Xóa tệp sau khi ghi đè (giốngrm)-z: Thêm một lượt cuối cùng bằng số 0 để che giấu việc ghi đè-n 3: Ghi đè 3 lần (3 là mặc định; bạn có thể giảm xuống-n 1vì một lượt là đủ cho hầu hết HDD hiện đại)
Lưu ý cho người dùng ext4: Nếu phân vùng ext4 của bạn được gắn kết ở chế độ data=journal, shred kém hiệu quả hơn vì nhật ký ghi lại các ghi dữ liệu tệp. Hầu hết các hệ thống sử dụng chế độ data=ordered mặc định, nơi shred hoạt động tốt. Để kiểm tra chế độ gắn kết của bạn, chạy findmnt -o TARGET,OPTIONS / và tìm giá trị data= trong cột tùy chọn.
Xóa toàn bộ thư mục:
find /path/to/folder -type f -exec shred -uzn 3 {} \;
rmdir /path/to/folder
Đọc thêm:
Lựa chọn B: Bộ công cụ secure-delete (Kỹ lưỡng hơn, bao gồm không gian trống và swap)
secure-delete là một gói chuyên dụng cung cấp cho bạn bốn công cụ riêng biệt: một cho tệp, một cho không gian đĩa trống, một cho swap và một cho RAM. Cùng nhau, chúng bao phủ mọi bề mặt nơi dữ liệu của bạn có thể tồn tại.
Cài đặt secure-delete trước:
# Debian, Ubuntu, Linux Mint, Pop!_OS
sudo apt install secure-delete
# Fedora
sudo dnf install secure-delete
srm – Xóa an toàn tệp và thư mục
srm hoạt động giống rm nhưng ghi đè dữ liệu trước khi xóa.
Cách dùng:
# Delete a single file
sudo srm /path/to/file
# Delete a folder and everything inside it
sudo srm -r /path/to/folder
Các cờ hữu ích:
-r: Đệ quy (cho thư mục)-v: Chi tiết (hiển thị tiến trình)-z: Lượt cuối cùng với số 0 thay vì dữ liệu ngẫu nhiên-l: Chế độ nhanh hơn nhưng kém an toàn hơn (chỉ dùng nếu tốc độ quan trọng hơn sự kỹ lưỡng)
sfill – Xóa không gian trống trên ổ đĩa
Đây là bước mà shred đơn giản không thể làm. Sau khi bạn xóa tệp thông thường, các khối dữ liệu của chúng nằm trong nhóm không gian trống chờ được ghi đè. sfill lấp đầy tất cả không gian trống đó bằng dữ liệu ngẫu nhiên, xóa mọi dấu vết của các tệp đã xóa trước đó.
Cách dùng:
# Wipe free space on the partition that holds /home
sudo sfill /home
# Or target any mount point
sudo sfill /
Lưu ý: sfill có thể mất nhiều thời gian trên các ổ đĩa lớn. Chạy nó qua đêm nếu bạn cần xóa một phân vùng lớn. Tránh chạy nó trên một phân vùng đang được sử dụng nhiều, vì nó sẽ ảnh hưởng đến hiệu suất hệ thống.
sswap – Xóa an toàn phân vùng swap của bạn
Nếu Linux đã swap các phần của tệp nhạy cảm ra đĩa trong khi hệ thống của bạn bị áp lực bộ nhớ, dữ liệu đó vẫn còn trong phân vùng swap ngay cả sau khi bạn xóa tệp. sswap xóa nó đúng cách.
Đầu tiên, tìm phân vùng swap của bạn:
cat /proc/swaps
Đầu ra mẫu của lệnh trên trong hệ thống của tôi là:
Filename Type Size Used Priority
/dev/sda3 partition 2097148 25144 -1
Như bạn thấy ở trên, phân vùng swap của tôi là /dev/sda3.
Sau đó tắt swap, xóa nó và bật lại:
sudo swapoff /dev/sda3 # replace with your swap partition
sudo sswap /dev/sda3
sudo swapon /dev/sda3
smem – Xóa dữ liệu nhạy cảm khỏi RAM
smem ghi đè các phần chưa sử dụng của RAM có thể chứa các mảnh của tệp đã mở gần đây hoặc dữ liệu đã giải mã.
Mặc định, nó chạy 38 lượt, vì vậy nó có thể mất vài phút trên các hệ thống có nhiều RAM và sẽ tạm thời giảm hiệu suất hệ thống trong khi chạy. Chạy nó khi hệ thống của bạn không hoạt động.
sudo smem
Sau khi sử dụng một trong hai lựa chọn, cũng làm trống Thùng rác của bạn:
rm -rf ~/.local/share/Trash/files/*
rm -rf ~/.local/share/Trash/info/*
5. Phương pháp 2: SSD – Tại sao shred thất bại và phải làm gì thay thế
Trên ổ cứng thể rắn, shred không hoạt động như quảng cáo. Bởi vì, SSD sử dụng một kỹ thuật gọi là cân bằng hao mòn. Bộ điều khiển SSD cố tình phân tán các ghi trên nhiều ô để kéo dài tuổi thọ ổ đĩa.
Khi shred cố gắng ghi đè một khối, bộ điều khiển thường ghi "ghi đè" vào một ô vật lý hoàn toàn khác, để lại dữ liệu gốc không bị ảnh hưởng.
Vì vậy, thay vì ghi đè, bạn có thể xóa tệp an toàn và vĩnh viễn khỏi SSD như sau:
Bước 1: Xóa tệp và làm trống Thùng rác:
rm /path/to/file
rm -rf ~/.local/share/Trash/files/*
rm -rf ~/.local/share/Trash/info/*
Bước 2: Đảm bảo không có tiến trình nào vẫn giữ tệp mở:
sudo lsof | grep deleted
Nếu có bất kỳ tiến trình nào xuất hiện, ghi lại PID của nó và đóng ứng dụng. Sau đó chạy:
sudo kill <PID>
Bước 3: Chạy TRIM để yêu cầu SSD xóa các khối đã giải phóng:
sudo fstrim -av
Cho những ai thắc mắc, TRIM là một lệnh nói với SSD: "Các khối này hiện đã trống, bạn có thể xóa chúng."
Hầu hết các SSD hiện đại chạy TRIM tự động hàng tuần thông qua fstrim.timer, nhưng chạy thủ công đảm bảo nó xảy ra ngay lập tức.
Bước 4: Xác minh TRIM đã được bật trên hệ thống của bạn:
sudo systemctl status fstrim.timer
Nếu nó không hoạt động, hãy bật nó:
sudo systemctl enable --now fstrim.timer
6. Phương pháp 3: BTRFS (Copy-on-Write) – Trường hợp khó nhất
BTRFS là một hệ thống tệp hiện đại, giàu tính năng mà nhiều người dùng Arch Linux và Fedora ưa thích. Tuy nhiên, nó sử dụng copy-on-write (CoW), làm cho việc xóa an toàn phức tạp hơn so với ext4.
Đây là vấn đề cốt lõi: btrfs không bao giờ ghi đè dữ liệu tại chỗ. Mỗi khi bạn sửa đổi một tệp, btrfs ghi phiên bản mới vào một vị trí mới và đánh dấu các khối cũ là trống, nhưng không xóa chúng.
Khi shred cố gắng ghi đè một tệp, CoW lại kích hoạt và ghi các lượt của shred vào nhiều vị trí mới hơn, để lại các khối dữ liệu gốc hoàn toàn không bị ảnh hưởng trong nhóm trống.
Đó là lý do tại sao shred không hiệu quả trên btrfs. Nó không bao giờ chạm vào dữ liệu gốc, bất kể bạn chạy bao nhiêu lượt.
Nếu bạn sử dụng btrfs, hãy làm theo các bước sau:
Bước 1: Xóa tệp và Thùng rác:
rm /path/to/file
rm -rf ~/.local/share/Trash/files/*
rm -rf ~/.local/share/Trash/info/*
Bước 2: Kiểm tra và xóa snapshot (đây là bước quan trọng mà hầu hết mọi người bỏ lỡ):
Nếu bạn sử dụng Snapper hoặc Timeshift, tệp của bạn có thể vẫn tồn tại bên trong một snapshot cũ. Các snapshot này là các bản sao độc lập của subvolume của bạn tại một thời điểm.
# List all snapshots (Snapper)
sudo snapper list
# Delete a specific snapshot
sudo snapper delete <snapshot-number>
# Or list btrfs subvolumes manually
sudo btrfs subvolume list /
# Delete a specific subvolume snapshot
sudo btrfs subvolume delete /.snapshots/<number>/snapshot
Xóa mọi snapshot được chụp sau khi tệp được tạo. Bất kỳ snapshot nào từ trước khi tệp tồn tại đều an toàn để giữ lại.
Bước 3: Xác nhận không có tiến trình nào giữ tệp:
sudo lsof | grep deleted
Bước 4: Chạy TRIM:
sudo fstrim -av
7. Đừng quên xóa Snapshot, Thumbnail và Đám mây
Ngay cả sau khi bạn xóa tệp khỏi bộ nhớ chính, các bản sao có thể ẩn trong những nơi không ngờ tới. Dưới đây là những nơi phổ biến nhất cần kiểm tra.
Bộ nhớ đệm Thumbnail
Trình quản lý tệp hoặc trình xem ảnh của bạn có thể đã tạo một thumbnail nhỏ của tệp và lưu nó riêng. Xóa các bộ nhớ đệm đó:
# GNOME / most desktops
rm -rf ~/.cache/thumbnails/
# Shotwell
rm -rf ~/.cache/shotwell/
# gThumb
rm -rf ~/.cache/gthumb/
Dịch vụ đồng bộ đám mây
Nếu bạn sử dụng Nextcloud, Syncthing, rclone hoặc bất kỳ công cụ đồng bộ nào khác, tệp có thể đã được tải lên. Đăng nhập vào các dịch vụ đó trực tiếp và xóa tệp ở đó. Cũng kiểm tra thùng rác hoặc lịch sử phiên bản của chúng.
Bộ nhớ đệm ứng dụng
Một số ứng dụng như GIMP, Darktable và Shotwell giữ bản sao riêng hoặc lịch sử chỉnh sửa của ảnh. Kiểm tra thư mục bộ nhớ đệm của từng ứng dụng dưới ~/.cache/<appname>/ và ~/.local/share/<appname>/.
Không gian Swap
Nếu hệ thống của bạn bị áp lực bộ nhớ khi bạn mở tệp, Linux có thể đã swap các phần của nó ra đĩa. Cách nhanh nhất để xóa nó là:
# Check you have enough free RAM first
free -h
# Then disable and re-enable swap to flush it
sudo swapoff -a && sudo swapon -a
Nếu bạn đang ở trên HDD và đã cài đặt secure-delete, hãy dùng sswap thay thế. Nó kỹ lưỡng hơn. Xem phần secure-delete ở trên để biết các bước chính xác.
8. Cách xác minh tệp đã biến mất
Sau khi bạn hoàn thành các bước trên, hãy xác minh công việc của bạn. Đừng chỉ cho rằng nó đã hoạt động.
Kiểm tra tệp không còn tồn tại:
ls -la /path/to/file
# Expected: "No such file or directory"
Kiểm tra không có tiến trình nào vẫn giữ nó mở:
sudo lsof | grep deleted
# Expected: no output
Kiểm tra không có snapshot nào chứa nó:
sudo btrfs subvolume list /
# Expected: no relevant snapshot entries remain
Xác nhận TRIM đã chạy thành công:
sudo journalctl -u fstrim --since "1 hour ago"
# Expected: entries showing successful trim of your device
Thử khôi phục tệp của chính bạn:
# Debian, Ubuntu, Linux Mint, Pop!_OS
sudo apt install testdisk
# Fedora
sudo dnf install testdisk
# Arch Linux
sudo pacman -S testdisk
# openSUSE
sudo zypper install testdisk
sudo photorec
Trỏ photorec vào phân vùng của bạn và để nó quét. Nếu nó không thể tìm thấy tệp, một kẻ tấn công thông thường với các công cụ tiêu chuẩn cũng không thể. Đây là xác nhận thực tế tốt nhất của bạn.
Nếu bạn không biết cách sử dụng testdisk hoặc phtorec để khôi phục tệp đã xóa, hãy đọc hướng dẫn sau:
9. Mã hóa toàn bộ đĩa
Trên SSD và hệ thống tệp CoW, xóa an toàn luôn là nỗ lực tốt nhất, nhưng không phải là đảm bảo. Bộ điều khiển SSD có toàn quyền kiểm soát nơi dữ liệu của bạn thực sự sống và bạn không thể ghi đè điều đó từ cấp hệ điều hành.
Cách duy nhất để có bảo vệ dữ liệu thực sự, không thể phá vỡ là mã hóa ổ đĩa của bạn từ đầu với LUKS (Linux Unified Key Setup). Khi toàn bộ ổ đĩa của bạn được mã hóa:
- Ngay cả khi ai đó lấy ổ đĩa vật lý, họ chỉ thấy nhiễu mã hóa.
- "Xóa" một tệp có nghĩa là chìa khóa để giải mã nó đã biến mất. Việc khôi phục trở nên không khả thi về mặt tính toán với công nghệ hiện tại.
Để thiết lập mã hóa LUKS trên một phân vùng mới:
sudo cryptsetup luksFormat /dev/sdX
sudo cryptsetup open /dev/sdX my_encrypted_drive
sudo mkfs.ext4 /dev/mapper/my_encrypted_drive
Đây là một thiết lập nâng cao và hoạt động tốt nhất khi được lên kế hoạch từ lúc bạn cài đặt Linux, không phải là suy nghĩ sau. Tuy nhiên, nếu bạn xử lý dữ liệu nhạy cảm thường xuyên, nó đáng để làm.
10. Bảng tham khảo nhanh: Xóa tệp an toàn trên Linux
HDD + ext4 (dùng shred)
shred -uzn 3 /path/to/file
rm -rf ~/.local/share/Trash/{files,info}/*
rm -rf ~/.cache/thumbnails/
HDD + ext4 (dùng secure-delete – kỹ lưỡng hơn)
sudo srm /path/to/file # securely delete a single file
sudo srm -r /path/to/folder # or a folder
sudo sfill /home # wipe leftover traces in free space
sudo swapoff /dev/sdaX && sudo sswap /dev/sdaX && sudo swapon /dev/sdaX
sudo smem # clear RAM fragments (run when system is idle)
rm -rf ~/.local/share/Trash/{files,info}/*
rm -rf ~/.cache/thumbnails/
SSD (bất kỳ hệ thống tệp nào trừ btrfs)
rm /path/to/file
rm -rf ~/.local/share/Trash/{files,info}/*
rm -rf ~/.cache/thumbnails/
sudo lsof | grep deleted
sudo fstrim -av
SSD + btrfs (Arch, Fedora, openSUSE, Ubuntu 24.04+)
rm /path/to/file
rm -rf ~/.local/share/Trash/{files,info}/*
rm -rf ~/.cache/thumbnails/
sudo snapper list # check for snapshots
sudo snapper delete <number> # delete relevant ones
sudo lsof | grep deleted
sudo fstrim -av
Xác minh nó đã hoạt động
ls -la /path/to/file # should not exist
sudo lsof | grep deleted # should return nothing
sudo photorec # try to recover — expect to find nothing
11. Câu hỏi thường gặp (FAQ)
H: rm có xóa tệp an toàn không?
A: Không. Nó chỉ xóa tham chiếu của hệ thống tệp đến tệp.
H: shred có an toàn để sử dụng trên SSD không?
A: Không. Nó không thể ghi đè đáng tin cậy các ô flash gốc vì SSD sử dụng cân bằng hao mòn.
H: TRIM có xóa tệp của tôi ngay lập tức không?
A: Không phải lúc nào. TRIM nói với SSD khối nào không còn cần thiết. SSD thực hiện dọn dẹp thực tế trong quá trình thu gom rác của chính nó.
H: Snapshot Btrfs có giữ lại các tệp đã xóa không?
A: Có. Nếu một snapshot chứa tệp, việc xóa bản gốc không loại bỏ nó khỏi snapshot.
H: Các công cụ pháp y có thể khôi phục tệp của tôi không?
A: Trong hầu hết các tình huống hàng ngày, việc khôi phục trở nên cực kỳ khó khăn sau khi bạn xóa snapshot, xóa bản sao lưu và thực hiện TRIM.
Tuy nhiên, không có lệnh Linux nào có thể đảm bảo rằng mọi dấu vết đã biến mất khỏi SSD.
Suy nghĩ cuối cùng
Xóa một tệp trên Linux không giống như phá hủy nó. Tuy nhiên, bằng cách làm theo phương pháp đúng cho thiết bị lưu trữ và hệ thống tệp của bạn, bạn có thể làm cho dữ liệu đã xóa khó khôi phục nhất có thể với phần cứng hiện tại.
Các hệ thống Linux hiện đại cũng yêu cầu một cách tiếp cận khác so với các hệ thống cũ. Lời khuyên phổ biến một thời là sử dụng shred không còn phù hợp với nhiều thiết lập thực tế. SSD, Btrfs và các hệ thống tệp copy-on-write khác xử lý dữ liệu rất khác so với ổ cứng truyền thống.
Thay vì cố gắng ghi đè một tệp, hãy tập trung vào việc loại bỏ mọi bản sao của nó. Xóa tệp gốc, làm trống Thùng rác, xóa snapshot, kiểm tra bản sao lưu của bạn, đóng mọi tay cầm tệp đang mở và chạy TRIM trên SSD.
Quan trọng nhất, hãy lên kế hoạch cho quyền riêng tư trước khi bạn cần nó. Nếu bạn thường xuyên làm việc với các tệp nhạy cảm, hãy bật mã hóa toàn bộ đĩa khi bạn cài đặt Linux. Nó cung cấp sự bảo vệ mạnh mẽ hơn nhiều so với việc cố gắng xóa an toàn từng tệp riêng lẻ sau đó.
Những điểm chính:
- Trên HDD, dùng
shredcho các công việc nhanh hoặc bộ công cụsecure-deleteđầy đủ để dọn dẹp kỹ lưỡng, bao gồm không gian trống, swap và RAM. - Trên SSD, dùng
rmvà theo sau vớifstrim. - Trên btrfs, luôn kiểm tra và xóa snapshot. Chúng là cái bẫy lớn nhất.
- Cho mọi thứ, xóa bộ nhớ đệm thumbnail và kiểm tra đồng bộ đám mây.
- Để bảo mật tối đa, bắt đầu với mã hóa toàn bộ đĩa bằng LUKS.
Bạn không cần phải là chuyên gia bảo mật để xử lý việc này đúng cách. Bạn chỉ cần biết bước nào áp dụng cho thiết lập của mình.
Đọc được khuyến nghị:
- Ngăn chặn xóa hoặc sửa đổi tệp và thư mục vô tình trong Linux
- Một cách dễ dàng để bảo vệ tệp khỏi xóa vô tình trong Linux
- Dọn dẹp tệp rác trong Ubuntu bằng Ubuntu Cleaner
- Cách khôi phục dữ liệu từ Synology NAS với Stellar Data Recovery Toolkit
- Cách khôi phục dữ liệu từ QNAP NAS với mảng RAID 6 bị lỗi bằng Stellar Toolkit




