Yiyang Kang 0a56aa51e7 | ||
---|---|---|
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
)