> 파일 및 디렉토리 관리 > shred

shred: 파일 내용 안전하게 삭제

shred 명령어는 파일의 내용을 여러 번 덮어써서 복구가 불가능하도록 안전하게 삭제하는 데 사용됩니다. 일반적인 파일 삭제는 데이터 복구 가능성이 있지만, shred는 민감한 정보를 다룰 때 유용합니다.

개요

shred는 파일의 내용을 무작위 데이터로 여러 번 덮어쓴 후, 선택적으로 파일을 삭제하여 데이터 복구를 어렵게 만듭니다. 특히 SSD와 저널링 파일 시스템에서는 효과가 제한적일 수 있으므로 주의해야 합니다.

주요 특징

  • 파일 내용을 여러 번 덮어쓰기
  • 선택적으로 덮어쓴 후 파일 삭제
  • 민감한 데이터의 복구 방지
  • 디스크 파티션 전체를 안전하게 삭제 가능

주요 옵션

삭제 동작 제어

생성된 명령어:

명령어를 조합해 보세요.

설명:

`shred` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

shred 명령어는 한 번 실행하면 되돌릴 수 없으므로, 사용 시 매우 신중해야 합니다.

파일을 덮어쓰고 삭제

shred -u my_secret_file.txt

가장 일반적인 사용법으로, 파일을 3번 덮어쓴 후 삭제합니다.

덮어쓰기 횟수 지정 및 삭제

shred -n 5 -u another_secret.doc

파일을 5번 덮어쓴 후 삭제합니다.

마지막을 0으로 채우고 삭제

shred -z -u confidential_data.zip

파일을 덮어쓰고 마지막 덮어쓰기 패턴을 0으로 채운 후 삭제합니다.

진행 상황을 보면서 삭제

shred -v -u large_file.log

파일을 덮어쓰고 삭제하는 과정을 자세히 출력합니다.

디스크 파티션 전체 안전 삭제 (매우 위험)

sudo shred -v -n 3 /dev/sdb1

경고: 이 명령어는 지정된 디스크 파티션의 모든 데이터를 복구 불가능하게 삭제합니다. 시스템이 부팅 불가능해질 수 있으므로 절대적으로 필요한 경우에만 사용하고, 대상 장치를 정확히 확인해야 합니다.

팁 & 주의사항

shred 명령어는 강력하지만, 특정 환경에서는 예상대로 작동하지 않거나 제한적인 효과를 가질 수 있습니다.

shred의 제한 사항

다음과 같은 환경에서는 shred의 효과가 제한적일 수 있습니다.

  • **SSD 및 저널링 파일 시스템**: SSD의 웨어 레벨링(wear leveling) 기능이나 ext3/4, XFS와 같은 저널링 파일 시스템은 데이터를 다른 물리적 위치에 기록할 수 있어 shred가 원본 데이터를 완전히 덮어쓰지 못할 수 있습니다.
  • **네트워크 파일 시스템 (NFS, SMB 등)**: 네트워크 파일 시스템에서는 shred가 클라이언트 측에서만 작동하고 서버 측의 실제 데이터를 덮어쓰지 못할 수 있습니다.
  • **스냅샷/백업 시스템**: 스냅샷이나 백업 기능을 사용하는 시스템에서는 shred가 원본 데이터를 삭제해도 스냅샷에 남아있을 수 있습니다.
  • **압축 파일 시스템**: 압축 파일 시스템은 데이터가 저장되는 방식 때문에 shred가 효과적이지 않을 수 있습니다.

대안

위와 같은 환경에서 민감한 데이터를 안전하게 삭제해야 할 경우, 디스크 전체를 암호화하거나, 디스크를 물리적으로 파괴하는 것이 더 안전한 방법일 수 있습니다. 또는 `dd` 명령어를 사용하여 `/dev/urandom`으로 디스크 전체를 덮어쓰는 방법도 고려할 수 있습니다.

주의: 디렉토리 삭제 불가

shred는 파일의 내용을 덮어쓰는 도구이므로, 디렉토리를 직접 삭제할 수는 없습니다. 디렉토리 내의 파일을 삭제하려면 각 파일에 대해 shred를 실행해야 합니다.


동일 카테고리 명령어