SECSTORE(1)
okay so this is the SECSTORE(1) page from the General Commands Manual, and itβs giving βthree little secret-keeping commands that are lowkey iconicβ energy. no cap, bestie, this one is all about auth, secrets, and not losing your fave files π
π NAME π
aescbc, ipso, secstore β the secstore commands. thatβs the whole squad, fr fr.
β¨ SYNOPSIS β¨
secstore [ -s server ] [ -(g|G) getfile ] [ -p putfile ] [ -r rmfile ] [ -c ] [ -u user ] [ -v ] [ -i ]
aescbc -e <cleartext >ciphertext
aescbc -d <ciphertext >cleartext
ipso [ -a -e -l -f ] [ file ... ]
π DESCRIPTION π
Secstore authenticates to the server using a password and optionally a hardware token, then saves or retrieves a file. itβs intended to be a credentials store β public/private keypairs, passwords, and other secrets β for a factotum. literally the little vault bestie for your auth stuff π«Ά
secstore options, bestie
-s serverβ the server istcp!$auth!secstore, or the server specified by option-s. so you can point it somewhere else if thatβs the vibe π«-p putfileβ stores a file on the secstore. put that secret away, slay.-g getfileβ retrieves a file to the local directory. bringing it back home π-G getfileβ writes it to standard output instead. same retrieval energy, but it goes straight to stdout.getfileset to.β specifying getfile of.will send to standard output a list of remote files with dates, lengths and SHA1 hashes. cute little inventory moment β¨-r rmfileβ removes a file from the secstore. bye bestie, and remember: itβs giving irreversible, so read the BUGS section π-cβ prompts for a password change. new password, new main character energy.-u userβ yep, itβs in the synopsis as-u user. the page doesnβt spell out extra deets here, so iβm not gonna invent lore. iykyk π-vβ produces more verbose output, in particular providing a few bits of feedback to help the user detect mistyping. honestly obsessed with helpful little feedback π-iβ says that the password should be read from standard input instead of from/dev/tty. stdin girlies rise π§-nβ says that the password should be read from NVRAM (seeauthsrv(3)) instead of from/dev/tty. NVRAM moment, periodt.
the example, because examples ate
for example, to add a secret to the file read by factotum(4), run:
% cd somewhere-private
% auth/secstore -g factotum
secstore password:
% echo 'key proto=apop dom=x.com user=ehg !password=hi' >> factotum
% auth/secstore -p factotum
secstore password:
% cat factotum | 9p write -l factotum/ctl
and delete the window. the middle 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. itβs giving full-circle secret choreography π
ipso, the convenient little script bestie
the ipso command packages this sequence into a convenient script to simplify editing of files stored on a secure store. it copies the named files into a private directory, plumbs them to the editor, and waits for a line on the console. once a line is typed, signifying that editing is complete, ipso prompts the user to confirm copying modified or newly created files back to secstore. if no file is mentioned, ipso grabs all the userβs files from secstore for editing. no files named? itβs grabbing the whole stash, bestie π
by default, ipso will edit the secstore files and, if one of them is named factotum, flush current keys from factotum and load the new ones from the file. if the -e, -f, or -l options are given, ipso will just perform only the requested operations, i.e., edit, flush, and/or load. very βpick your own adventureβ of it β¨
ipso option tea
-aβ provides a similar service for files encrypted byaescbc(q.v.). with the-aoption, the full rooted pathname of the file must be specified and all files must be encrypted with the same key. also with-a, newly created files are ignored. noted, no extra claims, just facts π-e,-f,-lβ if these are given,ipsowill just perform only the requested operations, i.e., edit, flush, and/or load. no extra side quests.
aescbc, cryptographic icon
aescbc encrypts and decrypts using AES (Rijndael) in cipher block chaining (CBC) mode. thatβs the whole flex, and itβs a good one π₯
π¦ SOURCE π¦
/bin/ipso
/src/cmd/auth/secstore
π SEE ALSO π
factotum(4), secstored(1). go read those too, bestie, itβs called lore expansion π¦
π BUGS π
ok this part is serious, bestie. read it before you do anything irreversible.
- there is deliberately no backup of files on the secstore, so
-r(or a disk crash) is irrevocable. you are advised to store important secrets in a second location. like, please, fr fr π - when using
ipso, secrets will appear as plain text in the editor window, so use the command in private. no screen-sharing your secrets, bestie π - establishing a private directory in which to store the secret files is difficult on Unix. on most systems,
ipsocreates a mode 700 directory/tmp/ipso.userand works there. on Linux systems,ipsolooks for a tmpfs file system; if it exists,ipsocreates theipso.userdirectory in its root instead of/tmp. noted, no guessing, just the tea π«Ά Ipsoshould zero the secret files before removing them. should. iconic security goal, but thatβs what the page says π
catch u later β signing off from SECSTORE(1), General Commands Manual, with no separate source/version or date line in this copy, just the cute footer vibe and a lil mwah πβ¨
π¦ where this page comes from
- alpine 3.24: plan9port-doc 0_git20260208-r0 Β· LPL-1.02
- arch rolling: plan9port 20261021-2 Β· custom
- nixos 26.05: plan9port 0-unstable-2025-11-10
- nixos 26.05: plan9port-wayland 0-unstable-2025-11-26
- nixpkgs unstable: plan9port 0-unstable-2025-11-10
- nixpkgs unstable: plan9port-wayland 0-unstable-2025-11-26
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms