암호화된 ZFS 데이터 세트 마운트 실패: 권한이 거부되었습니다.

암호화된 ZFS 데이터 세트 마운트 실패: 권한이 거부되었습니다.

저는 NixOS를 사용하고 있으며 ZFS를 사용하여 하드 드라이브 파티션(향후에는 더 많을 수 있음)을 암호화하려고 합니다. 나는 붙어 있으려고 노력했다.이 가이드, 그래서 추가했어요

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

my 에 추가 하고 configuration.nix풀과 데이터세트를 생성했습니다 . 나는 풀을 암호화했다.zrootzroot/gencmountpoint=legacy acltype=posixacl xattr=sa

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

비밀번호 문구를 요청한 후 비밀번호를 입력했습니다.

$ 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

이 모든 것이 잘 작동했습니다(파일을 만들 수 있었습니다 ~/genc/hello). 그러나 이후 nixos-rebuild switch나는 비상쉘에 던져져 아무것도 할 수 없게 됐다. 이전 버전의 NixOS로 되돌리고 시스템이 ZFS 풀 가져오기를 시도하지 않도록 zfs항목을 제거했습니다(분명히 실패했기 때문입니다). /etc/nixos/hardware-configuration.nix이 새로운 구성으로 나는

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

암호 문구를 묻는 시점까지 도달하지 못했습니다. zroot/genc속성을 가지고 있습니다 canmount=on keylocation=prompt.

그렇다면 이 문제를 어떻게 해결할 수 있나요? 암호화된 데이터 세트를 어떻게 마운트할 수 있나요?

답변1

이 가이드마운트 프로세스를 잘 요약합니다. 간단히 말해서, 암호화 키를 로드/요청하는 방법을 알기 때문에 zfs mount대신 사용해야 할 것입니다. mount -t zfs부팅 시 이를 수행하려면 플래그를 사용할 수도 있습니다 -l( zpool import단, 부팅 스크립트에 비밀번호를 제공하는 방법이 필요함).

관련 정보