encfsはFUSEを使用して、暗号化されたディレクトリ(慣例に従って隠された「.directory」)をユーザーが指定した別のディレクトリにマウントします。
クライアントで(要求時に)復号化される暗号化された「.directory」をNFS経由で共有したいと思います。
これを試してみると、インストールコマンドが成功し、報告されたエラーなし("-vvv"パラメータを使用している場合でも)しかし、クライアントのマウントは常に空です。なぜ?この問題をどのように解決できますか?
私の計画は、クライアントが常に復号化されたディレクトリをマウントする必要がないため、セキュリティが向上することです(希望)。
共有するもう1つの方法は、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)
私は2つの方法を試しました。
まず試してください。
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