web-dev-qa-db-ja.com

暗号化されたホームフォルダーの準備が整った後のマウントの遅延

fstabにいくつかのバインドマウントを設定し、ホームディレクトリ内の1つのフォルダーを別のフォルダーにマウントしました(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
3
Dean

簡単:

  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. 次のシェルスクリプトを作成します。

    #!/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. スタートアップアプリケーションを開き、以下を追加しますCommand:MountAeroFS.shName:およびComment:として、これが何であるかを思い出させるために何でも追加できます。

  5. 再起動する(fstabを変更した直後)

できた!

0
Fabby