pass - il password manager da terminale semplice e funzionale
Channel: Nicola Jelmorini
Date: 2014-10-04

In questo video presento un altro sistema per gestire le password. Si tratta di "pass" da usare nel terminale, quindi molto leggero, indipendente dalle interfacce grafiche o dal browser usato. 

I suoi punti di forza:
===============
* dipende solo dal terminale e può essere usato su tutti i desktop linux senza problemi
* per archiviare le password non usa formati di file o database specifici, ma semplicemente dei file di testo crittografati con il sistema PGP
* l'archivio non è un file o un database dedicato, ma una cartella del file system organizzata in file e sottocartelle.
* l'archivio di file e sottocartelle può essere organizzato come si vuole, sia con le funzionalità di pass, sia direttamente con il file manager.
* anche se per qualsiasi motivo pass non dovesse più funzionare o non dovesse più essere disponibile, i file contenenti le password sono file di testo crittografati con la nostra chiave PGP, e quindi possono essere decifrati singolarmente anche direttamente dal file manager.
* l'archivio delle password è una cartella e quindi può essere facilmente salvato e trasportato

Premessa
========
* con Ubuntu Software Center cercare "pass" e installare il pacchetto
* verificare i permessi di accesso della catella ~/.gnupg che devono essere limitati alla nostra user. Nessun accesso al nostro gruppo, né ad altre user.
* Creare una chiave GPG con la quale verranno crittografate le nostre password. Lo si può fare con un comando da terminale:
gpg --gen-key  ⇐ seguire i passi visualizzati
Oppure con il sistema di gestione delle chiavi disponibile in Ubuntu chiamato seahorse.
Terminata la procedura abbiamo a disposizione la chiave per crittografare i file con le nostre password.

Inizializzazione di pass (una tantum)
===========================
* usiamo questo comando per inizializzare il nuovo database/archivio delle password
* pass init jelmo@nick  

Funzionalità utili di pass
==================
* inserire una password conosciuta (con struttura delle sotto cartelle) ⇒ pass insert Prove/utente
* elencare cartelle e user dell'archivio in formato gerarchico ⇒ pass, pass ls  
* generare una nuova password lunga 20 posizioni con caratteri, numeri e simboli (con struttura delle sotto cartelle) ⇒ pass generate Prove/test1 20
* generare una nuova password lunga 20 posizioni con caratteri e numeri (senza simboli) ⇒ pass generate -n Prove/test2 20  
* modificare comodamente la password nell'editor nano. Con questo comando si possono anche allegare delle note ad una password. Tenere solo presente che la prima riga di testo è considerata la password, tutto il resto è commento. ⇒ pass edit Prove/utente
* visualizzare una password ⇒ pass Prove/test1
* copiare una password negli appunti senza mostrarla ⇒ pass -c Prove/test1 
* combinazione di comandi e opzioni per generare una password e copiarla direttamente negli appunti ⇒ pass generate -n -c Prove/test3 20 
* eliminare un file con la password dall'archivio (questo lo si può fare anche dal file manager) ⇒ pass remove Prove/test3
* eliminare tutte le sottocartelle che costituiscono una ramificazione dell'archivio password  (questo lo si può fare anche dal file manager) ⇒ pass remove -r Prove2

protezione dell'archivio password
=========================
* pass non è specificatamente protetto da una password principale come altri gestori perché lavora con la password che protegge la chiave GPG scelta. Però per difetto la password delle chiavi GPG è valida per una sessione, ovvero finché non si esce dalla propria sessione desktop o si riavvia il PC. Questo non è saggio poiché chiunque arrivi ad usare il vostro PC può semplicemente usare il comando pass per vedere le vostre password. 
* Modificando questa impostazione si può attivare un termine temporale dopo il quale la password viene nuovamente richiesta. E questo è quello che generalmente è implementato anche negli altri gestori di password. Se non si blocca l'archivio password volontariamente, dopo un periodo di tempo si blocca da solo.
* si possono fare queste modifiche con dei comandi da terminale, ma è più comodo usare l'editor dei parametri di sistema di basso livello "dconf editor". Se non è ancora installato, cercarlo nella Dash o in Ubuntu Software Center.

nota: per chi ha accesso a git (un sistema open source di gestione progetti software e controllo delle versioni del codice → http://git-scm.com/, https://github.com/) è possibile anche salvare qui l'archivio password con alcuni comandi specifici in modo da averlo in rete e sincronizzato.

Riferimenti
http://www.passwordstore.org/  ⇒ sito del progetto
http://manpages.ubuntu.com/manpages/trusty/en/man1/pass.1.html  ⇒ manuale del comando
http://opensource.com/life/14/7/managing-passwords-open-source-way  
http://liquidat.wordpress.com/2013/03/27/pass-a-perfect-shell-based-password-manager/