内容提要
本文介绍了如何在Ubuntu 20.04中使用ZFS文件系统加密Home目录。步骤包括创建临时用户、取消挂载数据集、创建加密数据集、挂载加密目录、检查加密状态和设置权限。建议安装ecryptfs-utils以加密交换空间,并提醒备份重要数据。
延伸解读
操作前提与临时账号的作用
文章强调在安装时或安装后创建一个临时管理员账号(如tempuser),并设置为自动登录。这是因为加密Home目录需要先取消挂载目标用户的数据集,而当前登录用户无法操作自己的Home目录。临时账号作为跳板,让后续步骤能在不干扰目标用户的情况下进行。完成加密后,可删除临时账号。
加密数据集的创建与挂载要点
创建加密数据集时需指定encryption=on和keyformat=passphrase,并设置密码短语。挂载点必须设置为目标用户的Home目录路径(如/home/eallion)。操作中可能遇到“target is busy”错误,通常是因为有其他硬盘挂载导致,需先排查。挂载后通过sudo mount -a和zfs list检查加密状态,确保显示aes-256-gcm等加密方式。
交换空间加密与数据备份提醒
文章建议安装ecryptfs-utils并运行ecryptfs-setup-swap来加密交换空间,避免敏感数据泄露。过程中可能出现swapon错误提示,可忽略。此外,若之前已有未加密的用户数据集,在加密后可通过zfs destroy销毁旧数据集以释放空间,但务必提前备份重要数据,因为销毁操作不可逆。
Q&A
如何在Ubuntu 20.04中创建加密的Home目录?
首先创建一个临时管理员账号,注销后登录并创建长期用户。然后取消挂载新用户的数据集,创建加密数据集并设置密码,最后将其挂载到Home目录。
在创建加密数据集时需要注意什么?
创建加密数据集时需要设置密码短语,并确保记住此密码,以便后续访问。
如何检查ZFS加密是否成功?
可以使用命令'sudo zfs list -r rpool -o name,encryption'来检查加密状态,成功的加密数据卷会显示加密方式,如aes-256-gcm。
为什么需要安装ecryptfs-utils?
安装ecryptfs-utils是为了加密交换空间,增强系统的安全性。
在创建加密Home目录之前需要做哪些准备?
需要创建一个临时管理员账号,并确保注销后使用该账号登录以进行后续操作。
如何确保Home目录的权限设置正确?
可以使用命令'sudo chown <yourusername>:<yourusername> /home/<yourusername>'来设置Home目录的权限。