encfs는 FUSE를 사용하여 암호화된 디렉터리(관례에 따라 숨겨진 ".directory")를 사용자가 지정한 다른 디렉터리에 마운트합니다.
클라이언트에서 (요청 시) 해독될 암호화된 ".directory"를 NFS를 통해 공유하고 싶습니다.
이 작업을 시도하면 설치 명령이 성공하고보고된 오류 없음("-vvv" 매개변수를 사용하는 경우에도) 하지만,클라이언트의 마운트는 항상 비어 있습니다.왜? 이 문제를 어떻게 해결할 수 있나요?
내 계획은 클라이언트가 항상 해독된 디렉터리를 마운트할 필요가 없으므로 보안이 향상되는 것입니다(희망합니다).
공유하는 또 다른 방법은 NFS 서버에서 암호를 해독하는 것입니다. 즉, 항상 암호가 해독된 상태로 유지되어야 합니다(내가 아는 한).
고쳐 쓰다: 복호화된 디렉터리를 NFS 서버에 마운트한 다음 디렉터리를 공유하려고 시도하지 않았음을 명확히 하고 싶습니다. 원시 암호화된 디렉터리를 공유하려고 합니다.
NFS 서버(192.168.1.1 파일서버)
/etc/fstab:
/home/.shared /export/home/.shared none bind 0 0
/etc/export:
/export/home/.shared 192.168.1.10(fsid=2,rw,no_root_squash,sync,no_subtree_check,nohide)
NFS 클라이언트(192.168.1.10)
나는 두 가지 방법을 시도했습니다.
먼저 시도하십시오.
fileserver:/export/home/.shared /home/.shared nfs4 noauto,x-systemd.automount,x-systemd.device-timeout=10,timeo=14,rw,relatime,vers=4.0,rsize=1048576,wsize=1048576,namlen=255,intr,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.10,local_lock=none,addr=192.168.1.1 0 0
나는 또한 다음을 시도했습니다.
fileserver:/export/home/.shared /home/.shared nfs4 noauto,_netdev,relatime,vers=4.0,rsize=1048576,wsize=1048576,namlen=255,intr 0 0
답변1
암호화된 디렉터리에 저장된 데이터는 파일 시스템에서 일반 파일처럼 보입니다(이상한 이름과 암호화된 데이터만 포함). 따라서 암호화된 마운트 지점을 내보내는 것이 제대로 작동합니다.
따라서 서버에서 test1
테스트 디렉터리를 만들 수 있습니다.
$ cd /home/sweh
$ mkdir encrypted decrypted
$ encfs ~/encrypted ~/decrypted
[...]
$ echo hello > decrypted/foo
$ ls encrypted
C-1Ky9g41JBTIYaBJC7EeiiH
이제 내보낼 수 있습니다. /etc/exports
가지다:
/home/sweh/encrypted *(rw,no_root_squash,sync,no_subtree_check,nohide)
우리는 그것을 수출하기 위해 달렸습니다 exports -a
.
이제 test2
설치할 수 있습니다:
$ mkdir encrypted decrypted
$ sudo mount test1:/home/sweh/encrypted encrypted
$ ls encrypted
C-1Ky9g41JBTIYaBJC7EeiiH
encfs
클라이언트에서 이를 사용할 수 있습니다 .
$ encfs /home/sweh/encrypted /home/sweh/decrypted
EncFS Password:
$ cat decrypted/foo
hello