도구 wipe
에는 옵션이 있습니다 -k Keep files, i.e. do not remove() them after overwriting
.
음...지워진 파일을 삭제하지 않는다는게 무슨 뜻인가요?
답변1
이것맨페이지그래서 설명 -k
:
파일 보존: 파일을 덮어쓴 후에는 링크를 해제하지 마세요. 장치별 파일을 유지하면서 장치를 초기화하려는 경우 유용합니다. 이것은 의미합니다
-F
.
주요 사용 사례 -k
는 다음과 같습니다.
wipe -k /dev/sda
이렇게 하면 장치 노드를 삭제하지 않고 드라이브의 모든 내용을 덮어씁니다.
"표준" 파일에 사용하면 파일의 내용은 지워지지만 파일 자체(이름과 상위 디렉터리에 있는 파일의 존재)는 보존됩니다.
답변2
유사한 프로그램wipe
그리고shred
다른 프로그램과 동일한 인터페이스를 사용하여 파일 데이터로 작업하도록 설계되었습니다. 그들은 일반적인 운영 체제 기능을 사용하여 파일에 0을 쓰고 파일 시스템이 이전 데이터와 동일한 디스크 블록에 새 데이터를 저장하여 이전 데이터를 덮어쓸 것으로 예상합니다. .unlink()
따라서 파일을 덮어쓴 후 보존은 삭제가 아닌 파일 보존만 됩니다. 내용만 변경되었습니다.
예를 들어 shred
파일은 기본적으로 연결 해제되지 않습니다.
$ cat somefile
some secret data
$ shred somefile
$ ls -l somefile
-rw-r--r-- 1 username username 4096 Jun 27 19:28 somefile
$ od -tx1 somefile |head -2
0000000 2b d7 fe 76 a0 4c 79 4e b6 bc 26 7d 6c b0 4e ed
0000020 81 a2 bf 3f ce af ce f0 07 2b fe 80 50 39 e3 c9
그 후에도 shred
파일은 여전히 임의의 바이트로 가득 차 있습니다. 파일은 잘리거나 삭제되지 않습니다. shred
덮어쓸 때(마지막 데이터 블록을 완전히 덮어쓰기 위해) 파일 크기가 반올림되기 때문에 실제로 크기가 증가했습니다 .
물론 를 사용하여 파일을 삭제할 수 있습니다 rm somefile
.
재정의에 따른 가정은 모든 파일 시스템에 적용되지 않을 수도 있습니다. 최소한 파일 데이터 로깅(ext4에서 가능) 및 쓰기 시 복사 파일 시스템(btrfs)은 기본적으로 데이터의 여러 복사본을 저장하므로 덮어쓰기가 효과적이지 않습니다.