Pass is a tool to store and manage passwords and other data securely and on command line – even with built in support for Git and remote Git repositories. Thus it is a welcomed alternative for existing password managers which often require a GUI, or do not provide repository support.
What it is
Pass is a shell based password manager to store passwords and login data – or anything you want, actually. The name “the standard unix password manager” however is pretty misleading: the author wanted to stress that it only uses standard Unix tools, but failed to highlight that with a catchy name and instead just created confusion.
But the author is right with his main point: pass is in fact just gluing together already well known and tested Unix tools: the encryption of all information is ensured by GPG, passwords are queried using gpg-agent, the version control and remote repository support is done by Git, and the tool itself is written in shell code. Thus you have features you can rely on – in fact, if you want you can directly access the Git repository and the Gnupg files, you do not have to use Pass at all.
Pass stores information in simple files, which can be grouped in folders. While the main idea of Pass is to store one password in one file you can actually access each file with editors to store as many information in it as you want. Each file is encrypted with the gpg key which was defined during the initial setup of Pass. As a result the Pass database is nothing else but a folder full of other folders and gpg encrypted files:
$ ls -1 $HOME/.password-store business commerce financial $ ls -1 $HOME/.password-store/business/ linkedin.com.gpg example.com.gpg important.com.gpg
Pass is included in all major distributions like Fedora, Ubuntu, Debian, and so on, and thus can be installed with the usual package management tools.
How it works
If you call Pass without any further options, it just outputs the content of its password store:
$ pass Password Store |-- business | |-- linkedin.com | |-- example.com | `-- important.com |-- commerce | `-- amazon |-- financial | |-- badbank.com | `-- mybank.com
The file type ending “gpg” is not shown here to not confuse users (I guess).
Showing the content of a file is straight forward:
$ pass business/example.com login: example pass: password
Adding new entries can be done with the command pass insert $FOLDER/$FILENAME. But it might be more convenient to just use the default editor to edit a new file: pass edit $FOLDER/$FILENAME. That way multi line information can be added more easily.
However, the real strength of Pass is that after each change – like adding a new password – git-add and git-commit are called: the new file is automatically committed to a local git repository:
$ pass edit business/example.com [master 4c09c76] Added password for business/example.com using /usr/bin/vim. 1 file changed, 0 insertions(+), 0 deletions(-) create ...read more
Source: FULL ARTICLE at Planet KDE

Add to favorites 