Blob
- Date:
- Message:
- rewrite gpm completely in perl Aside from the language change, the changelist is pretty large: - Added support for creating directories of arbitrary depth within GPM_DIR - Added support for GPM_GPG environment variable and -g flag - The GPM_RECIPIENT environment variable and -r flag are now optional - Added support for multiline secrets - Added the -m flag for the add command - The add command no longer forces the .gpg suffix - Added support for the GPM_LSCMD environment variable - The rm command now asks before each removal (for forced removal use "cd $GPM_DIR && rm -f $file") - No longer trying to be "clever" about newlines
- Actions:
- History | Blame | Raw File
1 .Dd December 31, 20232 .Dt GPM 13 .Os4 .Sh NAME5 .Nm gpm6 .Nd gpg-based secret (or password) manager7 .Sh SYNOPSIS8 .Nm9 .Op Fl d Ar dir10 .Op Fl g Ar command11 .Ar command12 .Op Ar arg ...13 .Sh DESCRIPTION14 The utility15 .Nm16 is a secret manager.17 Secrets are stored in a directory tree as files, encrypted with18 .Xr gpg 1 .19 .Nm20 provides several commands for manipulating secrets.21 Commands may be specified by their shortest unique prefix (all characters22 after are ignored).23 Commands may accept additional arguments.24 Commands may be preceeded by global options as follows:25 .Bl -tag -width Ds26 .It Fl d Ar dir27 The directory to store and retrieve secrets from.28 Overrides29 .Ev GPM_DIR .30 .It Fl g Ar command31 The32 .Xr gpg 133 command.34 Overrides35 .Ev GPM_GPG .36 .El37 .Pp38 The39 .Nm40 commands are as follows:41 .Bl -tag -width Ds42 .It Xo43 .Cm add44 .Op Fl m45 .Ar name46 .Xc47 Create a new secret48 .Ar name .49 The new secret is read from stdin.50 If used from a TTY without the51 .Fl m52 flag, a single line is read twice, and not echoed.53 Otherwise, an arbitrary amount of lines is read normally once.54 .It Cm ls55 List existing secrets, using the command in56 .Ev GPM_LSCMD57 if set.58 .It Cm mv Ar from Ar to59 Rename secret60 .Ar from61 to62 .Ar to .63 .It Cm rm Ar name ...64 Remove secrets specified on the command line.65 .Nm66 will ask for confirmation before each removal.67 .It Cm show Ar name68 Decrypt the secret69 .Ar name ,70 and print plaintext to stdout.71 .El72 .Sh ENVIRONMENT73 .Bl -tag -width XDG_DATA_HOME74 .It Ev GPM_DIR75 Directory in which the secrets are stored.76 .It Ev GPM_LSCMD77 Shell command used for the78 .Nm79 command80 .Cm ls .81 .It Ev XDG_DATA_HOME82 If83 .Ev XDG_DATA_HOME84 is set, but85 .Ev GPM_DIR86 isn't, the default secret directory is87 .Pa $XDG_DATA_HOME/gpm .88 .El89 .Sh FILES90 .Bl -tag -width Ds91 .It Pa $HOME/.gpm92 The default secret directory if neither93 .Ev GPM_DIR ,94 nor95 .Ev XDG_DATA_HOME96 are set.97 .El98 .Sh EXIT STATUS99 .Ex -std100 .Sh EXAMPLES101 Tab-completion may be set, e.g. with102 .Xr ksh 1 :103 .Bd -literal -offset indent104 set -A complete_gpm_1 -- add ls mv rm show105 set -A complete_gpm -- $(gpm ls)106 .Ed107 .Sh SEE ALSO108 .Xr gpg 1 ,109 .Xr gpg2 1 ,110 .Xr pm 1111 .Sh AUTHORS112 .An Alexander Arkhipov Aq Mt aa@manpager.org .