1 .\" Copyright (c) 2021, 2022 Omar Polo <op@omarpolo.com>
3 .\" Permission to use, copy, modify, and distribute this software for any
4 .\" purpose with or without fee is hereby granted, provided that the above
5 .\" copyright notice and this permission notice appear in all copies.
7 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
27 is a simple password manager.
28 It manages paswords stored in a directory tree rooted at
30 .Pq or at Ev PLASS_STORE ,
31 where every password is a single file encrypted with
34 Password entries can be referenced using the path relative to the
40 The whole store is supposed to be managed by the
42 version control system.
44 The following commands are available:
46 .It Cm cat Ar entries ...
47 Decrypt and print the content of the given
50 .It Cm find Op Ar pattern
51 Print one per line all the entries of the store, optionally filtered
54 .It Cm gen Oo Fl nq Oc Oo Fl c Ar chars Oc Oo Fl l Ar length Oc Ar entry
55 Generate and persist a password for the given
59 can be used to control the characters allowed in the password
62 i.e. all the printable ASCII characters)
71 prints the generated password.
74 flag is given, the password won't be persisted.
75 .It Cm got Ar arguments
78 in the password store directory with the given
80 .It Cm mv Ar from Ar to
81 Rename a password entry, doesn't work with directories.
86 .It Cm rm Ar entries ...
90 .It Cm tee Oo Fl q Oc Ar entry
91 Prompt for a password and persist it into the store under the given
93 name and the print it again on the standard output unless the
96 .It Cm tog Ar arguments ...
99 in the password store directory with the given
102 .Sh CREATING A PASSWORD STORE
103 A password store is just a normal
105 repository with a worktree checkout out in
106 .Pa ~/.password-store
107 .Pq or at Ev PLASS_STORE .
108 The only restriction is that a special file called
110 must exist in the root of the work tree for most
114 For example, a got repository and password store can be initialized as
116 .Bd -literal -offset indent
117 $ mkdir ~/.password-store
118 $ echo foo@example.com > ~/.password-store/.gpg-id
119 $ gotadmin init ~/git/pass.git
120 $ got import -r ~/git/pass.git -m 'initial import' ~/.password-store
121 $ got checkout -E ~/git/pass.git ~/.password-store
126 for more information.
128 Otherwise, if a repository already exists, a password store can be
130 .Bd -literal -offset indent
131 $ got checkout ~/git/pass.git ~/.password-store
137 .Pa ~/.password-store
138 and check out it again using
143 default range of characters to use to generate passwords.
153 Default length for the generated passwords.
155 Path to the password store directory tree.
163 .It Pa ~/.password-store
164 Password store used by default.
165 .It Pa ~/.password-store/.gpg-id
166 File containing the gpg recipient used to encrypt the passwords.
170 was heavily influenced by
172 in the design, but it's a completely different implementation with
173 different tools involved.
178 utility was written by
179 .An Omar Polo Aq Mt op@omarpolo.com .
183 output format isn't designed to handle files containing newlines.
187 or similar if it's a concern.
191 sub-command, the store initialization must be performed manually.