zaten şifrelenmiş bir giriş dizinine sahip Ubuntu One için ecryptfs kullanın


9

Ubuntu One'da şifrelenmiş bir klasör olması fikrini istiyorum. İnternette EncFS veya ecryptfs ile nasıl ayarlanacağı mevcut howtos vardır. Ecryptfs kullanmak istiyorum - hız nedeniyle değil, çünkü verilerinizi bulutta saklıyorsanız hız o kadar da önemli değil - ama zaten ecryptfs kullandığım için buna alıştım ve bu yüzden don ' Başka bir çözüm kullanmaktan gerçekten hoşlanmıyorum.

Ubuntu One klasörüyle ilgili sorun, kullanıcının ana klasörünün bir parçası olmasıdır. Son zamanlarda Ubuntu'nun son sürümlerinde, kullanıcının ana klasörü ecryptfs ile zaten şifrelenir ve ecryptfs (kullanıcının ana dizininin) üstünde ecryptfs (bir Ubuntu One klasörü için) kullanamazsınız.

Peki ne yapabilirdi ki? Elbette bunun yerine EncFS kullanın. Veya Ubuntu One klasörünü kullanıcının ana klasörünün dışına taşıyın.

Başka fikir veya öneriniz var mı?

Yanıtlar:


4

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:

  1. pam_mount
  2. gnome-encfs
  3. autofs
  4. 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).


0

Bunu yapmanın olası bir yolu, iki farklı dizin kullanmaktır:

~ / my_secret_data senkronize edilmez, ancak eklenen tüm dosyaları şifreler ve şifrelenmiş dosyaları ~ / my_secret_data / klasöründen ~ / Ubuntu One / klasörüne taşır. GPG anahtarınızı tüm bilgisayarlarınıza eklediyseniz, şifrelenmiş dosyaları otomatik olarak açabilirsiniz, ancak diğerleri açamaz.

Bence çok zarif değil ama işe yaramalı.


EncFS ile bunu yapıyorum. Şifrelenmiş veriler ~ / Ubuntu \ One / .encrypted dizininde ve şifresiz ~ / .fuse / U1Enc dizininde saklanır. Kullanıcı kolaylığı için GPG yerine EncFS kullanıyorum - veriler anında şifreleniyor / şifreleri çözülüyor.
spi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.