Plan 9 from Bell Labs’s /usr/web/sources/patch/applied/doc-man-1-p9psync/secstore.backup

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


.TH SECSTORE 1
.SH NAME
aescbc, secstore, ipso \- secstore commands
.SH SYNOPSIS
.B auth/secstore
[
.B -s
.I server
]
[
.B -(g|G)
.I getfile
]
[
.B -p
.I putfile
]
[
.B -r
.I rmfile
]
[
.B -c
]
[
.B -u
.I user
]
[
.B -v
]
[
.B -i
]
.PP
.B auth/aescbc
-e
.I <cleartext
.I >ciphertext
.br
.B auth/aescbc
-d
.I <ciphertext
.I >cleartext
.PP
.B ipso
[
.B -a -e -l -f -s
] [
.I file
\&...
]
.PP
.SH DESCRIPTION
.PP
.I Secstore
authenticates to the server
using a password and optionally a hardware token,
then saves or retrieves a file.
This is intended to be a credentials store (public/private keypairs,
passwords, and other secrets) for a factotum.
.PP
Option
.B -p
stores a file on the secstore.
.PP
Option
.B -g
retrieves a file to the local directory;
option
.B -G
writes it to standard output instead.
Specifying
.I getfile
of . will send to standard output
a list of remote files with dates, lengths and SHA1 hashes.
.PP
Option
.B -r
removes a file from the secstore.
.PP
Option
.B -c
prompts for a password change.
.PP
Option
.B -v
produces more verbose output, in particular providing a few
bits of feedback to help the user detect mistyping.
.PP
Option
.B -i
says that the password should be read from standard input
instead of from
.BR /dev/cons .
.PP
Option
.B -n
says that the password should be read from NVRAM
(see
.IR authsrv (2))
instead of from
.BR /dev/cons .
.PP
The server is
.BR tcp!$auth!5356 ,
or the server specified by option
.BR -s .
.PP
For example, to add a secret to the file read by
.IR factotum (4)
at startup, open a new window, type
.sp
.EX
  % ramfs -p; cd /tmp
  % auth/secstore -g factotum
  secstore password:
  % echo 'key proto=apop dom=x.com user=ehg !password=hi' >> factotum
  % auth/secstore -p factotum
  secstore password:
  % read -m factotum > /mnt/factotum/ctl
.EE
.PP
and delete the window.
The first line creates an ephemeral memory-resident workspace,
invisible to others and automatically removed when the window is deleted.
The next three commands fetch the persistent copy of the secrets,
append a new secret,
and save the updated file back to secstore.
The final command loads the new secret into the running factotum.
.PP
The
.I ipso
command packages this sequence into a convenient script to simplify editing of
.I files
stored on a secure store.
It copies the named
.I files
into a local
.IR ramfs (4)
and invokes
.IR acme (1)
on them.  When the editor exits,
.I ipso
prompts the user to confirm copying modifed or newly created files back to
.I secstore.
If no
.I file
is mentioned,
.I ipso
grabs all the user's files from
.I secstore
for editing.
.PP
By default, ipso will edit the
.I secstore
files and, if
one of them is named
.BR factotum ,
flush your current keys from factotum and load
the new ones from the file.
If you supply any of the
.BR -e ,
.BR -f ,
or
.BR -l
options,
.I ipso
will just perform the operations you requested, i.e.,
edit, flush, and/or load.
.PP
The
.B -s
option of
.I ipso
invokes
.IR sam (1)
as the editor insted of
.BR acme ;
the
.B -a
option provides a similar service for files encrypted by
.I aescbc
.RI ( q.v. ).
With the
.B -a
option, the full rooted pathname of the
.I file
must be specified and all
.I files
must be encrypted with the same key.
Also with
.BR -a ,
newly created files are ignored.
.PP
.I Aescbc
encrypts and decrypts using AES (Rijndael) in cipher
block chaining (CBC) mode.
.SH SOURCE
.B /sys/src/cmd/auth/secstore
.SH SEE ALSO
.IR factotum (4),
.IR secstore (8)
.SH BUGS
There is deliberately no backup of files on the secstore, so
.B -r
(or a disk crash) is irrevocable.  You are advised to store
important secrets in a second location.
.PP
When using
.IR ipso ,
secrets will appear as plain text in the editor window,
so use the command in private.

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.