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 Op 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 and the
77 .It Cm mv Ar from Ar to
78 Rename a password entry, doesn't work with directories.
83 .It Cm rm Ar entries ...
87 .It Cm tee Oo Fl q Oc Ar entry
88 Prompt for a password and persist it into the store under the given
90 name and the print it again on the standard output unless the
94 .Sh CREATING A PASSWORD STORE
95 A password store is just a normal
97 repository with a worktree checkout out in
99 .Pq or at Ev PLASS_STORE .
100 The only restriction is that a special file called
102 must exist in the root of the work tree for most
106 For example, a got repository and password store can be initialized as
108 .Bd -literal -offset indent
109 $ mkdir ~/.password-store
110 $ echo foo@example.com > ~/.password-store/.gpg-id
111 $ gotadmin init ~/git/pass.git
112 $ got import -r ~/git/pass.git -m 'initial import' ~/.password-store
113 $ got checkout -E ~/git/pass.git ~/.password-store
118 for more information.
120 Otherwise, if a repository already exists, a password store can be
122 .Bd -literal -offset indent
123 $ got checkout ~/git/pass.git ~/.password-store
129 .Pa ~/.password-store
130 and check out it again using
135 default range of characters to use to generate passwords.
145 Default length for the generated passwords.
147 Path to the password store directory tree.
151 .It Pa ~/.password-store
152 Password store used by default.
153 .It Pa ~/.password-store/.gpg-id
154 File containing the gpg recipient used to encrypt the passwords.
158 was heavily influenced by
160 in the design, but it's a completely different implementation with
161 different tools involved.
166 utility was written by
167 .An Omar Polo Aq Mt op@omarpolo.com .
171 output format isn't designed to handle files containing newlines.
175 or similar if it's a concern.
179 sub-command, the store initialization must be performed manually.