Sembra che quello che stai cercando sia encfs . È il livello FUSE in cima a qualsiasi FS esistente che crittografa e decodifica al volo, memorizzando la versione crittografata nel file system sottostante. Il problema è che i metadati del file (proprietà, dimensioni, ore) sono visibili, ma il contenuto e i nomi non lo sono.
Puoi anche utilizzare --reverse
per fare il contrario: creare una vista crittografata di un file fs non crittografato, utile per creare backup crittografati con rsync.
MODIFICA PER AGGIUNGERE
Come sottolineato da Æsahættr, un'altra opzione utilizzabile è eCryptfs . Questo è un driver FS nel kernel, il che significa che è richiesto il permesso di root. Ma è un sovraccarico molto basso delle prestazioni e molto più veloce delle encfs nei miei test. Mentre l'implementazione è abbastanza diversa tra i due, il modo in cui li usi è quasi identico:
encfs /base_dir/ /view_dir/
# or
mount -t ecryptfs /base_dir/ /view_dir/
Per impostazione predefinita, encfs codifica i nomi dei file mentre ecryptfs no, ma queste opzioni sono configurabili. Inoltre, ecryptfs aggiunge molto più overhead per file rispetto a encfs perché memorizza i metadati nel file stesso, mentre encfs lo memorizza in un file xml nascosto. Inoltre, l'opzione --reverse
che encfs ha non traduce veramente bene in ecryptfs; ecryptfs ha ecryptfs_encrypted_view
ma probabilmente non funzionerà nel modo previsto. Presumibilmente questo è un work-in-progress.
Entrambi possono usare qualsiasi filesystem come base; incluso, ad esempio, sshfs. Ma tieni presente che la proprietà dei file e le autorizzazioni sono archiviate così come sono nel file system di base, il che potrebbe significare errori di accesso negati se non si abbina correttamente o perdendo completamente le autorizzazioni se si basa su una FS che non supportali.