Add PASSWORD_STORE_CHARACTER_SET
in pass description
This commit is contained in:
parent
eb653d1196
commit
39a90c8245
content/software
@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
Title: Gérer vos mots de passe avec pass
|
Title: Gérer vos mots de passe avec pass
|
||||||
Date: 2019-04-22 19:00
|
Date: 2019-04-22 19:00
|
||||||
Modified: 2019-04-24 11:12
|
Modified: 2024-02-24 18:00
|
||||||
Lang: fr
|
Lang: fr
|
||||||
Author: Fabrice
|
Author: Fabrice
|
||||||
Category: programmes
|
Category: programmes
|
||||||
@ -32,6 +32,28 @@ Pour **re**générer un mot de passe, l’option `-i` ici est **importante** pui
|
|||||||
Cela évite donc de devoir utiliser du [git sale]({filename}/cheat-sheets/git-fr.md) pour retirer l’erreur de l’arbre des commits vu que `pass <cmd>` fait automatiquement un commit atomique à la fin de la commande.
|
Cela évite donc de devoir utiliser du [git sale]({filename}/cheat-sheets/git-fr.md) pour retirer l’erreur de l’arbre des commits vu que `pass <cmd>` fait automatiquement un commit atomique à la fin de la commande.
|
||||||
Je l’oublie parfois, c’est pourquoi je laisse ça ici en guise de rappel.
|
Je l’oublie parfois, c’est pourquoi je laisse ça ici en guise de rappel.
|
||||||
|
|
||||||
|
Sur certains services, il arrive que l’on ait besoin de spécifier un ensemble de caractères admissibles pour les mots de passe.
|
||||||
|
Cela peut être fait via la variable d’environnement `PASSWORD_STORE_CHARACTER_SET`.
|
||||||
|
Le contenu de cette variable est transmis à la [commande `tr`](https://fr.wikipedia.org/wiki/Tr_(Unix)).
|
||||||
|
Ainsi, pour créer un code PIN, on peut spécifier la valeur suivante : `PASSWORD_STORE_CHARACTER_SET='[:digit:]'` et indiquer la longueur désirée du mot de passe en dernier argument de la commande.
|
||||||
|
|
||||||
|
Par exemple, pour générer un code PIN de 6 chiffres :
|
||||||
|
|
||||||
|
```sh
|
||||||
|
PASSWORD_STORE_CHARACTER_SET='[:digit:]' pass generate <pass-name> 6
|
||||||
|
```
|
||||||
|
|
||||||
|
Je n’ai en revanche pas trouvé comment forcer la présence de caractères spéciaux… je lance donc la commande plusieurs fois dans ces cas avec l’option `-i` pour écrire en place après la première tentative.
|
||||||
|
Ce n’est pas la meilleure solution, qui en plus pollue l’historique git mais bon… ça fonctionne.
|
||||||
|
|
||||||
|
Par exemple, pour générer un mot de passe sur un service _fictif_ qui supporterait les caractères spéciaux suivants: `-_@$<>` pour des mots de passe d’au plus 20 caractères, on peut utiliser la commande suivante :
|
||||||
|
|
||||||
|
```sh
|
||||||
|
PASSWORD_STORE_CHARACTER_SET='[:alnum:]-_@$<>' pass generate <pass-name> 20
|
||||||
|
```
|
||||||
|
|
||||||
|
Pour finir :
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
pass git <ce que vous voulez>
|
pass git <ce que vous voulez>
|
||||||
```
|
```
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
Title: Manage your passwords with pass
|
Title: Manage your passwords with pass
|
||||||
Date: 2019-04-22 19:00
|
Date: 2019-04-22 19:00
|
||||||
Modified: 2019-04-23 14:24
|
Modified: 2024-02-24 18:00
|
||||||
Author: Fabrice
|
Author: Fabrice
|
||||||
Category: software
|
Category: software
|
||||||
Tags: pass, git, cli
|
Tags: pass, git, cli
|
||||||
@ -28,7 +28,28 @@ Here are just some commands I often use.
|
|||||||
```sh
|
```sh
|
||||||
pass generate -i <pass-name>
|
pass generate -i <pass-name>
|
||||||
```
|
```
|
||||||
To regenerate a password, the `-i` is important to avoid overwritting the whole file and having to rely on [dirty git]({filename}/cheat-sheets/git.md) to withdraw your mistake (`pass <cmd>` will automatically commit your change)… I sometimes forget it, so let's put it here as a reminder.
|
To regenerate a password, the `-i` is important to avoid overwriting the whole file and having to rely on [dirty git]({filename}/cheat-sheets/git.md) to withdraw your mistake (`pass <cmd>` will automatically commit your change)… I sometimes forget it, so let's put it here as a reminder.
|
||||||
|
|
||||||
|
Sometimes it can be useful to specify the accepted special chars, this can be done using the `PASSWORD_STORE_CHARACTER_SET` environment variable.
|
||||||
|
This value is interpreted by the [`tr` command](https://en.wikipedia.org/wiki/Tr_(Unix)),
|
||||||
|
hence to create a PIN, you can use the following value: `PASSWORD_STORE_CHARACTER_SET='[:digit:]'`, then specify the length with the last argument.
|
||||||
|
|
||||||
|
For instance, to generate a 6 digit PIN:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
PASSWORD_STORE_CHARACTER_SET='[:digit:]' pass generate <pass-name> 6
|
||||||
|
```
|
||||||
|
|
||||||
|
I didn’t manage to specify how to have at least one of them, so I run the command multiple times (with the `-i` option to change the file in place after the first one)…
|
||||||
|
It pollutes a bit the git history but, well… it works.
|
||||||
|
|
||||||
|
For instance, for a service supporting only the following characters: `-_@$<>` of at most 20 char long (fictive example), you can use the following command:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
PASSWORD_STORE_CHARACTER_SET='[:alnum:]-_@$<>' pass generate <pass-name> 20
|
||||||
|
```
|
||||||
|
|
||||||
|
To finish:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
pass git <whatever you want>
|
pass git <whatever you want>
|
||||||
|
Loading…
Reference in New Issue
Block a user