디렉토리와 그 안에 있는 모든 파일(아래의 전체 디렉토리 트리에 대해)을 비밀번호로 보호하거나 암호화하고 싶습니다. 나는 전체 홈 디렉토리에 신경쓰고 싶지 않고, 일부 파일과 폴더가 있는 특정 디렉토리를 원합니다. 디렉토리를 암호화하거나 비밀번호를 사용하여 해독할 수 있기를 원합니다. 명령줄을 사용하는 것이 가장 좋습니다. 암호화된 버전으로 새 파일을 생성한 다음 암호화되지 않은 이전 버전을 삭제하고 싶지 않습니다.
답변1
사용환경 파일 시스템(대부분의 배포판에서 패키지로 사용 가능) 설립하다:
mkdir ~/.encrypted ~/encrypted
encfs ~/.encrypted ~/encrypted
# enter a passphrase
mv existing-directory ~/encrypted
encfs
암호화된 파일 시스템을 설정하기 위한 초기 호출입니다. 그 후, 작성한 모든 파일은 ~/encrypted
디스크에 직접 저장되지 않고 암호화되며 암호화된 데이터는 에 저장됩니다 ~/.encrypted
. 이 encfs
명령은 암호화를 처리하는 데몬을 계속 실행합니다(파일 암호 해독에서 읽기 ~/encrypted
).
~/encrypted
즉, 읽기 및 쓰기와 같은 작업은 . encfs
데이터를 암호화 및 해독하고 ~/.encrypted
디렉터리를 사용하여 암호문을 저장하는 프로세스에 의해 실행됩니다 .
파일 작업이 일시적으로 완료되면 암호를 다시 입력할 때까지 데이터에 액세스할 수 없도록 파일 시스템을 마운트 해제합니다.
fusermount -u ~/encrypted
그 후에는 ~/encrypted
다시 빈 디렉토리가 됩니다.
나중에 이 파일에 대해 다시 작업하려면 암호화된 파일 시스템을 마운트하십시오.
encfs ~/.encrypted ~/encrypted
# enter your passphrase
~/.encrypted
그러면 다시 디렉토리의 암호화된 파일에 액세스할 수 있게 됩니다 ~/encrypted
.
~/encrypted
필요한 경우 마운트 지점을 변경할 수 있습니다( encfs ~/.encrypted /somewhere/else
그러나 암호화된 디렉터리는 한 번에 한 번만 마운트할 수 있습니다). 암호문을 다른 위치로 복사하거나 이동할 수 있습니다(설치 시에는 아님). 또는 이러한 파일을 처리하기 위해 다른 시스템으로 복사하거나 이동할 수 있습니다. 암호문의 위치를 첫 번째 인수로 전달 encfs
하고 두 번째 인수로 빈 디렉터리의 위치를 지정합니다.
답변2
암호화된 버전으로 새 파일을 생성한 다음 암호화되지 않은 이전 버전을 삭제하고 싶지 않습니다.
하지만 이것은 정확히 당신이 설명하는 시나리오입니다... "디렉토리를 암호화하거나 해독할 수 있습니다"
귀하가 찾고 있는 솔루션이 암호화된 FUSE 또는비슷한. 파일 시스템은 암호화된 파일에 저장되며 마운트 시(비밀번호 사용) VFS 계층을 통해 투명하게 액세스할 수 있습니다.