Il modo più semplice per proteggere con password una directory e il suo contenuto senza dover creare nuovi file?


22

Vorrei proteggere con password o crittografare una directory e tutti i file al suo interno (per l'intero albero di directory sottostante). Non voglio disturbare l'intera home directory, voglio una directory specifica con alcuni file e cartelle in essa contenuti. Vorrei poter crittografare la directory o decrittografarla utilizzando una password. La riga di comando sarebbe la cosa migliore da usare. Non voglio creare un nuovo file come versione crittografata e quindi eliminare quelli precedenti che sono la versione non crittografata.


Interessante, "senza dover creare nuovi file" ...
phunehehe

Vuoi dire mount come file system crittografato?
Faheem Mitha,

@FaheemMitha, vorrei anche evitare il percorso del filesystem, sembra complicato.
Vass

1
@Vass Il percorso del filesystem è di gran lunga il metodo più semplice. Ti semplificherai la vita se non rifiuti le soluzioni in modo arbitrario.
Gilles 'SO- smetti di essere cattivo'

Risposte:


23

Usa encfs (disponibile come pacchetto sulla maggior parte delle distribuzioni). Impostare:

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

La chiamata iniziale per encfsconfigurare un filesystem crittografato. Successivamente, ogni file in cui si scrive ~/encryptednon viene archiviato direttamente sul disco, viene crittografato e i dati crittografati vengono archiviati ~/.encrypted. Il encfscomando lascia un demone in esecuzione e questo demone gestisce la crittografia (e la decrittografia quando si legge un file da sotto ~/encrypted).

In altre parole, per i file sotto ~/encrypted, azioni come letture e scritture non si traducono direttamente in lettura o scrittura dal disco. Vengono eseguiti dal encfsprocesso, che crittografa e decodifica i dati e utilizza la ~/.encrypteddirectory per memorizzare il testo cifrato.

Al momento, quando hai finito di lavorare con i tuoi file, smonta il filesystem in modo che non sia possibile accedere ai dati finché non digiti nuovamente la passphrase:

fusermount -u ~/encrypted

Dopo quel punto, ~/encryptedsarà di nuovo una directory vuota.

Quando in seguito desideri lavorare nuovamente su questi file, monta il filesystem crittografato:

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

Questo, di nuovo, rende i file crittografati ~/.encryptedaccessibili nella directory ~/encrypted.

È possibile modificare il punto di montaggio ~/encryptedcome desiderato: encfs ~/.encrypted /somewhere/else(ma montare la directory crittografata solo una volta alla volta). È possibile copiare o spostare il testo cifrato (ma non mentre è montato) in una posizione diversa o addirittura su una macchina diversa; tutto quello che devi fare per lavorare sui file è passare la posizione del testo cifrato come primo argomento a encfse la posizione di una directory vuota come secondo argomento.


la risposta è molto utile e pratica. Gradirei molto se potessi aggiungere altro testo per spiegare cosa sta facendo ogni operazione se non ti dà fastidio. E potresti spiegare cosa si intende per filesystem in questo contesto e la rilevanza del montaggio?
Vass

1
@Vass Ho aggiornato la mia risposta con ulteriori spiegazioni. Per informazioni di base sui filesystem e sul montaggio, vedere Quali punti di mount esistono su un tipico sistema Linux? e cosa si intende montando un dispositivo su Linux?
Gilles 'SO- smetti di essere malvagio'

Questa è una spiegazione straordinaria. Sento di aver imparato molto. E i link extra aiutano. Quindi il filesystem creato da encfs è "blocchi confusi del file originale" e attraverso encfs è possibile navigare e leggerlo; perché il filesystem originale non è compatibile per utilizzare questi blocchi di dati. e la directory crittografata è nascosta per non accedervi accidentalmente. e se lo facessi non vedresti nulla?
Passa l'

1
@Vass "il filesystem creato da encfs è" blocchi confusi del file originale "e tramite encfs è possibile navigare e leggerlo": sì, esattamente. La directory ~/.encryptedcontiene il testo cifrato; puoi accedervi senza passare attraverso encfs, ma vedrai solo i dati crittografati lì.
Gilles 'SO- smetti di essere malvagio'

2

Non voglio creare un nuovo file come versione crittografata e quindi eliminare quelli precedenti che sono la versione non crittografata

Ma questo è esattamente lo scenario che hai descritto .... "essere in grado di crittografare la directory o decrittografarla"

Sospetto che la soluzione che stai cercando sia un FUSE crittografato o simile . Il filesystem è archiviato in un file crittografato e quando montato (con una passphrase) vi è un accesso trasparente tramite il livello VFS.


la creazione di un nuovo file e l'eliminazione del precedente è un percorso .zip con protezione tramite password. Non capisco il file system e il percorso di montaggio cui ti riferisci. Non c'è qualche programma che confonde il file in qualche modo e poi può rimetterlo in ordine?
Vass

sì, qui un intero elenco di filesystem crittografati con FUSE. Il percorso zip è il più semplice
bsd

@Vass Non capisco cosa intendi per "percorso zip": non è coinvolto zip. Il testo in chiaro non viene mai archiviato su disco (sarebbe molto più complicato e vanificherebbe gran parte dello scopo della crittografia).
Gilles 'SO- smetti di essere cattivo'

2
Il percorso zip / percorso zip consiste nel comprimere ricorsivamente una directory con le opzioni di crittografia / password. Quindi, tuttavia, quando si desidera accedere a un file, è necessario estrarre il file non crittografato dallo zip, leggere il file e quindi eliminare, oppure modificare il file e quindi aggiornare lo zip con un nuovo file, quindi eliminare il file intermedio. Sta cercando la trasparenza di un filesystem crittografato ma a livello di directory. Io e altri suggeriamo FUSE con un fs crittografato. "Semplice", tuttavia, è una questione di prospettiva ed esperienza.
bsd

@bdowning, sì, l'hai articolata correttamente. Non capisco i filesystem e il loro funzionamento. Lavorerei alla cieca con i comandi senza capire i concetti.
Vass
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.