加密主文件夹准备就绪后延迟挂载

加密主文件夹准备就绪后延迟挂载

我在 中设置了一些绑定挂载fstab,将我的主目录中的一个文件夹挂载到另一个文件夹(AeroFS 无符号链接规避)。我的主文件夹已加密。

当系统启动时,它会尝试在挂载加密的主文件夹本身之前挂载主文件夹内的文件夹,从而导致错误。

我该如何编辑fstab才能首先挂载加密的主文件夹?

我尝试添加noauto,但没有效果。

编辑:此外,出于安全原因,我想保留加密。

fstab内容:

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda2 during installation
UUID=8e26dd0d-f57f-4b63-93b3-7f2743d6fe7a /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/sda1 during installation
UUID=C2BB-18A8  /boot/efi       vfat    defaults        0       1
# /home was on /dev/sda4 during installation
UUID=062418c7-ba50-40e4-b3ea-42663e92eba8 /home           ext4    defaults        0       2
# swap was on /dev/sda3 during installation
#UUID=ac66f7ee-7dbe-4e56-9f42-459038a11a12 none            swap    sw              0       0
/dev/mapper/cryptswap1 none swap sw 0 0

#
#Bind mounts for AeroFS to sync outside it's folder:
#
/home/user/Desktop  /home/user/AeroFS/Desktop   none    bind    0   0
/home/user/Documents    /home/user/AeroFS/Documents none    bind    0   0
/home/user/Music    /home/user/AeroFS/Music     none    bind    0   0
/home/user/Pictures /home/user/AeroFS/Pictures  none    bind    0   0
#

lsblk 输出:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 465.8G  0 disk 
├─sda1   8:1    0   954M  0 part /boot/efi
├─sda2   8:2    0  55.9G  0 part /
├─sda3   8:3    0  14.9G  0 part 
└─sda4   8:4    0   394G  0 part /home

答案1

由于非root用户无法使用该--bind选项,因此接受的答案不起作用。

我改用的是bindfs。它允许非 root 用户创建绑定挂载。

首先安装bindfssudo apt install bindfs。然后,打开/etc/fuse.conf并取消注释该行user_allow_other

然后,在启动脚本(登录后运行)中,使用以下命令进行挂载:

bindfs /home/user/Desktop   /home/user/AeroFS/Desktop
bindfs /home/user/Documents /home/user/AeroFS/Documents
bindfs /home/user/Music     /home/user/AeroFS/Music
bindfs /home/user/Pictures  /home/user/AeroFS/Pictures

答案2

简单的:

  1. 从 fstab 中删除以下行:

    #
    #Bind mounts for AeroFS to sync outside it's folder:
    #
    /home/user/Desktop  /home/user/AeroFS/Desktop   none    bind    0   0
    /home/user/Documents    /home/user/AeroFS/Documents none    bind    0   0
    /home/user/Music    /home/user/AeroFS/Music     none    bind    0   0
    /home/user/Pictures /home/user/AeroFS/Pictures  none    bind    0   0
    #
    
  2. 创建以下 shell 脚本:

    #!/bin/bash
    #
    # This script binds AeroFS mounts to sync outside their folder,
    # as an answer to https://askubuntu.com/questions/604361/delay-mounts-after-encrypted-home-folder-is-ready
    # 
    # Copyright (c) 2014 Fabby
    
    # This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
    # This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. See the GNU General Public License for more details.
    # You DID NOT receive a copy of the GNU General Public License along with this program as the license is bigger then this program.
    
    mount --bind /home/user/Desktop   /home/user/AeroFS/Desktop
    mount --bind /home/user/Documents /home/user/AeroFS/Documents
    mount --bind /home/user/Music     /home/user/AeroFS/Music
    mount --bind /home/user/Pictures  /home/user/AeroFS/Pictures
    
  3. 将其保存在(如果不存在则/home/user/bin/MountAeroFS.sh创建目录。)bin

  4. 打开启动应用程序,并添加以下内容命令: MountAeroFS.sh。 作为姓名:评论:你可以添加任何内容来提醒你这是关于什么的。

  5. 重新启动(因为你刚刚改变了你的fstab

完毕!

相关内容