Estoy en NixOS e intento cifrar una partición del disco duro (potencialmente más en el futuro) usando ZFS. Traté de seguiresta guía, entonces agregué
boot.zfs = {
enableUnstable = true;
requestEncryptionCredentials = true;
};
boot.supportedFilesystems = [ "zfs" ];
a my configuration.nix
y creé el grupo y el conjunto de datos zroot
y zroot/genc
con mountpoint=legacy acltype=posixacl xattr=sa
. Cifré el grupo con
$ sudo zfs create -o acltype=posixacl -o xattr=sa -o encryption=aes-256-gcm -o keyformat=passphrase -o mountpoint=none zroot/genc
Me pidieron una contraseña y luego la hice.
$ sudo zfs set mountpoint=legacy zroot/genc
$ sudo mount -t zfs zroot/genc /home/gecku/genc
$ sudo chown gecku:users ~/genc
$ touch ~/genc/hello
$ sudo nixos-generate-config
Todo esto funcionó bien (pude crear el archivo ~/genc/hello
). Sin embargo, después de eso nixos-rebuild switch
, me dejaron caer en un caparazón de emergencia y no pude hacer nada. Volví a una versión anterior de NixOS y eliminé las zfs
entradas /etc/nixos/hardware-configuration.nix
para que el sistema no intentara importar los grupos ZFS (porque aparentemente falló en eso). Con esta nueva configuración, hice
$ sudo zfs import zroot
$ sudo mount -t zfs zroot/genc ~/genc
> filesystem 'zroot/genc' can not be mounted: Permission denied
No llegué al punto en el que me pidieran mi contraseña. zroot/genc
tiene los canmount=on keylocation=prompt
atributos
Entonces, ¿cómo puedo solucionar esto? ¿Cómo puedo montar el conjunto de datos cifrados?
Respuesta1
esta guíaResume bien el proceso de montaje. En resumen, probablemente debería usar zfs mount
en lugar de mount -t zfs
porque sabrá cargar/solicitar claves de cifrado. Para hacer esto en el momento del arranque, también puede usar la -l
opción zpool import
(aunque necesitará alguna forma de proporcionar la contraseña al script de arranque).