1 .\" Copyright (c) 2022, 2023 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 password manager.
28 Every password lives inside a
30 encrypted file somewhere inside
32 which is managed with the
34 version control system to keep track of changes, recovery accidental
35 overwrites and synchronize it across devices.
37 The options are as follows:
40 Display usage information and exit immediately.
43 The following commands are available:
45 .It Cm cat Ar entries ...
46 Decrypt and print the content of
50 Interactively modify the content of the given
53 .It Cm find Op Ar pattern
54 Print the entries of the store one per line, optionally filtered by
57 .It Cm mv Ar from Ar to
58 Rename a password entry, doesn't work with directories.
63 .It Cm rm Ar entries ...
67 .It Cm tee Oo Fl q Oc Ar entry
68 Persist the data read from standard input into the store under the given
70 name and then print it again on the standard output unless the
75 Password entries can be referenced using the path relative to the
87 Alternative path to the password store directory tree.
88 .It Ev VISUAL , Ev EDITOR
94 text editor will be used in order to given it the attention
99 .It Pa ~/.password-store
100 Default password store.
101 .It Pa ~/.password-store/.gpg-id
102 File containing the GPG recipient used to encrypt the passwords.
107 A got repository and password store can be initialized as follows:
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.
123 .Pa ~/.password-store
124 and check out it again using
127 Generate a random password and save it to the clipboard:
128 .Bd -literal -offset indent
129 $ pwg | plass tee entry/name | xsel -b
132 Generate a TOTP token using the secret stored in the password store:
133 .Bd -literal -offset indent
134 $ plass cat 2fa/codeberg/op | totp
138 Interactively edit the contents of
142 .Bd -literal -offset indent
143 $ env VISUAL=mg plass edit entry/name
146 Display the entries matching
148 arranged comfortably for reading in a terminal window:
149 .Bd -literal -offset indent
150 $ plass find key | rs
153 Enable tab-completion of
155 command names and entries in
157 .Bd -literal -offset indent
158 $ set -A complete_plass_1 -- cat edit find mv rm tee
159 $ set -A complete_plass -- $(plass find)
168 was heavily influenced by
170 in the design, but it's a different implementation that prioritizes ease
171 of use and composability.
176 utility was written by
177 .An Omar Polo Aq Mt op@omarpolo.com .
181 output format isn't designed to handle files containing newlines.
185 or similar if it's a concern.
189 is not able to move directory trees, only file entries.
193 sub-command, the store initialization must be performed manually.