새 파일을 만들지 않고도 디렉토리와 그 내용을 암호로 보호하는 가장 간단한 방법은 무엇입니까?


22

디렉토리와 그 안의 모든 파일 (아래의 전체 디렉토리 트리)을 암호로 보호하거나 암호화하고 싶습니다. 전체 홈 디렉토리를 귀찮게하고 싶지 않으며 파일과 폴더가있는 특정 디렉토리를 원합니다. 디렉토리를 암호화하거나 암호를 사용하여 해독하고 싶습니다. 커맨드 라인을 사용하는 것이 가장 좋습니다. 새 파일을 암호화 된 버전으로 만든 다음 암호화되지 않은 버전 인 이전 파일을 삭제하고 싶지 않습니다.


흥미로운, "새 파일을 만들지 않고"...
phunehehe

암호화 된 파일 시스템으로 마운트 하시겠습니까?
Faheem Mitha

@FaheemMitha, 나는 또한 파일 시스템 경로를 피하고 싶습니다. 복잡하게 들립니다.
Vass

1
@Vass 파일 시스템 경로는 지금까지 가장 간단한 방법입니다. 솔루션을 임의로 거부하지 않으면 인생을 편하게 할 수 있습니다.
Gilles 'SO- 악마 그만'

참고 : encfs는 안전한 것으로 간주되지 않습니다. askubuntu.com/questions/813290/encfs-insecure-what-to-now-now
Keiran Raine

답변:


23

encfs를 사용하십시오 (대부분의 배포판에서 패키지로 사용 가능). 설정하기:

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, 빈 디렉토리의 위치를 ​​두 번째 인수로 전달하는 것입니다.


대답은 매우 유용하고 실용적입니다. 귀찮지 않은 경우 각 작업이 수행하는 작업을 설명하기 위해 더 많은 텍스트를 추가 할 수 있다면 대단히 감사하겠습니다. 이 맥락에서 파일 시스템의 의미와 마운트의 관련성을 설명 할 수 있습니까?
Vass

1
@Vass 자세한 설명으로 답변을 업데이트했습니다. 파일 시스템 및 마운트에 대한 배경 지식 은 일반적인 Linux 시스템에 어떤 마운트 지점이 있습니까?를 참조하십시오 . 그리고 리눅스에서 장치를 마운트한다는 것은 무엇을 의미합니까?
Gilles 'SO- 악마 그만'

그것은 놀라운 설명입니다. 많이 배운 것 같아요. 그리고 추가 링크가 도움이됩니다. 따라서 encfs가 만든 파일 시스템은 '원본 파일의 블록을 뒤죽박죽'하며 encfs를 통해 파일을 탐색하고 읽을 수 있습니다. 원본 파일 시스템은 이러한 데이터 블록을 사용할 수 없기 때문입니다. 암호화 된 디렉토리는 우연히 들어 가지 않도록 숨겨져 있습니다. 그리고 당신이 않았다면 아무것도 보이지 않습니까?
Vass

1
@Vass“encfs가 만든 파일 시스템은 '원본 파일의 블록을 뒤죽박죽'하며 encfs를 통해 탐색하고 읽을 수 있습니다. 디렉토리 ~/.encrypted는 암호문을 포함합니다. 를 거치지 않고 액세스 할 수 encfs있지만 암호화 된 데이터 만 표시됩니다.
Gilles 'SO- 악마 그만'

2

새 파일을 암호화 된 버전으로 만든 다음 암호화되지 않은 버전 인 이전 파일을 삭제하고 싶지 않습니다.

그러나 그것은 당신이 묘사 한 시나리오입니다. ... "디렉토리를 암호화하거나 해독 할 수 있습니다"

찾고있는 솔루션이 암호화 된 FUSE 또는 이와 비슷한 것 같습니다 . 파일 시스템은 암호화 된 파일에 저장되며 (패스 프레이즈로) 마운트되면 VFS 계층을 통해 투명하게 액세스 할 수 있습니다.


새 파일을 만들고 이전 파일을 삭제하는 것은 암호로 보호 된 .zip 경로입니다. 참조하는 파일 시스템 및 마운트 경로를 이해하지 못합니다. 어떤 방식으로 파일을 뒤섞은 다음 다시 순서대로 넣을 수있는 프로그램이 없습니까?
Vass

예, 여기 FUSE 암호화 파일 시스템의 전체 목록이 있습니다. 우편 경로 가장 간단합니다
bsd

@Vass "zip 경로"의 의미를 이해하지 못합니다. 압축이 필요 없습니다. 평문은 디스크에 저장되지 않습니다 (매우 복잡하고 대부분의 암호화 목적을 무효화합니다).
Gilles 'SO- 악마 그만'

2
zip route / zip 경로는 암호화 / 암호 옵션을 사용하여 디렉토리를 재귀 적으로 압축하는 것입니다. 그러나 파일에 액세스하려면 zip에서 암호화되지 않은 파일을 추출하고 파일을 읽은 다음 파일을 삭제 또는 편집 한 다음 새 파일로 zip을 업데이트 한 다음 중간 파일을 삭제해야합니다. 그는 암호화 된 파일 시스템의 투명성을 원하지만 디렉토리 수준에서 찾고 있습니다. 나와 다른 사람들은 암호화 된 fs로 FUSE를 제안합니다. "단순"은 관점과 경험의 문제입니다.
bsd

@bdowning, 그렇습니다, 당신은 그것을 정확하게 설명했습니다. 파일 시스템과 그 작동을 이해하지 못합니다. 나는 개념을 이해하지 않고 명령으로 맹목적으로 일할 것이다.
Vass
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.