ตามที่ระบุไว้แล้ว ecryptfs ไม่ได้แก้ปัญหาของฉันเพราะโฟลเดอร์บ้านของฉันถูกเข้ารหัสโดย ecryptfs การย้ายโฟลเดอร์ "Ubuntu One" ออกจากทรีโฮมไม่ใช่วิธีแก้ปัญหาเช่นนั้นเนื้อหาส่วนที่เหลือของ "Ubuntu One" จะไม่ถูกเข้ารหัสอีกต่อไป
ฉันตัดสินใจใช้ EncFS แทน การตั้งค่าโฟลเดอร์ที่เข้ารหัสนั้นค่อนข้างง่าย แต่วิธีการติดตั้งโดยอัตโนมัติเพื่อให้แอปพลิเคชันสามารถใช้เพื่อจัดเก็บไฟล์ปรับแต่งได้ มีวิธีแก้ไขปัญหาบางอย่าง:
- pam_mount
- gnome-EncFS
- autofs
- afuse
ฉันไม่ชอบความคิดที่ 1 เพราะฉันไม่ต้องการใช้รหัสผ่านเดียวกันสำหรับ EncFS เป็นรหัสผ่านการเข้าสู่ระบบของฉัน
โซลูชันที่ 2 ฉันไม่ชอบด้วยมือข้างเดียวเพราะไม่มีแพ็คเกจ apt สำหรับ Ubuntu และในทางกลับกันฉันไม่ต้องการให้ติดตั้งโฟลเดอร์ EncFS หลังจากเข้าสู่ระบบเท่านั้นหากมีสิ่งใดล้มเหลวหรือโฟลเดอร์ถูก unmount ทุกครั้ง การเข้าถึงที่ตามมาจะล้มเหลว
โซลูชัน 3 ไม่ทำงาน ฉันใช้ autofs มาระยะหนึ่งแล้วในการเมานต์แชร์ CIFS และโฟลเดอร์ผ่าน sshfs แต่ EncFS ไม่รองรับ ฉันได้เล่นกับสคริปต์หลาย ๆ ตัวเพื่อติดตั้ง EncFS โดย autofs แต่มันก็ซับซ้อนเกินไปและเกิดข้อผิดพลาดได้ง่าย
ดังนั้นสิ่งที่ฉันใช้อยู่ในปัจจุบันคือโซลูชัน 4 Afuse พร้อมใช้งานเป็นแพ็คเกจ apt Afuse จะเมานท์โฟลเดอร์ EncFS โดยอัตโนมัติทันทีที่เข้าถึงโฟลเดอร์และเลิกเมานต์อีกครั้งหลังจากเวลาว่าง
นี่คือขั้นตอนวิธีการตั้งค่าทุกอย่างอย่างรวดเร็ว (บางทีฉันอาจเพิ่มรายละเอียดในอนาคต):
- ติดตั้ง afuse
- สร้างโฟลเดอร์ "Ubuntu One" เพื่อจัดเก็บเนื้อหาที่เข้ารหัส
ตัวอย่าง:
~ / Ubuntu \ One /. เข้ารหัส
- สร้างโฟลเดอร์เป็นโฟลเดอร์ด้านบนเพื่อเก็บโฟลเดอร์ไว้ภายใน
ตัวอย่าง:
~ / .fuse
- สร้างสคริปต์ผู้ช่วย
- สร้างรายการเริ่มอัตโนมัติใน Gnome เพื่อเริ่มการโจมตี
โฟลเดอร์ EncFS ที่ไม่ได้เข้ารหัสจะถูกเมาท์ภายใต้ ~ / .fuse ในกรณีของฉันโฟลเดอร์ที่มีเนื้อหาที่ไม่ได้เข้ารหัสมีชื่อว่า U1Enc ดังนั้นข้อมูลทั้งหมดจะอยู่ใน ~ / .fuse / U1Enc เพื่อความสะดวกของฉันฉันได้สร้างลิงก์จาก ~ / U1Enc ถึง ~ / .fuse / U1Enc เพื่อให้ง่ายขึ้น
ความคิดและสคริปต์ผู้ช่วยเหลือที่ฉันพบในเว็บไซต์หลายแห่ง ลิงค์มาที่นี่:
การติดตั้งระบบไฟล์ FUSE โดยอัตโนมัติ
autofs: เข้ารหัสผ่าน sshfs
ฉันใช้สคริปต์ต่อไปนี้:
~ / .afuse-fstab
U1Enc encfs --ondemand --idle=5 --extpass="/home/xxx/.creds/U1.encfs.sh" /home/xxx/Ubuntu\ One/.encrypted %m
~ / .creds / U1.encfs.sh (ทำเครื่องหมายว่าปฏิบัติการได้และเข้าถึงได้โดยผู้ใช้เองเท่านั้น)
#!/bin/sh
echo PASSWORD_FOR_ENCFS_IN_CLEARTEXT
~ / bin / afuse-handler.pl (ทำเครื่องหมายว่าปฏิบัติการได้และมี ~ / bin ใน $ PATH)
#!/usr/bin/perl -w
$fstab="$ENV{HOME}/.afuse-fstab";
$afusedir=$ARGV[0];
$afuse_mountpoint=$ARGV[1];
print "afusedir:$afusedir\n";
print "afuse_mountpoint:$afuse_mountpoint\n";
system("logger -t afuse 1:$ARGV[0] 2:$ARGV[1]");
open(FSTAB, $fstab ) or die("Can not open afuse-fstab at $fstab\n");
while( <FSTAB> ) {
if( /^$afusedir/ ) {
s/[^\s\/]+[\s]*//;
s/%r/$afusedir/g;
s/%m/$afuse_mountpoint/g;
chomp;
$cmd = $_;
print "$cmd\n";
system($_) == 0
or die "execution of FUSE filesystem failed!\n"
. "command:$cmd\n"
. "reason:$?\n";
}
}
และในที่สุด~ / bin / afuse.start.sh (ทำเครื่องหมายอีกครั้งว่าปฏิบัติการ) ซึ่งฉันลงทะเบียนกับ Gnome / ระบบ / การตั้งค่าเพื่อเริ่ม afuse หลังจากเข้าสู่
#!/bin/sh
afuse -o mount_template="/home/xxx/bin/afuse-handler.pl %r %m" -o unmount_template="fusermount -u -z %m" ~/.fuse
สคริปต์ล่าสุดเปิดใช้งาน afuse ซึ่งจะเริ่มตัวจัดการ afuse เพื่อเมานท์โฟลเดอร์ EncFS ใต้ ~ / .fuse ทันทีที่เข้าถึง afuse.handler ตรวจสอบตัวเอง. afuse-fstab วิธีติดตั้งโฟลเดอร์ รหัสผ่าน EncFS ถูกสะท้อนออกมาโดย U1.encfs.sh ดังนั้นจึงไม่จำเป็นต้องมีการแทรกแซงของผู้ใช้ (เนื่องจากไฟล์นี้ถูกเก็บไว้ในโฟลเดอร์บ้านของฉันมันถูกเข้ารหัสโดย ecryptfs ดังนั้นฉันไม่เห็นว่ามีปัญหาด้านความปลอดภัยขนาดใหญ่)
ดูแล EncFS รุ่นต่าง ๆ ใน Natty ปัจจุบัน EncFS รุ่น 1.7.4 ได้รับการติดตั้ง ไม่สามารถเล่นได้ดีกับรุ่น 1.6 เก่ากว่าใน Maverick ฉันต้องอัปเดต EncFS บนผู้ไม่ฝักใฝ่ฝ่ายใดเป็น 1.7.4 เช่นกัน (ทำได้โดยการปักหมุด apt / preferences)