Blame


1 884d5b5c 2023-12-31 aa .Dd December 31, 2023
2 d9354c43 2023-05-30 aa .Dt GPM 1
3 d9354c43 2023-05-30 aa .Os
4 d9354c43 2023-05-30 aa .Sh NAME
5 d9354c43 2023-05-30 aa .Nm gpm
6 884d5b5c 2023-12-31 aa .Nd gpg-based secret (or password) manager
7 d9354c43 2023-05-30 aa .Sh SYNOPSIS
8 d9354c43 2023-05-30 aa .Nm
9 d9354c43 2023-05-30 aa .Op Fl d Ar dir
10 884d5b5c 2023-12-31 aa .Op Fl g Ar command
11 d9354c43 2023-05-30 aa .Ar command
12 d9354c43 2023-05-30 aa .Op Ar arg ...
13 d9354c43 2023-05-30 aa .Sh DESCRIPTION
14 d9354c43 2023-05-30 aa The utility
15 d9354c43 2023-05-30 aa .Nm
16 884d5b5c 2023-12-31 aa is a secret manager.
17 884d5b5c 2023-12-31 aa Secrets are stored in a directory tree as files, encrypted with
18 884d5b5c 2023-12-31 aa .Xr gpg 1 .
19 d9354c43 2023-05-30 aa .Nm
20 884d5b5c 2023-12-31 aa provides several commands for manipulating secrets.
21 d9354c43 2023-05-30 aa Commands may be specified by their shortest unique prefix (all characters
22 d9354c43 2023-05-30 aa after are ignored).
23 d9354c43 2023-05-30 aa Commands may accept additional arguments.
24 d9354c43 2023-05-30 aa Commands may be preceeded by global options as follows:
25 d9354c43 2023-05-30 aa .Bl -tag -width Ds
26 d9354c43 2023-05-30 aa .It Fl d Ar dir
27 884d5b5c 2023-12-31 aa The directory to store and retrieve secrets from.
28 d9354c43 2023-05-30 aa Overrides
29 d9354c43 2023-05-30 aa .Ev GPM_DIR .
30 884d5b5c 2023-12-31 aa .It Fl g Ar command
31 884d5b5c 2023-12-31 aa The
32 884d5b5c 2023-12-31 aa .Xr gpg 1
33 884d5b5c 2023-12-31 aa command.
34 d9354c43 2023-05-30 aa Overrides
35 884d5b5c 2023-12-31 aa .Ev GPM_GPG .
36 d9354c43 2023-05-30 aa .El
37 d9354c43 2023-05-30 aa .Pp
38 d9354c43 2023-05-30 aa The
39 d9354c43 2023-05-30 aa .Nm
40 d9354c43 2023-05-30 aa commands are as follows:
41 d9354c43 2023-05-30 aa .Bl -tag -width Ds
42 884d5b5c 2023-12-31 aa .It Xo
43 884d5b5c 2023-12-31 aa .Cm add
44 884d5b5c 2023-12-31 aa .Op Fl m
45 884d5b5c 2023-12-31 aa .Ar name
46 884d5b5c 2023-12-31 aa .Xc
47 884d5b5c 2023-12-31 aa Create a new secret
48 d9354c43 2023-05-30 aa .Ar name .
49 884d5b5c 2023-12-31 aa The new secret is read from stdin.
50 884d5b5c 2023-12-31 aa If used from a TTY without the
51 884d5b5c 2023-12-31 aa .Fl m
52 884d5b5c 2023-12-31 aa flag, a single line is read twice, and not echoed.
53 884d5b5c 2023-12-31 aa Otherwise, an arbitrary amount of lines is read normally once.
54 d9354c43 2023-05-30 aa .It Cm ls
55 884d5b5c 2023-12-31 aa List existing secrets, using the command in
56 884d5b5c 2023-12-31 aa .Ev GPM_LSCMD
57 884d5b5c 2023-12-31 aa if set.
58 d9354c43 2023-05-30 aa .It Cm mv Ar from Ar to
59 884d5b5c 2023-12-31 aa Rename secret
60 d9354c43 2023-05-30 aa .Ar from
61 d9354c43 2023-05-30 aa to
62 d9354c43 2023-05-30 aa .Ar to .
63 884d5b5c 2023-12-31 aa .It Cm rm Ar name ...
64 884d5b5c 2023-12-31 aa Remove secrets specified on the command line.
65 884d5b5c 2023-12-31 aa .Nm
66 884d5b5c 2023-12-31 aa will ask for confirmation before each removal.
67 d9354c43 2023-05-30 aa .It Cm show Ar name
68 884d5b5c 2023-12-31 aa Decrypt the secret
69 884d5b5c 2023-12-31 aa .Ar name ,
70 884d5b5c 2023-12-31 aa and print plaintext to stdout.
71 d9354c43 2023-05-30 aa .El
72 d9354c43 2023-05-30 aa .Sh ENVIRONMENT
73 884d5b5c 2023-12-31 aa .Bl -tag -width XDG_DATA_HOME
74 d9354c43 2023-05-30 aa .It Ev GPM_DIR
75 884d5b5c 2023-12-31 aa Directory in which the secrets are stored.
76 884d5b5c 2023-12-31 aa .It Ev GPM_LSCMD
77 884d5b5c 2023-12-31 aa Shell command used for the
78 884d5b5c 2023-12-31 aa .Nm
79 884d5b5c 2023-12-31 aa command
80 884d5b5c 2023-12-31 aa .Cm ls .
81 d9354c43 2023-05-30 aa .It Ev XDG_DATA_HOME
82 d9354c43 2023-05-30 aa If
83 d9354c43 2023-05-30 aa .Ev XDG_DATA_HOME
84 d9354c43 2023-05-30 aa is set, but
85 d9354c43 2023-05-30 aa .Ev GPM_DIR
86 884d5b5c 2023-12-31 aa isn't, the default secret directory is
87 d9354c43 2023-05-30 aa .Pa $XDG_DATA_HOME/gpm .
88 d9354c43 2023-05-30 aa .El
89 d9354c43 2023-05-30 aa .Sh FILES
90 d9354c43 2023-05-30 aa .Bl -tag -width Ds
91 d9354c43 2023-05-30 aa .It Pa $HOME/.gpm
92 884d5b5c 2023-12-31 aa The default secret directory if neither
93 d9354c43 2023-05-30 aa .Ev GPM_DIR ,
94 d9354c43 2023-05-30 aa nor
95 d9354c43 2023-05-30 aa .Ev XDG_DATA_HOME
96 d9354c43 2023-05-30 aa are set.
97 d9354c43 2023-05-30 aa .El
98 d9354c43 2023-05-30 aa .Sh EXIT STATUS
99 d9354c43 2023-05-30 aa .Ex -std
100 d9354c43 2023-05-30 aa .Sh EXAMPLES
101 d9354c43 2023-05-30 aa Tab-completion may be set, e.g. with
102 d9354c43 2023-05-30 aa .Xr ksh 1 :
103 d9354c43 2023-05-30 aa .Bd -literal -offset indent
104 d9354c43 2023-05-30 aa set -A complete_gpm_1 -- add ls mv rm show
105 884d5b5c 2023-12-31 aa set -A complete_gpm -- $(gpm ls)
106 d9354c43 2023-05-30 aa .Ed
107 d9354c43 2023-05-30 aa .Sh SEE ALSO
108 d9354c43 2023-05-30 aa .Xr gpg 1 ,
109 d9354c43 2023-05-30 aa .Xr gpg2 1 ,
110 d9354c43 2023-05-30 aa .Xr pm 1
111 d9354c43 2023-05-30 aa .Sh AUTHORS
112 884d5b5c 2023-12-31 aa .An Alexander Arkhipov Aq Mt aa@manpager.org .