개요
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를 실행해야 합니다.