커맨드 라인에서`shred` 사용


44

일부 파일을 안전하게 지워야합니다. 나는 shred이전에 리눅스 시스템에서 사용 했으므로 주변을 둘러보고 macports shredcoreutils패키지의 일부 라는 것을 알았습니다 . 내가 그랬어 port install coreutils로 coreutils를 설치,하지만, 난 여전히 찾을 수없는 shred명령 줄에서.

shredMac 명령 줄에서 작업하려면 어떻게 해야합니까? 중요한 경우 Mac OS X 10.7.5 (Lion)를 사용하고 있습니다.


보안은 shred사용중인 파일 시스템 에 달려 있으며 HFS에서 얼마나 효과적인지 모르겠습니다.
Flimm

1
파쇄는 저널 파일 시스템에서 유효하지 않으므로 사용할 수 없습니다. SRM도 효과적이지 않은 것으로 밝혀졌습니다. 정상적으로 삭제하고기도하면 hfs + 저널링 파일 시스템에 대한 유일한 희망 인 것 같습니다
Kevin Johnson

정말?! 왜 효과적이지 않은지 이야기 해 주시겠습니까?
inspectorG4dget

1
저널 파일 시스템은 디스크에 쓰기 전에 수행 될 변경 사항을 기록합니다. 파일 손상을 복구하거나 파쇄 된 데이터를 복구하는 데 사용할 수 있습니다. 참조 en.wikipedia.org/wiki/Journaling_file_system
알렉스 무니

답변:


27

port install coreutils바이너리 이름에 ag 접두사를 추가하므로 shred is /opt/local/bin/gshred입니다.


8
brew install coreutilsgshred브루를 사용하는 사용할 수 있습니다.
davidjb

59

OSX에는 srm파일을 안전하게 제거 하는 기본 제공 명령 이 있습니다. https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/srm.1.html을 참조 하십시오 . rm -P바이트 시퀀스로 파일을 세 번 덮어 쓰는 데 사용할 수도 있습니다 .

sierra 이상에서는 macOS에 더 이상 srm이 포함되지 않습니다. 그러나 사용자는 homebrew로 설치할 수 있습니다.

brew install homebrew/dupes/srm && brew link --force homebrew/dupes/srm

1
물론 파쇄는 덮어 쓰기 횟수를 설정합니다. 이 도구들은 그렇지 않습니다. 그 기능을 얻는 방법에 대한 아이디어가 있습니까?
inspectorG4dget

2
+1 우수 답변. 나는 그 srm명령이 존재 한다는 것을 몰랐다 . 파일을 삭제하기 전에 파일을 덮어 쓰고 이름을 바꾸고 잘립니다. 즉, 7 개의 미국 DoD 호환 패스 (0xF6, 0x00, 0xFF, 랜덤, 0x00, 0xFF, 랜덤) (-m 옵션)와 함께 파일을 복구 할 수 없습니다.
Tulains Córdova

3
macOS Sierra부터는 srm더 이상 포함되지 않습니다.
y3sh

1
macOS 사용자는 srmbrew 명령으로 설치할 수 있습니다 brew install homebrew/dupes/srm.
hd.deman

1
homebrew/dupes더 이상 사용되지 않습니다. 것 같아srm제거로 마이그레이션되지 않았습니다 homebrew-core.
davidjb

18

@ user495470의 답변은 제기 된 질문에 대한 답변입니다. 현대 시스템 에는 문제가 아니 srm거나 shred실제로 의미 가 없습니다 .

이것은 주로 SSD 때문입니다. 자기 디스크와 달리 최신 TRIM 지원 디스크는 백그라운드에서 삭제 된 데이터를 자동으로 지 웁니다.

SSD는 또한웨어 레벨링을 수행합니다. 이로 인해 파일이 쓸모없고 (다른 물리적 위치에 쓸 것임) 바람직하지 않은 (디스크 마모에 불필요하게 기여 함) 파일을 "덮어 쓰려고"합니다.

SSD와 함께 제공되는 모든 Mac에는 TRIM이 활성화되어 있습니다.

다른 문제는 파일 시스템, 특히 저널링 된 파일 시스템으로, 데이터를 작성하기 전에 다른 곳에 데이터 사본을 보관할 수 있습니다.

자성 매체에서도이 두 가지 문제가 발생할 수 있습니다 srm.

모든 사용자 [..]는 srm이 블록을 덮어 쓰는 파일 시스템에서만 작동한다는 것을 알고 있어야합니다. 특히, 대부분의 저널 파일 시스템에서는 [..]에서 작동 하지 않습니다 .

그리고 shred:

[..] 조각은 파일 시스템이 데이터를 덮어 씁니다라는 매우 중요한 가정에 의존합니다. [..] 많은 최신 파일 시스템 설계는이 가정을 만족시키지 않습니다. 예외는 다음과 같습니다. 로그 구조 또는 저널 파일 시스템 [..]

HFS Plus 볼륨은 Mac OS X v10.3부터 기본적으로 저널링됩니다.

요즘에는 파일을 안전하게 "삭제"하는 가장 좋은 방법은 FileVault를 활성화 한 다음 (파일이 처음에는 암호화되지 않은 디스크를 쓰지 않음) 파일을 삭제하고 TRIM에서 정렬하도록하는 것입니다.

불행한 일로 자기 매체에 있고 저널링을 사용할 수없고 어떤 이유로 디스크를 암호화 할 수없는 경우 옵션은 다음과 같습니다.

  • 을 사용 rm -P하여 파일을 덮어 쓴 0xff다음을 사용한 0x00다음 0xff다시 사용
  • 설치 coreutils를 위해 gshred(예. brew install coreutils && gshred secrets.txt)
  • srm제거되었습니다 homebrew-dupeshomebrew-core하지만 누군가가있어 여기에 탭을 발표 하는 작품 (예. brew install khell/homebrew-srm/srm && srm secrets.txt)
  • 매체의 물리적 파괴 :)

그러나 전체 파티션이나 전체 디스크를 파쇄하면 파쇄가 여전히 괜찮습니다.
Konstantin

당신은 같은 의미 shred /dev/hda입니까? 맞아, 그런가 봐. OS에 의해 처리되는 블록은 여전히 ​​물리적 메모리에서 추상화되며 파쇄 중에 잠재적으로 다시 매핑 됩니다 . 마모 레벨링과 예비 공간이 구현되어 이것이 항상 작동하지 않을 수 있는지 궁금합니다.
Molomby

SSD에서 파쇄가 의미가없는 이유와 FileVault 사용 제안에 대한 설명은 +1입니다. APFS는 저널링되었거나 파일 삭제를 처리하는 방법을 알고 있습니까? (아마도 별도의 스레드가 있어야합니다!)
Stuart H

1
여기에는 '내부'드라이브에만 보안 삭제가 필요하다는 가정이있는 것 같습니다. 연결된 드라이브는 모든 형태로 제공되며 srm이 일부에 적합합니다.
Rondo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.