前言
當使用 Dropbox 等雲端硬碟儲存檔案的時候,有時難免會擔心資料的安全性問題而不敢上傳太過私人的資料。雖然也可以利用一些像是 VeraCrypt 之類的加密硬碟技術在 Dropbox 裡存放一個加密檔案空間,但由於整個加密空間視為一個檔案,如檔案太大則同步時可能會花上不少時間。
研究了一下後發現,其實也是有把加密空間表示成許多檔案的加密工具,例如像是 gocryptfs 就是一例。
本文便簡單紀錄 gocryptfs 的用法。
安裝
要在 Ubuntu 底下安裝 gocryptfs 相當容易,可以使用以下指令:
sudo apt install gocryptfs
建立加密資料夾
建立加密資料夾相當容易,首先進到和雲端同步的檔案夾,例如像是 $HOME/Dropbox
,然後直接建立一個新資料夾,並用 gocryptfs -init
指令初始化:
mkdir ENCRYPTED_DIR
gocryptfs -init ENCRYPTED_DIR
Choose a password for protecting your files.
Password:
Repeat:
The gocryptfs filesystem has been created successfully.
You can now mount it using: gocryptfs ENCRYPTED_DIR MOUNTPOINT
裡頭大概會長這樣:
ENCRYPTED_DIR/
├── gocryptfs.conf
└── gocryptfs.diriv
掛載加密資料夾
緊接著,在其他非雲端同步的地方建立掛載點,並掛載加密資料夾:
mkdir MOUNT_DIR
gocryptfs $DROPBOX_DIR/ENCRYPTED_DIR MOUNT_DIR
Password:
Decrypting master key
Your master key is:
********-********-********-********-
********-********-********-********
If the gocryptfs.conf file becomes corrupted or you ever forget your password,
there is only one hope for recovery: The master key. Print it to a piece of
paper and store it in a drawer. Use "-q" to suppress this message.
Filesystem mounted and ready.
這樣就能在 MOUNT_DIR
資料夾裡頭存取檔案了。比如說我們可以隨便新增一個檔案:
echo test > MOUNT_DIR/test.txt
則就可以看到加密資料夾裡頭的加密檔也同步更新,並同步到雲端硬碟上:
ENCRYPTED_DIR/
├── 76h5Zq2yx76i5OP3HrrS3A
├── gocryptfs.conf
└── gocryptfs.diriv
卸載加密資料夾
最後要把資料夾關閉則可使用以下指令:
fusermount -u MOUNT_DIR
下次要打開加密資料夾存取,則再次使用 gocryptfs ENCRYPTED_DIR MOUNT_DIR
指令即可。