PasswordStore Symlinks

En Galego abaixo

I’ve previously written about passwordstore and how convenient it is to create secure and private passwords for all your needs. Using standard gpg key to encrypt text based files you can sync between all your devices and clients.

By default, when you init your vault, pass creates a hidden directory in your /home called

.password-store/

you can move this vault to anywhere in your directory tree AND modify pass script to point to that location.

Or you can create a default instalation and store your passwords elsewhere and symlink them to the default location.

SymLinks (Symbolic Links) are links created in your system to point to another location:

any file that contains a reference to another file or directory in the form of an absolute or relative path and that affects pathname resolution

This feature solves both base file location for pass script and autocompletion features.

So asume you have already setup your passwordstore under ~/.password-store/ and you want to have (i.e.) a cloud shared folder you share with someone else and this folder is NOT inside ~/.password-store/

Note: you can use any “shared_pass” and “shared_passwords” name.

Then you can create a symlink to this folder:

ln -s  /route/to/your/cloud_folder/shared_pass/  ~/.password-store/shared_passwords

then you init this newly created folder using your gpg_key_id and any other key you wanted

pass init -p shared_passwords keyID-1 keyID-2 ...

all passwords into this folder will be encrypted using both keys 1 and 2

-p parameter limits this init to the route defined, so all your other folders remain using only your key-ID and your team mates have no access to them.

Insert new password

So, if you now write

pass generate shared_passwords/new_test_password

you are creating a new file called

new_test_password.gpg

into /route/to/your/cloud_folder/shared_pass/ folder, but accesible by

pass shared_passwords/new_test_password

You don’t need to write all this routes or even remember them, this is when come convenient both autocompletion and find features.

This could be useful for teams who need to share gpg protected passwords using their own keys. Person1 does NOT know passphrase for Person2’s key, just needs her/his public gpg key to encrypt.

If Person2 adds a new password to their shared folder it should be also encrypted using key1id if she/he wants _Person1 can read it.

Galego

Xa teño escrito sobre passwordstore e o útil que resulta para gardar de xeito seguro e accesible os teus contrasinais. Podes así tes contrasinais complexos e longos, imposibles de lembrar, protexidos polo cifrado gpg para poder gardalos en calquer lugar e sincronizar entre todos os teus dispositivos.

Por omisión, ao iniciar a carteira de contrasinais, pass crea un cartafol oculto no teu /home chamado

.password-store/

podes mover este cartafol a outras localizacións dentro da túa árbore de directorios local e despois modificar o script de pass para que apunte a esta localización.

Ou alternativamente podes deixar a localización por omisión e gardar os teus contrasinais en outro lugar e crear unha ligazón figurada symlink apuntando a localización real.

SymLinks (Symbolic Links) son ligazóns creadas no teu sistema para apuntar a outra localización:

calquera ficheiro que contén unha referencia a outro ficheiro ou cartafol na forma de ruta absoluta ou relativa e que afecta a resolución de rutas no sistema

Esta característica soluciona tanto o problema da localización dos contrasinais para o script pass e a función de autocompletado.

Supoñamos que temos a configuración por omisión de passwordstore baixo ~/.password-store/ e queres ter (ex.) un cartafol na nube que compartes con outro usuario e este cartafol NON está dentro de ~/.password-store/

Nota: podes escoller calquera nome en lugar de “shared_pass” e “shared_passwords”

Entón, crea unha symlink a este cartafol:

ln -s  /route/to/your/cloud_folder/shared_pass/  ~/.password-store/shared_passwords

tras esto, inicias este novo cartafol utilizando a túa chave gpg_key_id e calquera outra que desexes

pass init -p shared_passwords keyID-1 keyID-2 ...

todos os contrasinais dentro de este cartafol cifraránse utilizando tanto a chave con ID 1 e 2

o parámetro -p limita este inicio a ruta definida, así todos os outros contrasinais que poidas ter seguirán utilizando só o teu ID de chave e ningunha outra persoa terá acceso a eles.

Engadir novo contrasinal

Deste xeito, se escribes

pass generate shared_passwords/new_test_password

estás a crear un novo ficheiro con nome

new_test_password.gpg

dentro de /route/to/your/cloud_folder/shared_pass/, pero accesible con

pass shared_passwords/new_test_password

Non precisas escribir estas rutas e nomes tan longos, nin siquera lembralos, aquí é onde resultan útil a función de autocompletado e find para atopar unha chave.

Esto pode ser útil para equipos de traballo que precisan compartir contrasinais protexidas con gpg utilizando as súas propias chaves. Person1 NON precisa a frase de paso da chave privada de Person2, só precisa a súa chave publica para cifrar.

Se a Person2 engade un novo contrasinal ao cartafol compartido deberá facelo tamén utilizando para o cifrado a chave pública key1_id se quere que Person1 poida lela.