透明存取加密后文件并將加密后文件備份至網(wǎng)盤

你是怎么備份自己重要而又敏感的資料的?
藏在自己電腦里俺叭?萬(wàn)一電腦壞了恭取。。
拿去修熄守。蜈垮。陳老師您好
拷貝一份在移動(dòng)硬盤上?移動(dòng)硬盤多容易壞多容易被人直接拿去用加密壓縮后存起來(lái)裕照?每次用都要解壓攒发,更新點(diǎn)內(nèi)容還要再壓縮加密一次
直接備份到網(wǎng)盤上?國(guó)內(nèi)網(wǎng)盤的隱私保障晋南。惠猿。。只能呵呵了
我知道各個(gè)網(wǎng)盤服務(wù)商也不愿隨便踐踏用戶的隱私负间,可大環(huán)境么偶妖,大家都懂的
還有的會(huì)用truecrypt吧,但容器一般較大政溃,不容易增量備份

看看我的解決方案:
在特定目錄上使用EncFS文件系統(tǒng)趾访,透明的加密存儲(chǔ)到另一個(gè)加密文件夾,將加密文件夾內(nèi)的內(nèi)容同步備份到百度網(wǎng)盤董虱。

效果:

實(shí)時(shí)存取解密后文件的文件夾


plain.png

實(shí)際保存加密后文件的文件夾


enc.png

百度網(wǎng)盤備份文件夾


baidu.png

我的環(huán)境:

Qnap的低端NAS上的嵌入式linux扼鞋。理論上任何linux或兼容系統(tǒng)皆可。
軟件:EncFS,F(xiàn)use, SyncY(百度網(wǎng)盤用云头,可替換)

Step 1: 安裝基礎(chǔ)工作環(huán)境

ipkg install gcc optware-devel make boost-dev boost-filesystem
boost-serialization boost-system openssl openssl-dev
*大部分桌面發(fā)行版linux可跳過(guò)此步驟捐友,嵌入式linux需已安裝optware

Step 2: 下載加密文件系統(tǒng)代碼

http://code.google.com/p/rlog/downloads/detail?name=rlog-1.4.tar.gz
http://sourceforge.net/projects/fuse/files/fuse-2.X/2.8.7/fuse-2.9.3.tar.gz
http://encfs.googlecode.com/files/encfs-1.7.4.tgz

Step 3: 編譯安裝

非嵌入式的linux發(fā)行版無(wú)需此步驟,用包管理工具安裝encfs即可盘寡,fuse大部分系統(tǒng)出廠即已安裝.

3.1 編譯安裝rlog


tar xvfz rlog-1.4.tar.gz
cd rlog-1.4
./configure --prefix=/opt/local
make
make install

3.2 編譯安裝fuse


tar zxvf fuse-2.9.3.tar
cd fuse-2.9.3
修改兩處
lib/mount_util.c 100行
util/mount_util.c 100行

execl("/bin/mount", "/bin/mount", "--no-canonicalize", "-i",
改為
execl("/bin/mount", "/bin/mount", "-i",
./configure --prefix=/opt/local
make
make install

3.3 編譯安裝encfs


tar xvfz encfs-1.7.4.tar
cd encfs-1.7.4
將encfs目錄下encfs.cpp中547行從
int res = lutimes( cyName.c_str(), tv);
改為
int res = utimes( cyName.c_str(), tv);
./configure CFLAGS='-O1' CXXFLAGS='-O1' --prefix=/opt/local CPPFLAGS=-I/opt/local/include LDFLAGS=-L/opt/local/lib
make
make install

Step 4: 初始化加密目錄

/opt/local/bin/encfs /pathtoenc /pathtoplain
第一個(gè)目錄為實(shí)際加密數(shù)據(jù)存放目錄楚殿,第二個(gè)目錄為透明訪問(wèn)數(shù)據(jù)的目錄
第一次運(yùn)行此命令后選擇默認(rèn)配置后要求輸入加密密碼,此密碼為唯一可解密數(shù)據(jù)的方法竿痰,丟失或遺忘將沒有任何辦法可以取回
可以試一下效果:echo 'test content' > /pathtoplain/text
ls -la /pathtoenc
目錄下有兩個(gè)文件脆粥,一個(gè)是xml配置文件,另一個(gè)就是text加密后的內(nèi)容了cat Xds.Dwefxiiksdf (實(shí)際名字會(huì)不同)

卸下加密文件夾
umount /pathtoplain
這時(shí)再看pathtoplain里的內(nèi)容就什么也沒有了

再次掛載/opt/local/bin/encfs /pathtoenc /pathtoplain
要求輸入密碼影涉,正確輸入后在查看pathtoplain变隔,原來(lái)的文件就可以訪問(wèn)了

如果encfs執(zhí)行失敗,提示 what(): locale::facet::_S_create_c_locale name not valid
在執(zhí)行之前先運(yùn)行:export LC_ALL="C"
同步至網(wǎng)盤我用的是百度網(wǎng)盤蟹倾,其他網(wǎng)盤請(qǐng)使用相應(yīng)的同步工具
網(wǎng)上有大善人寫了可以在各種系統(tǒng)上運(yùn)行的百度網(wǎng)盤同步腳本匣缘,我用的是python版本
請(qǐng)自行下載, SyncY
使用及配置請(qǐng)參考作者說(shuō)明

Step 5: 全自動(dòng)

根據(jù)所使用操作系統(tǒng)鲜棠,在啟動(dòng)中加入以下命令讓加密文件系統(tǒng)隨系統(tǒng)啟動(dòng)自動(dòng)加載
export LC_ALL="C"
echo 'xxxxxxxx' | /opt/local/bin/encfs --public /pathtoenc/ /pathtoplain/ -S
/opt/bin/python /share/homes/admin/SyncY/syncy.py
第一行'export':如果平時(shí)執(zhí)行encfs時(shí)不需要這句肌厨,則這兒也不需
要第二行:--public的作用是讓他人也可讀寫該目錄,如果需要將目錄給多人使用則需要豁陆,例如在nas上共享該目錄
-S 用于從管道接受密碼柑爸,前面的echo 'xxxx'中的xxxx即是密碼。這里的密碼是明文盒音。
我認(rèn)為明文也無(wú)所謂表鳍,畢竟能訪問(wèn)到這個(gè)機(jī)器的只有自己;如果對(duì)安全性要求實(shí)在比較高祥诽,那可以按需手動(dòng)加載并輸入密碼
第三行: 在加密文件夾掛載后運(yùn)行同步軟件譬圣。在同步軟件中配置將加密后目錄同步至網(wǎng)盤

已知問(wèn)題:
向加密文件夾中寫入體積較大文件時(shí),會(huì)有遲滯雄坪,具體程度取決于CPU計(jì)算能力厘熟;讀取時(shí)較快,基本做到透明使用
用于網(wǎng)絡(luò)共享文件使用時(shí)维哈,有時(shí)會(huì)發(fā)生復(fù)制移動(dòng)失敗盯漂,但刷新文件夾后查看內(nèi)容,其實(shí)已經(jīng)完成
用umount命令卸載加密文件夾時(shí)有時(shí)會(huì)提示錯(cuò)誤笨农,但實(shí)際已經(jīng)正常卸載

原創(chuàng)文章,轉(zhuǎn)載請(qǐng)表明出處帖渠,謝謝

2014-11-26 16:46

2015-04-16搬遷至簡(jiǎn)書

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末谒亦,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌份招,老刑警劉巖切揭,帶你破解...
    沈念sama閱讀 219,188評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異锁摔,居然都是意外死亡廓旬,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門谐腰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)孕豹,“玉大人,你說(shuō)我怎么就攤上這事十气±常” “怎么了?”我有些...
    開封第一講書人閱讀 165,562評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵砸西,是天一觀的道長(zhǎng)叶眉。 經(jīng)常有香客問(wèn)我,道長(zhǎng)芹枷,這世上最難降的妖魔是什么衅疙? 我笑而不...
    開封第一講書人閱讀 58,893評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮鸳慈,結(jié)果婚禮上饱溢,老公的妹妹穿的比我還像新娘。我一直安慰自己蝶涩,他們只是感情好理朋,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著绿聘,像睡著了一般嗽上。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上熄攘,一...
    開封第一講書人閱讀 51,708評(píng)論 1 305
  • 那天兽愤,我揣著相機(jī)與錄音,去河邊找鬼挪圾。 笑死浅萧,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的哲思。 我是一名探鬼主播洼畅,決...
    沈念sama閱讀 40,430評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼棚赔!你這毒婦竟也來(lái)了帝簇?” 一聲冷哼從身側(cè)響起徘郭,我...
    開封第一講書人閱讀 39,342評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎丧肴,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體芋浮,經(jīng)...
    沈念sama閱讀 45,801評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡何暇,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片杭棵。...
    茶點(diǎn)故事閱讀 40,115評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡艰管,死狀恐怖撩笆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情歹鱼,我是刑警寧澤秩霍,帶...
    沈念sama閱讀 35,804評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜濒析,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望啥纸。 院中可真熱鬧号杏,春花似錦、人聲如沸斯棒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)荣暮。三九已至庭惜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間渠驼,已是汗流浹背蜈块。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留迷扇,地道東北人百揭。 一個(gè)月前我還...
    沈念sama閱讀 48,365評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像蜓席,于是被迫代替她去往敵國(guó)和親器一。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容