我正在尝试做一些看起来很明显但似乎没有其他人在做的事情。我想将我的主目录保存在加密的 USB 驱动器上,以便在香草 Ubuntu 安装上的香草主目录“顶部”插入和拔出。
它确实有效,有点。我目前的工作流程:
- 在登录屏幕上,执行
ctrl+alt+f2
新 TTY。以 root 身份登录(已设置 root 密码以允许此操作)。将加密卷挂载在/home/me
- 回到 TTY7,以我的身份登录并在正确安装的家中工作
- 退出登录屏幕,
ctrl+alt+f2
返回终端,以 root 身份登录并卸载/home/me
但是在第 3 步,在尝试卸载我的主目录时,我得到了Device busy
,并lsof
显示了数百个使用它的进程。这似乎是因为当您“注销”到登录屏幕时,Ubuntu 不会将您注销。因此,我只是直接关闭,而不是先卸载。好像不是很干净。
注意:我有一个硬件问题,如果我修改grub
配置以启动到 shell 提示符,我的机器将无法使用。无论如何,这应该不是 Ubuntu 的方式。
但必须有更好的方法来做到这一点。一个主意?
设置
最初,您可以执行此操作来挂载和复制主目录:
挂载驱动器:
mount -o uid=user /dev/sdbx /temphomedir
复制文件:
mount --bind /temphomedir /home/user
假设这
/dev/sdbx
是您的 USB 驱动器并且/home/user
是您的主目录。笔记
/home/user
注意:在安装驱动器之前,请确保您的目录为空。添加启动脚本
根据this question您可以使用命令
crontab -e
编辑您的cron,然后您可以添加以下行@reboot /mount.sh
。现在我们已经完成了,我们需要创建mount.sh
脚本。您可以通过键入来做到这一点sudo nano /mount.sh
。这将打开 nano 文本编辑器。然后刚刚过去:这将在您每次启动计算机时将 USB 挂载到您的主目录。确保
/dev/sdbx
并/home/user
正确,然后键入 CTR+X 保存并退出 nano。当您重新启动计算机时,这应该可以工作。请记住,我没有实际测试过这个,所以它可能不起作用。
希望这可以帮助!
现在有一个正在开发中的
systemd
模块systemd-homed
来解决这个问题!与此同时,这是解决方案。每天都在使用,没有问题。
首先,将 的内容复制
/home/you
到 LUKS 加密的 USB 驱动器的根目录。假设没有其他 USB 存在,lsblk
将始终将驱动器显示为/dev/sda
,加密分区将是/dev/sda1
.接下来确保如果插入了 USB 驱动器,则加密分区将可用作虚拟块设备。开机时会出现密码提示。在
/etc/crypttab
:现在,如果可用,请安装此虚拟设备。如果未插入,将等待超时,但引导将正常进行。在
/etc/fstab
:您的外部主目录将安装在现有的香草目录之上。像这样在现有目录上挂载东西只会使现有目录在挂载期间不可用。里面的所有数据都是安全的。