BUPSTASH-NEW-SUB-KEY(1)

SYNOPSIS
Generate a bupstash sub key with lesser encryption and decryption capabilities.

bupstash new-sub-key -k KEY -o SUB_KEY

DESCRIPTION
bupstash new-sub-key creates a new bupstash key capable of a subset of the encryption and decryption operations of the main key.

Capabilities are any of 'put', 'list' and 'list-contents'. 'put' keys can create new backups but not decrypt data, 'list' keys can decrypt tags and other metadata, while 'list-contents' keys can decrypt the contents of items created by 'bupstash put'.

A typical use of a list only key would be to allow a cron job to rotate old backups by their search tags, without exposing the data decryption key.

The generated key will be marked readable only for the creating user.

If a sub-key is lost, the original key will still be able to decrypt any data in the repository encrypted by that sub-key.

NOTE: decryption differs from access - An attacker may still delete data by simply deleting the items or files they have access to. Use bupstash-serve(1) access controls to restrict which operations a user can perform and prevent unauthorized deletion of data. This can be done via an ssh authorized_keys file, or through mechanisms such as sudo or doas configuration.

OPTIONS

-k, --key PATH
    Key to derive the new sub-key from.

-o, --output PATH
    Path to where the sub-key will be written.

--put
    The key is able to encrypt data for 'put' operations.

--list
    The key will be able to decrypt metadata and perform queries.

--list-contents
    The key will be able to list item contents with 'list-contents' (implies --list).

EXAMPLES

  Create a new put only key
$ bupstash new-sub-key --put -k backups.key -o ./put.key
$ bupstash put -k ./backups-put.key ./data

  Create a new listing key
$ bupstash new-sub-key -k ./backups.key -o ./list.key --list
$ bupstash list -k ./list.key

  Create a new content listing key
$ bupstash new-sub-key -k ./backups.key -o ./list-contents.key --list-contents
$ bupstash list-contents -k ./list-contents.key name=some-backup.tar

SEE ALSO
bupstash(1), bupstash-keyfiles(7)