Daha önce de belirtildiği gibi ecryptfs benim ana klasörüm ecryptfs tarafından şifrelenmiş olduğu için sorunum için bir çözüm değil. "Ubuntu One" klasörünü ana ağacın dışına taşımak da bir çözüm değildir, çünkü "Ubuntu One" içeriğinin geri kalanı artık şifrelenmemektedir.
Bunun yerine EncFS kullanmaya karar verdim. Tr şifreli klasörü ayarlamak oldukça basittir. Ancak uygulamaların yapılandırma dosyalarını depolamak için kullanabilmesi için otomatik olarak nasıl monte edilir? Bazı çözümler var:
- pam_mount
- gnome-encfs
- autofs
- sigorta
Fikir 1'i sevmiyorum çünkü EncFS için giriş şifremle aynı şifreyi kullanmak istemiyorum.
Çözüm 2 Bir yandan hoşlanmıyorum çünkü Ubuntu için uygun bir paket yok ve diğer yandan EncFS klasörünün yalnızca giriş yaptıktan hemen sonra monte edilmesini istemiyorum. sonraki erişim başarısız olur.
Çözüm 3 işe yaramıyor. Ben sshfs aracılığıyla CIFS paylaşımları ve klasörleri bağlamak için oldukça uzun süredir autofs kullanıyorum ama EncFS sadece desteklenmiyor. AutoFS tarafından EncFS'yi bağlamak için birkaç komut dosyası ile oynadım, ancak bu çok karmaşık ve hataya eğilimli hale geldi.
Şu anda kullandığım çözüm 4. Afuse uygun bir paket olarak mevcuttur. Afuse, klasöre erişilir erişilmez EncFS klasörünü otomatik olarak bağlar ve bir süre boşta kaldıktan sonra bağlantısını keser.
İşte her şeyi nasıl ayarlayacağınız hızlı adımlar (belki de gelecekte bazı detaylar ekleyebilirim):
- sigorta yüklemek
- şifreli içeriği depolamak için "Ubuntu One" klasörünü oluşturun
Misal:
~ / Ubuntu \ One / .encrypted
- içindeki klasörleri bağlamaya çalışmak için üst klasör olarak klasör oluştur
Misal:
~ / .Fuse
- bazı yardımcı komut dosyaları oluştur
- fuse başlatmak için Gnome'da otomatik başlatma girişi oluşturma
Şifrelenmemiş EncFS klasörü ~ / .fuse altına bağlanır. Benim durumumda şifrelenmemiş içeriğe sahip klasör U1Enc olarak adlandırılır, bu nedenle tüm veriler ~ / .fuse / U1Enc konumunda kalır. Kolaylığım için ~ / U1Enc ile ~ / .fuse / U1Enc arasında bir bağlantı oluşturdum.
Birkaç web sitesinde bulduğum fikirler ve yardımcı betikler. İşte bağlantılar:
FUSE dosya sistemlerini
otomatik olarak otomatik hale getirme: sshfs üzerinden encfs
Aşağıdaki komut dosyalarını kullanıyorum:
~ / .Afuse-fstab
U1Enc encfs --ondemand --idle=5 --extpass="/home/xxx/.creds/U1.encfs.sh" /home/xxx/Ubuntu\ One/.encrypted %m
~ / .creds / U1.encfs.sh (yürütülebilir olarak işaretlenmiştir ve yalnızca kullanıcı tarafından erişilebilir)
#!/bin/sh
echo PASSWORD_FOR_ENCFS_IN_CLEARTEXT
~ / bin / afuse-handler.pl (yürütülebilir olarak işaretlenmiş ve $ PATH içinde ~ / bin ile işaretlenmiş)
#!/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";
}
}
ve son olarak ~ / bin / afuse.start.sh (tekrar çalıştırılabilir olarak işaretlendi) Gnome / System / Settings ile kaydoldum.
#!/bin/sh
afuse -o mount_template="/home/xxx/bin/afuse-handler.pl %r %m" -o unmount_template="fusermount -u -z %m" ~/.fuse
Son komut dosyası, erişildiğinde en kısa sürede EncFS klasörünü ~ / .fuse altına monte etmek için fuse-handler'i başlatan bir fuse başlatır. Afuse.handler, .afuse-fstab klasörünün nasıl monte edileceğini denetler. EncFS şifresi U1.encfs.sh tarafından tekrarlanır, böylece kullanıcı müdahalesi gerekmez (bu dosya ana klasörümde saklandığı için ecryptfs tarafından şifrelenir, bu yüzden büyük bir güvenlik sorunu görmüyorum).
Farklı EncFS sürümlerine dikkat edin. Natty üzerinde şu anda EncFS 1.7.4 sürümü yüklenir. Maverick'in eski 1.6 sürümü ile bu iyi değil. Maverick üzerindeki EncFS'yi 1.7.4'e de güncellemem gerekiyordu (bunu apt / tercihleri sabitleyerek yaptım).