|
|
||
|---|---|---|
| blk | ||
| cfg | ||
| mnt | ||
| msg | ||
| util | ||
| zfs | ||
| .gitignore | ||
| Makefile | ||
| README.md | ||
| go.mod | ||
| go.sum | ||
| main.go | ||
| mounters.go | ||
README.md
xMnt
A tool for mounting encrypted partitions.
Use case
I have encrypted partitions that I need to mount and unmount from time to time.
I use GPG to encrypt the keys for each partition, save them as ${uuid}.key
With xmnt, I can mount and unmount these partitions with one command.
Usage
Presets are stored in $XDG_CONFIG_HOME/xmnt/presets.
For example, save the following content as boot.yml in the presets directory:
type: blk
path: /dev/nvme0n1p2
mountpoint: /boot
Then when you run xmnt boot, the tool will look for encryption key according
to the UUID of /dev/nvme0n1p2, read the key, call gpg --decrypt to decrypt
the key when necessary, then use the key to open /dev/nvme0n1p2, and mount it
on /boot.
Directories for storing encryption keys are defined in
$XDG_CONFIG_HOME/xmnt/xmnt.yml. xmnt will recursively search these
directories for keys.
You can also use it without defining presets. See --help for detailed usage.
Supported partition types
- luks encrypted partitions (e.g. ext4). luks "plain" format is not supported.
- regular unencrypted partitions
- zfs datasets (
keylocation=prompt)