Yeni dosyalar oluşturmak zorunda kalmadan bir dizini ve içeriğini şifre korumanın en basit yolu?


22

Bir dizini ve içindeki tüm dosyaları şifrelemek veya şifrelemek istiyorum (altındaki tüm dizin ağacı için). Bütün ana dizini rahatsız etmek istemiyorum, içinde bazı dosyalar ve klasörler bulunan belirli bir dizini istiyorum. Dizini şifrelemek veya bir şifre kullanarak şifresini çözmek istiyorum. Komut satırı kullanmak en iyisidir. Şifrelenmiş bir sürüm olarak yeni bir dosya oluşturmak istemiyorum ve ardından şifrelenmemiş bir sürüm olan önceki dosyaları silin.


İlginç, "yeni dosyalar oluşturmak zorunda kalmadan" ...
phunehehe

Mount şifreli bir dosya sistemi olarak mı demek istiyorsun?
Faheem Mitha

@FaheemMitha, ayrıca dosya sistemi yolundan kaçınmak istiyorum, karmaşık görünüyor.
12'de Vass.

1
@Vass Dosya sistemi yolu bugüne kadarki en basit yöntemdir. Çözümleri keyfi olarak reddetmezseniz hayatınızı kolaylaştıracaksınız.
Gilles 'SO- kötülük' dur '

Yanıtlar:


23

Encfs kullanın (çoğu dağıtımda paket olarak bulunur). Kurmak:

mkdir ~/.encrypted ~/encrypted
encfs ~/.encrypted ~/encrypted
# enter a passphrase
mv existing-directory ~/encrypted

encfsŞifreli bir dosya sistemi kurmak için ilk çağrı . Bu noktadan sonra, yazdığınız her dosya ~/encrypteddoğrudan diskte depolanmaz, şifrelenir ve şifreli veriler altına kaydedilir ~/.encrypted. encfsKomut yaprakları arka planını çalıştıran ve bu cini kolları şifreleme (ve şifre çözme Eğer altındakiler bir dosyayı okurken ~/encrypted).

Başka bir deyişle, altındaki dosyalar için ~/encrypted, okuma ve yazma gibi eylemler doğrudan diskten okuma veya yazmaya çevrilmez. encfsVerileri şifreleyen ve şifresini çözen ve ~/.encryptedşifreli metni saklamak için dizini kullanan işlem tarafından gerçekleştirilirler .

Şimdilik dosyalarınızla çalışmayı tamamladığınızda, parolanızı tekrar yazana kadar verilere erişilememesi için dosya sistemini çıkarın.

fusermount -u ~/encrypted

Bu noktadan sonra ~/encryptedtekrar boş bir dizin olacak.

Daha sonra bu dosyalar üzerinde tekrar çalışmak istediğinizde, şifreli dosya sistemini bağlayın:

encfs ~/.encrypted ~/encrypted
# enter your passphrase

Bu, yine, şifreli dosyaları ~/.encrypteddizinde erişilebilir kılar ~/encrypted.

Bağlama noktasını ~/encryptedistediğiniz gibi değiştirebilirsiniz: encfs ~/.encrypted /somewhere/else(ancak şifreli dizini bir seferde yalnızca bir defa bağlayın). Şifreli metni (ancak monte edildiğinde değil) farklı bir yere, hatta farklı bir makineye kopyalayabilir veya taşıyabilirsiniz; dosyalar üzerinde çalışmak için yapmanız gereken tek şey, ilk bağımsız değişken olarak şifreli metnin encfskonumunu ve ikinci bağımsız değişken olarak boş bir dizinin konumunu iletmektir.


Cevap çok faydalı ve pratiktir. Eğer sizin için rahatsız edici değilse, her bir işlemin ne yaptığını açıklamak için biraz daha metin eklerseniz çok sevinirim. Ve bu bağlamda bir dosya sisteminin ne anlama geldiğini ve montajın önemini açıklayabilir misiniz?
Ocak'ta

1
@Vass Cevabımı daha fazla açıklama ile güncelledim. Dosya sistemleri ve montaj arka plan için bkz. Tipik bir Linux sisteminde hangi montaj noktaları var? ve Linux'ta bir aygıtı monte etmek ne anlama gelir?
Gilles 'SO- kötülük olmayı'

Bu harika bir açıklama. Çok şey öğrendim gibi hissediyorum. Ve ekstra bağlantılar yardımcı olur. Böylece, encfs tarafından oluşturulan dosya sistemi 'orijinal dosyanın bloklarını karıştırır' ve encfs aracılığıyla onu gezinebilir ve okuyabilirsiniz; Çünkü orijinal dosya sistemi bu veri bloklarını kullanmaya uyumlu değildir. ve şifreli dizin, yanlışlıkla girmemek için gizlenir. ve yapsaydın hiçbir şey görmeyecektin?
12'deki Vass

1
@Vass “encfs tarafından oluşturulan dosya sistemi 'orijinal dosyanın bloklarını karıştırır' ve encfs aracılığıyla onu gezinebilir ve okuyabilirsiniz”: evet, aynen. Dizin ~/.encryptedşifreli metni içerir; erişmeden erişebilirsiniz encfs, ancak orada yalnızca şifreli veriler göreceksiniz.
Gilles 'SO- kötülük' dur '

2

Şifrelenmiş bir sürüm olarak yeni bir dosya oluşturmak istemiyorum ve ardından şifrelenmemiş bir sürüm olan önceki dosyaları silin

Ama tam olarak tanımladığınız senaryo budur ... "dizini şifreleyebilir veya şifresini çözebilir"

Aradığınız çözümün şifreli bir sigorta veya benzeri olduğundan şüpheleniyorum . Dosya sistemi şifreli bir dosyada saklanır ve monte edildiğinde (bir parola ile) VFS katmanı üzerinden şeffaf erişim sağlanır.


yeni bir dosya oluşturma ve önceki silme şifre koruması ile bir .zip yoludur. Bahsettiğiniz dosya sistemini ve bağlantı yolunu anlamıyorum. Dosyayı bir şekilde karıştırıp yeniden düzenleyebilecek bir program yok mu?
12'de Vass.

evet, burada FUSE şifreli dosya sistemlerinin bir listesi. Zip yolu olduğunu en basit
bsd

@Vass “Zip yolu” ile ne demek istediğinizi anlamıyorum: İşin içinde zip yok. Düz metin asla diskte depolanmaz (bu çok daha karmaşık olur ve şifreleme amacının çoğunu yener).
Gilles 'SO- kötülük' dur '

2
Zip yolu / zip yolu, şifreleme / şifre seçenekleriyle bir dizini tekrar tekrar sıkıştırmaktır. Ancak, bir dosyaya erişmek istediğinde, şifrelenmemiş dosyayı zip'ten çıkartmak, dosyayı okumak ve sonra silmek ya da düzenlemek ve daha sonra zip'i yeni dosya ile güncellemek, sonra da ara dosyayı silmek gerekir. Şifrelenmiş bir dosya sisteminin şeffaflığını ancak dizin düzeyinde arıyor. Ben, ve diğerleri şifreli bir fs ile FUSE öneririm. "Basit" olsa da, bakış açısı ve deneyim meselesidir.
bsd

@bdowning, evet, doğru bir şekilde ifade ettiniz. Dosya sistemlerini ve işlemlerini anlamıyorum. Kavramları anlamadan komutlarla kör çalışacağım.
12'de Vass
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.