Add cp, folder mv, get -r, and unlock/lock to remember the key
Filesystem basics: mv now moves folders as well as files, and like mv(1) a NEW ending in / or naming an existing folder means into it. cp copies a file, or a folder with -r, by writing new records that share the original's objects, so it is instant and takes no space; rm already keeps objects another record still uses. New records go first, so an interrupted move leaves both names, never neither. get -r extracts a folder, keeping its structure. vault unlock [--for 5m] checks the passphrase and starts the binary again as a hidden __agent process, handing it the suite ID and seed over a pipe. The agent keeps them in mlocked memory, with core dumps off and (on Linux) PR_SET_DUMPABLE cleared, serves them on a Unix socket in a 0700 per-user directory whose owner is checked on every use, and wipes them and exits at a hard deadline or on vault lock. Commands ask it first unless VAULT_PASSPHRASE is set, and genkey stops any agent left for that path. Guide, man pages (new vault-cp, vault-unlock, vault-lock), README and screenshots updated; the guide's error table is split so it fits.
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
.TH VAULT-CP 1 "September 2026" "vault" "User Commands"
|
||||
.SH NAME
|
||||
vault-cp \- copy a stored file or folder
|
||||
.SH SYNOPSIS
|
||||
.B vault cp
|
||||
.RB [ \-r ]
|
||||
.RB [ \-\-key
|
||||
.IR PATH ]
|
||||
.RB [ \-\-vault
|
||||
.IR DIR ]
|
||||
.I OLD NEW
|
||||
.SH DESCRIPTION
|
||||
Copies \fIOLD\fR to \fINEW\fR, following the same naming rules as
|
||||
.BR vault\-mv (1).
|
||||
A folder needs \fB\-r\fR. The copy shares the original's encrypted
|
||||
objects rather than re-encrypting them, so it is instant and takes no
|
||||
extra space; deleting either name leaves the other intact.
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
.B \-r
|
||||
Copy a folder and everything under it.
|
||||
.TP
|
||||
.BI \-\-key " PATH"
|
||||
Key file. Default: $VAULT_KEY, else ~/.vault/key.
|
||||
.TP
|
||||
.BI \-\-vault " DIR"
|
||||
Vault directory. Default: $VAULT_DIR, else ~/.vault/store.
|
||||
.SH ENVIRONMENT
|
||||
.TP
|
||||
.B VAULT_PASSPHRASE
|
||||
Passphrase, instead of prompting on the terminal.
|
||||
.SH SEE ALSO
|
||||
.BR vault (1),
|
||||
.BR vault\-mv (1),
|
||||
.BR vault\-rm (1)
|
||||
.SH AUTHOR
|
||||
Andy Dixon <vault@dixon.cx>, https://www.dixon.cx
|
||||
Reference in New Issue
Block a user