리눅스 시스템에서 shred 명령으로 파일 완전히 삭제하기 (복구 불가능하게 하기)
shred 명령은 Unix 또는 Linux 계열 운영 체제에서 파일이나 디스크의 데이터를 영구적으로 삭제하는 데 사용되는 명령입니다.
shred 는 파일의 데이터를 여러 번 덮어써서 원래 데이터를 복구할 수 없도록 만듭니다. 이는 보안상 중요한 데이터를 안전하게 삭제할 때 유용합니다.
1. shred 명령 사용법
기본적인 shred 명령 사용법은 다음과 같습니다:
# shred [옵션] 파일명
주요 옵션
-n, --iterations=N: 파일을 덮어쓰는 횟수를 지정합니다. 기본값은 3입니다.
-z, --zero: 마지막 덮어쓰기 시 모든 비트를 0으로 설정합니다. 이는 덮어쓰기가 감지되지 않도록 합니다.
-u, --remove: 파일을 덮어쓴 후 삭제합니다.
-v, --verbose: 진행 상황을 자세히 출력합니다.
-f, --force: 읽기 전용 파일의 쓰기 권한을 변경하여 덮어씁니다.
-s, --size=N: 덮어쓰는 크기를 지정합니다.
2. 예제
파일을 3번 덮어쓰고 삭제
# shred -u 파일명
파일을 5번 덮어쓰고 마지막에 0으로 덮어쓰기
# shred -n 5 -z 파일명
진행 상황을 출력하면서 파일을 덮어쓰고 삭제
# shred -v -u 파일명
3. 주의 사항
- 저널링 파일 시스템 : shred 는 파일 시스템이 저널링을 사용하는 경우 (예: ext3, ext4, XFS 등) 덮어쓰기 효과가 제한될 수 있습니다. 저널링 파일 시스템에서는 파일의 메타데이터를 기록하므로 파일이 완전히 덮어쓰여지지 않을 수 있습니다.
- SSD 와 플래시 메모리 : SSD 와 플래시 메모리 장치는 내부적으로 쓰기 동작을 최적화하므로, shred 명령이 모든 데이터를 덮어쓰지 않을 수 있습니다. 이러한 장치에서는 장치 자체의 보안 삭제 기능을 사용하는 것이 좋습니다.
- 디렉터리 : shred 명령은 디렉터리 자체를 삭제할 수 없습니다. 디렉터리 내의 파일을 개별적으로 삭제해야 합니다.
4. 예제 시나리오
1) 중요한 텍스트 파일 삭제
중요한 텍스트 파일 sensitive_data.txt 를 안전하게 삭제하고 싶다면 다음과 같이 할 수 있습니다:
# shred -u -v sensitive_data.txt
이 명령은 sensitive_data.txt 파일을 덮어쓰고, 마지막에 삭제하며, 진행 상황을 출력합니다.
2) 특정 파일을 여러 번 덮어쓰기
파일 data.bin을 7번 덮어쓰고 마지막에 0으로 덮어쓰기:
# shred -n 7 -z -v data.bin
이 명령은 data.bin 파일을 7번 덮어쓰고, 마지막에 0으로 덮어쓰며, 진행 상황을 출력합니다.
shred 명령은 파일을 영구적으로 삭제하여 데이터 복구를 어렵게 만들 때 유용하지만, 사용 환경에 따라 제한이 있을 수 있으므로 주의해서 사용해야 합니다.
'리눅스 > OS 일반' 카테고리의 다른 글
Proxmox 에서 Load Balancer 사용하는 네가지 방법 (XFF : X-Forwarded-For 포함) (0) | 2024.06.26 |
---|---|
Proxmox VE 에서 LXC (LinuX Containers) 사용하기 (0) | 2024.06.25 |
Proxmox 용 Ubuntu 24.04 클라우드 이미지 및 템플릿 준비, VM 생성 및 볼륨 추가 (0) | 2024.06.21 |
Ubuntu 24.04 설치 후 한글 (fcitx) 사용하기 (0) | 2024.06.21 |
Debian 12.5 설치 후 기본 설정 (0) | 2024.06.21 |