Crittografia di file e cartelle tramite terminale


Risposte:


15

Puoi crittografare e decrittografare i file con gpg

Per crittografare un file

gpg -c file.to.encrypt

Per decrittografare un file

gpg file.to.encrypt.gpg

Ma gpg non farà intere directory. Per intere directory hai diverse opzioni, ecryptfs è popolare.

# Install if ecryptfs-utils if needed
sudo apt-get install ecryptfs-utils

# Make an encrypted directory
ecryptfs-setup-private

Ciò renderà una directory "Privata". Tutti i dati inseriti nella directory Privateverranno automaticamente crittografati al momento della disconnessione e decrittografati al momento dell'accesso.

Se vuoi un comportamento diverso o una directory diversa ...

mkdir ~/secret
chmod 700 ~/secret

sudo mount -t ecryptfs ~your_user/secret ~your_user/secret

Inserisci i tuoi dati in ~ / secrte

Crittografare

sudo umount ~your_user/secret

Decifrare

sudo mount ./secret ./secret -o key=passphrase,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=no,ecryptfs_enable_filename_crypto=yes

Suggerimento: crea un alias per quel secondo comando.

Vedi http://bodhizazen.com/Tutorials/Ecryptfs o man ecryptfs per ulteriori dettagli.


10

ecryptfs crittograferà sicuramente file e cartelle, garantendo che i dati che vengono scritti su disco siano sempre crittografati e che le applicazioni che necessitano di accedere al contesto in chiaro possano ottenerlo senza problemi.

Tuttavia, per rispondere in modo specifico alla tua domanda, puoi sicuramente crittografare un singolo file con passphrase e gpg:

gpg -c /tmp/file > /tmp/file.gpg

Per crittografare una cartella, dovresti usare tar insieme a gpg:

tar zcvf - /tmp/directory | gpg -c > /tmp/directory.tar.gz.gpg

3
Per chiunque altro abbia letto questo rapidamente ed è stato un po 'confuso dal risultato .. il 14.04 gpg -c /tmp/file > /tmp/file.gpgnon restituisce ciò che mi aspetterei, invece scrive un file vuoto. Il mio utilizzo è gpg -c /tmp/fileche aggiunge automaticamente l'estensione .gpg al file risultante.
Phil

1

encfs, come suggerito dai documenti della community , funziona abbastanza bene.

Installazione: per installare è necessario innanzitutto aggiungere il repository dell'universo

Quindi emettere il comando:

sudo apt install encfs

Poi è sufficiente digitare nel terminale: encfs encrypted visibledi creare cartelle nella directory corrente di nome encryptede visibledi impostare una password.

Ad esempio, se mi trovo nella directory (home) predefinita (usa pwdper vedere dove sei), questo creerà le cartelle /home/ijoseph/visiblee /home/ijoseph/encryptedper me, dato che il mio nome utente è ijoseph.

visiblepuò essere scritto e letto e memorizza i suoi dati crittografati nella encryptedcartella.

Per "nascondere" i tuoi dati e lasciare solo la versione crittografata della cartella, digita fusermount -u visible. Ti consigliamo di farlo prima di disconnetterti o spostare fisicamente il tuo laptop, di solito, per protezione. Noterai che tutto scompare dalla visiblecartella durante la digitazione ls.

Per rimontare (riottenere l'accesso alla visiblecartella per lettura / scrittura), eseguire encfs encrypted visiblenuovamente.


Grazie per questa risposta! Se potessi essere così audace da suggerirlo, questa risposta sarebbe migliorata aggiungendo i passaggi necessari per un nuovo utente per installare e usare encfs
Elder Geek,

2
Intendo un utente nuovo su Ubuntu con poca o nessuna esperienza. Mi scuso per la mancanza di chiarezza! Sembra che tu abbia un uso abbastanza ben coperto, ma qualcuno che non conosce Ubuntu potrebbe non sapere come accedere al repository Universe e installarlo encfs. Saluti!
Elder Geek,

2
Quello che ElderGeek sta cercando di dire è che forse potresti rendere la tua risposta un po 'più favorevole ai noob;)
Sergiy Kolodyazhnyy il

1
Va meglio. ;-)
Elder Geek il

1
In caso di dubbio, pacchetti.ubuntu.com fornisce molte informazioni. È sulla mia chiamata rapida. ;-)
Elder Geek il
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.