파티션에서 rm 및 Zerofree를 사용하여 데이터를 삭제하는 것이 얼마나 안전합니까?

파티션에서 rm 및 Zerofree를 사용하여 데이터를 삭제하는 것이 얼마나 안전합니까?

또는 다음 을 사용하는 대신 간단히 파일 링크를 해제하고 관련 파티션에서 실행할 수 있습니다 srm.wipeshredzerofree

mount /dev/sda1 /mnt
rm /mnt/confidential_file
umount /mnt
zerofree /dev/sda1

srm이 방법은 , 및 에 비해 wipe얼마나 안전합니까 shred?

추신: 또한 파일 연결을 해제하고 파일 파쇄를 예약하는 방법도 찾고 있습니다.

답변1

shred개별 파일은 해당 파일의 다른 복사본이 생성되지 않도록 보장할 수 있는 만큼만 안전합니다. 이는 매우 큰 파일(영화)에 대해 작동할 수 있습니다. 해당 파일을 다시 인코딩하지 않는다고 가정하면 작은 파일, 문서 및 실제로 사용하는 모든 항목에는 전혀 작동하지 않습니다.

'저장'을 클릭할 때마다 다른 사본이 생성됩니다. 저장하면 파일이 0바이트로 잘리고 새 파일(일반적으로 다른 물리적 위치)에 기록되기 때문입니다. 파일 시스템조차도 이전 복사본이 어디에 있는지 더 이상 알 수 없으므로 shred다른 유틸리티를 사용하여 삭제할 수 없습니다.

따라서 사용 가능한 모든 공간을 덮게 됩니다. 이는 단일 파일을 파쇄하는 것보다 훨씬 낫지만 자체적인 함정이 있습니다. 루트 예약을 무시하려면 루트여야 하며 파일 시스템은 단순히 가득 차는 것을 좋아하지 않습니다. 동시에 들어오는 다른 쓰기는 실패하면 이 프로세스에서 실제 데이터가 손실됩니다.

따라서 다음과 같은 방법이 있습니다.

truncate -s 1E sparsefile
shred -v -n 1 sparsefile
sync # other programs will lose data at this point
rm sparsefile

SSD를 사용하면 내장 기능으로 zerofree가 있으며, fstrim/discard가 바로 그 기능을 수행하여 여유 공간을 빠르고 쉽게 제거합니다. 기본적으로 SSD를 사용하면 정리 후에 삭제된 파일을 복구할 수 없습니다.

안전 해요? 이는 삭제하려는 파일 시스템과 파일 크기에 따라 다릅니다. 일부 파일 시스템에는 블록을 공유하는 여러 개의 작은 파일과 같이 구석구석이 있으며, 임의의 데이터로 가득 찬 거대한 파일을 생성할 때 해당 공간을 덮어쓰지 않습니다. 또한 디렉터리 항목에 남아 있는 파일 이름과 같은 다른 추적이 있을 수도 있습니다.

한 번에 전체 장치를 덮을 수는 없습니다.

# backup everything
blkdiscard /dev/sda    # SSD
shred -v -n 1 /dev/sda # HDD
# create partitions, filesystems, restore backup

관련 정보