폴더를 파쇄하는 방법?


18

폴더 / 디렉토리의 내용 (폴더 / 디렉토리 내부에있을 수 있음)의 내용을 완전히 파쇄하기를 원합니다. 또한 명령을 설명하십시오.


"파쇄"를 정의하십시오. shred명령이 수행 하는 것을 의미한다면 답이 있습니다.
psusi

매우 밀접한 관련 : askubuntu.com/questions/57572/…
Takkat

@ psusi- 파쇄하여 복구 이상으로 파일을 삭제하는 것을 의미합니다. 나는 파쇄 명령을 사용하고 있었지만 파일에만 적용 할 수 있었기 때문에 폴더와 파일을 삭제하는 비슷한 명령을 원했습니다.
Ashu

어느 쪽이 완벽하게 일을 shred하거나 secure-delete?
Ashu

1
여기에서 우연히 발견되는 다른 사용자의 경우 최신 파일 시스템 및 하드웨어가 데이터를 덮어 쓰지 않고 변경 사항을 저널링하거나 마모 수준 조정을 위해 이동하기 때문에 shred 생각만큼 효과적이지 않습니다. 관련 : unix.stackexchange.com/questions/27027/…
Mike Ounsworth

답변:


27
  1. 패키지를 설치하십시오 secure-delete.
  2. 명령 srm -r pathname을 사용 하여 폴더와 파일을 제거하십시오.

기본 설정은 덮어 쓰기의 38 (!!!) 패스에 대한 것으로 과도한 오버 킬 imho입니다 (자세한 내용은 여기 참조 ).

내 용도로는 단일 패스의 임의의 데이터 만 원하므로을 사용 srm -rfll pathname합니다.

파일 및 폴더에 대한 GUI에서 마우스 오른쪽 단추 클릭 옵션을 작성하려면 gnome-actions를 사용하여 다음과 같이 스크립트를 호출하십시오.

#!/bin/bash
if dialog=`zenity --window-icon=warning --question --title="Secure Delete" --no-wrap --text="Are you sure you want to securely delete:\n\n     $1\n\nand any other files and folders selected? File data will be overwritten and cannot be recovered."` 
then /usr/bin/srm -fllrv "$@"| zenity --progress --pulsate --text="File deletion in progress..." --title="Secure Delete" --auto-close
fi 

더 많은 편집증 설정을 원하면 위의 스크립트를 수정하십시오.


1
-f fast (and insecure mode): no /dev/urandom, no synchronize mode. -l lessens the security (use twice for total insecure mode). 이 두 가지를 설명해 주시겠습니까? 38 개의 덮어 쓰기는 이것이 '38'값에 어떤 영향을 미치는지 기본값입니다. 그리고 왜 l두 번-rfll
Ashu

2
전체 기본 프로세스는 다음과 같습니다. 0xff를 사용한 1 패스 (제로 와이프 없음), / dev / urandom을 사용한 5 개의 랜덤 패스는 보안 RNG에 사용되며, 27 개의 패스는 Peter Gutmann에 의해 정의 된 특수 값으로, 다른 5 개의 랜덤 패스는 / dev / random. 그런 다음 파일 이름을 임의의 값으로 바꾸고 파일을 자릅니다. IIRC, / dev / random은 더 나은 난수 생성 시스템으로 간주됩니다. -fll을 사용하면 1 + 5 + 27 + 5 패스를 건너 뛰고 "정확하지 않은 무작위"생성기에서 랜덤 데이터의 단일 패스로 대체 할 수 있습니다.
Veazer

@Ashu는 srm에 대한 맨 페이지 (Debian Jessie)에서 단축되었습니다. (frist) -l: only two passes, (second) -l: only one pass. 다른 사람을 위해, -f: fast (Non-secure random bits)그리고 -r: recursive. 나는 또한 강력히 제안한다 -v: verbose. 또한 screen인스턴스에서이를 실행하는 것이 좋습니다 . 많은 데이터에서 꽤 오래 걸릴 수 있습니다.
ThorSummoner

1
나는 교체 한 /usr/bin/srm -fllrvbleachbit -s

8

디렉토리가 아닌 파일의 경우 다음과 같은 방법 대신 더 간단한 방법 -exec shred -u {} \;이 있습니다.

cd to your directory.

그때

find . -type f -print0 | xargs -0 shred -fuzv -n 48

이것은 현재 디렉토리로 재귀 적으로 48 번 전달 cd합니다.

이것이 도움이되기를 바랍니다.


xargs에 '-print0'을 추가하고 xargs에 '-0'을 추가 하시겠습니까? 디렉토리 이름에 공백이있을 수 있습니다.
15:03에

좋은 대답이지만 왜 xargs를 사용합니까? 나는 xargs를 이해하지 못한다.
Chinmaya B

1

파쇄는 파일에서만 작동합니다. 먼저 dir / subdirs의 파일을 파쇄 한 다음 디렉토리를 제거해야합니다. 시험

find [PATH_TO_DIR] 

삭제하려는 파일 만 표시되는지 확인하십시오.

find [PATH_TO_DIR] -exec shred -u {} \;

그런 다음 먼지를 제거하십시오

rm -rf [PATH_TO_DIR]

설명해 주시겠습니까 {} \;? 또한 어딘가에 나는 당신과 같은 명령을 보았지만 '{}' \;둘 사이의 차이점 은 무엇입니까 ??
Ashu

파쇄는 디렉토리에서 작동하지 않기 때문에 -type f 옵션을 find 명령에 추가하는 것은 어떻습니까?
andol

@ andol : 네, 그런 생각을 했어요 ..
Ashu

1
Cant는 find man 페이지보다 더 잘 설명 할 수 있습니다 .... {} and \; 찾기의 -exec 옵션의 일부입니다.
Ruediger

1

아마도 다음과 비슷한 것을 사용하고 싶을 것입니다.

find dir -type f -exec shred -fuz {} +
rm -rf dir

첫 번째 명령은 파일 만 찾아서 파쇄로 전달합니다 (가능한 한 번에 많은 파일-\와 같은 모든 파일에 대해 새 파쇄 프로세스를 시작할 필요가 없습니다). 마지막으로 디렉토리도 제거하십시오.


1

sudo apt install wipe

$ wipe -rfi dir/*

플래그가 사용 된 위치 : -r – tells wipe to recurse into subdirectories -f – enables forced deletion and disable confirmation query -i – shows progress of deletion process


0

이 목적으로 다음 bash 스크립트를 .bashrc에 삽입했습니다.

function rm2 {

  for var in $@
  do
  if [ -d $var ]
  then
     nohup $( /usr/bin/find "$var" -type f -exec  shred -n 2 -u -z -x {} \;;/bin/rm -rf "$var" ) & 
  else
    nohup /usr/bin/shred -x -n 2 -u -z "$var" & 
  fi
done
exit
}

-1

shred -vzn 20 ./shredme/*.*예를 들어 여러 파일 또는 전체 디렉토리를 파쇄해야 할 경우 "shredme"폴더의 모든 파일 확장자를 가진 모든 파일을 덮어 쓰는 등의 예 를 사용 하면됩니다. 그런 다음 표준 rm -rf ./shredme 명령을 사용하여이 예제에서 모든 데이터를 20 번 덮어 쓴 것처럼 폴더 자체를 제거하거나 마우스 오른쪽 단추를 클릭하고 폴더를 삭제하십시오.

예를 들어 여러 개의 중복 이미지로 간단한 예를 보았습니다.

터미널 스크린 샷

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.