场景是我有一堆计算机(装有 Ubuntu 20.04),每台计算机可以有多个用户。每个用户的帐户都必须单独加密。
由于不再推荐使用 ecryptfs,我从以下基于 ZFS 的方法的文章中汲取了灵感:
- https://medium.com/@steinarlbergmyrvang/ubuntu-20-04-with-encrypted-home-f5ce490333cc
- https://talldanestale.dk/2020/04/06/zfs-and-homedir-encryption/
我在 Ubuntu 安装期间选择了“实验性” ZFS 支持,并编写了这个脚本来创建新用户:
username=foo
password=barbarbar
useradd "$username"
echo "$username":"$password" | chpasswd
zfs create \
-o encryption=aes-256-gcm \
-o keyformat=passphrase \
-o keylocation=prompt \
rpool/USERDATA/"$username"_encrypt \
-o mountpoint=/home/"$username" \
-o canmount=noauto
sudo chown "$username":"$username" /home/"$username"
当我省略 时canmount=noauto
,启动时我必须输入以这种方式创建的所有用户的所有加密密码。但是,使用 时canmount=noauto
,我根本没有收到提示,并且在可视登录屏幕上登录失败。通过终端登录有效,但用户的主文件夹仍必须解锁。
我也尝试按照第二篇文章使使用 PAM 的解锁脚本工作,但没有成功。
答案1
您引用的第二篇文章非常有效!
https://talldanestale.dk/2020/04/06/zfs-and-homedir-encryption/
我刚刚完成了实施(根据当地情况做了微小调整)强烈建议提供详细的说明 - 只要仔细阅读,你就会学到很多很酷的东西。
谢谢您的指点。