O conjunto de dados ZFS criptografado não é montado: permissão negada

O conjunto de dados ZFS criptografado não é montado: permissão negada

Estou no NixOS e tento criptografar uma partição do disco rígido (potencialmente mais no futuro) usando o ZFS. Eu tentei seguireste guia, então adicionei

boot.zfs = {
  enableUnstable = true;
  requestEncryptionCredentials = true;
};
boot.supportedFilesystems = [ "zfs" ];

para my configuration.nixe criei o pool e o conjunto de dados zroote zroot/genccom mountpoint=legacy acltype=posixacl xattr=sa. Eu criptografei o pool com

$ sudo zfs create -o acltype=posixacl -o xattr=sa -o encryption=aes-256-gcm -o keyformat=passphrase -o mountpoint=none zroot/genc

Me pediram uma senha e então eu fiz

$ 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

Tudo funcionou bem (eu poderia criar o arquivo ~/genc/hello). No entanto, depois disso nixos-rebuild switch, fui colocado em um shell de emergência e não pude fazer nada. Reverti para uma versão anterior do NixOS e removi as zfsentradas /etc/nixos/hardware-configuration.nixpara que o sistema não tentasse importar os pools ZFS (porque aparentemente falhou nisso). Com esta nova configuração, fiz

$ sudo zfs import zroot
$ sudo mount -t zfs zroot/genc ~/genc
> filesystem 'zroot/genc' can not be mounted: Permission denied

Não cheguei a um ponto em que minha senha fosse solicitada. zroot/genctem os atributos canmount=on keylocation=prompt.

Então, como posso consertar isso? Como posso montar o conjunto de dados criptografado?

Responder1

Este guiaresume bem o processo de montagem. Resumindo, você provavelmente deveria usar zfs mountem vez de mount -t zfsporque ele saberá carregar/pedir chaves de criptografia. Para fazer isso no momento da inicialização, você também pode usar o -lsinalizador to zpool import(embora você precise de alguma forma para fornecer a senha ao seu script de inicialização).

informação relacionada