pass
posix password manager
A very simple password manager that keeps passwords inside gpg encrypted files inside a simple directory tree.
Based off of password-store but written in POSIX compliant shell script instead of bash.
Requirements
Menu Requirements (optional)
2FA Requirements (optional)
Config
| Setting | Description |
|---|---|
| GPG_ID | Default GPG key ID to use for encrypting/decrypting |
| GPG_OPTS | Do not edit this unless you know what you are doing |
| PASS_DIR | Directory to store all password information |
Note: Edit the 'pass' file to change these settings
Usage
| Command | Description |
|---|---|
| pass | Display a directory tree of stored passwords |
| pass <dir> | Display a directory tree of stored passwords inside of the <dir> directory |
| pass menu | Use pass in dmenu (Selected lines are copied to clipboard) |
| pass edit <path> | Display stored password information for <path> |
| pass gen <len> | Generate a random password that is <length> characters long |
| pass otp <path> | Return a 2-Factor-Authenticaion code for <path> (Last line of <path> must be a valid otpauth:// URI) |
Note: <path> is not a direct path per-say. If the password is stored in '$PASS_DIR/www/github.gpg' all you have to put is 'www/github' for <path>
The same applies for <dir>, where you can simply put 'www' for <dir> to see everything in the 'www' directory only.
Pinentry Usage with Dmenu
Using pinentry-dmenu will allow you to enter your GPG key password inside of dmenu, but in order to do that you will need to create a wrapper for pinetry at $HOME/.gnupg/pinentry-wrapper:
if [ "$PINENTRY_USER_DATA" = "dmenu" ]; then
exec /usr/local/bin/pinentry-dmenu "$@"
else
exec /usr/bin/pinentry-curses "$@"
fi
Make it executable with chmod +x $HOME/.gnupg/pinentry-wrapper and then edit your .gnupg/gpg-agent.conf and add pinentry-program $HOME/.gnupg/pinentry-wrapper.
Mirrors
- acid.vegas (main)
- GitHub
- GitLab