ログインすると、暗号化された/ homeディレクトリが自動的にマウントされます。ディスクユーティリティでフォーマットおよび暗号化した2つ目の内部ハードドライブがあります。暗号化された/ homeディレクトリと同じように、ログイン時に自動的にマウントされるようにします。どうすればいいですか?
ここには非常によく似た質問がいくつかありますが、答えは私の状況には当てはまりません。ここで私の質問を閉じて結合し、下の2番目の質問を編集するのが最善かもしれませんが、それは放棄された可能性があります(したがって、承認済みとしてマークされることはありません)。
このソリューション は安全な方法ではなく、暗号化を回避します。
これfstab
の編集が必要です。これには、起動時に追加のパスワードを入力する必要があります。/homeをマウントするような自動ではありません。
この質問 は非常に似ていますが、暗号化されたドライブには適用されません。このソリューションは、私のニーズには機能しません。
これは1つです しかし、NTFSドライブ用で、私のものはext4です。
ソリューションでこれが必要な場合は、2番目のドライブを再フォーマットおよび再暗号化できます。他の場所にすべてのデータをバックアップしました。
上記のソリューションはもう必要ありません。
前提条件:
注:この方法は、暗号化されたドライブを手動でマウントするよりも安全性が低くなります。誰かがあなたのコンピューターに物理的にアクセスしている場合、あなたはルートパスワードに不注意であるか、コンピューターに複数のユーザー/ゲストアカウントがあります、この方法は安全ではありません ;ログアウトしてもセカンダリドライブはマウントされたままですが、システムをシャットダウンしないため、その内容は他のユーザーに表示されます。
これで、コンピューターの起動時に自動的にマウントされる暗号化されたハードドライブができました。
数年前にこの回答を書いたとき、これがソリューションを実装する最良の方法でした。 次の答え を見て、代わりにmount.ecryptfs_privateを使用することをお勧めします。
また、2番目のeCryptfsボリュームを自動的にマウントする方法を探していました。次の一連のスクリプトと設定変更により、ログイン時にボリュームがGUIまたはCLIに安全かつ自動的にマウントされます。
作成中のより良い解決策があります(ただし、このスクリプトの有効期間は限られているため、ユーザーログイン時に自動マウントする準備ができていないと思います)。
小さすぎるハードドライブのecryptfs-暗号化にリンクを追加する方法?
スクリプトのセキュリティは、eCryptfsで暗号化されているホームディレクトリに依存しているため、パスフレーズを展開するためのパスワードを持つスクリプトとファイルは暗号化されます。ログイン後にルートシェルでコンピューターをロック解除したままにしておくと、パスワードにアクセスできますが、Sudo NOPASSWDを使用すると、パスワードを入力したり、ユーザーが読み取れるファイルにパスフレーズを残したりせずにパーティションを安全にマウントできます。
これらのスクリプトの既知の欠点の1つは、ログアウト時に2番目のボリュームがアンマウントされないことです。そのため、マルチユーザーシステムには特に適していません。
私のソリューションは、実際のマウントを実行するシェルスクリプトと、ラッパーとして機能するシェルスクリプトの2つのシェルスクリプトで実装されています。
これは、ディレクトリが既にマウントされているかどうかを検証するラッパースクリプトです。マウントされていない場合は、Sudoを使用してマウントスクリプトを呼び出します。
/ home/johnf/scripts/automount_ecryptfs
#!/bin/bash
MOUNT_POINT=/home/johnf/slow
grep -q $MOUNT_POINT /proc/mounts
if [ $? -eq 1 ]; then
Sudo /home/johnf/scripts/mount_other_ecryptfs
fi
このスクリプトは、次の/ home/johnf/scripts/mount_other_ecryptfsを呼び出します。
このスクリプトでは、ファイル名の暗号化が有効になっていることを前提としていることに注意してください。必要がない場合は、スクリプトを変更して検出を処理する(ecryptfs-recover-privateを参照)か、ecryptfs_fnek_sigマウントオプションを削除する必要があります。
以下は/ home/johnf/scripts/mount_other_ecryptfsスクリプトです。
#!/bin/bash
ENCRYPTED_VOLUME=/vol0/.ecryptfs/johnf/.Private/
MOUNT_POINT=/home/johnf/slow
PASSFILE=/home/johnf/scripts/ecryptfs_passphrase
MOUNT_PASSWORD=secret_passphrase
ECRYPTFS_SIG=`head -1 ${ENCRYPTED_VOLUME}//../.ecryptfs/Private.sig`
ECRYPTFS_FNEK_SIG=`tail -1 ${ENCRYPTED_VOLUME}//../.ecryptfs/Private.sig`
printf "%s" $MOUNT_PASSWORD | ecryptfs-insert-wrapped-passphrase-into-keyring ${ENCRYPTED_VOLUME}/../.ecryptfs/wrapped-passphrase
mount -t ecryptfs -o key=passphrase:passfile=${PASSFILE},ecryptfs_sig=${ECRYPTFS_SIG},ecryptfs_fnek_sig=${ECRYPTFS_FNEK_SIG},ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=n ${ENCRYPTED_VOLUME} ${MOUNT_POINT}
また、パスワードを含むファイルを作成する必要があります。このファイルは、eCryptfsマウントコマンドで使用されます。
/ home/johnf/scripts/ecryptfs_passphrase:
passwd=secret_passphrase
いくつかのファイルのアクセス許可を変更する必要があります。
chmod +x /home/johnf/scripts/automount_ecryptfs
Sudo chown root:root /home/johnf/scripts/mount_other_ecryptfs /home/johnf/scripts/ecryptfs_passphrase
Sudo chmod a=x /home/johnf/scripts/mount_other_ecryptfs
Sudo chmod 400 /home/johnf/scripts/ecryptfs_passphrase
スクリプトを作成する前に、sudoパスワードを入力せずに、sudoを使用してマウントスクリプトの実行を許可するsudoers構成を作成する必要があります。
以下を/ etc/sudoers(または/etc/sudoers.dのファイル)に追加します。 johnfをユーザー名に置き換えます。マウントスクリプトへの絶対パスを使用する必要があります。
johnf ALL = NOPASSWD: /home/johnf/scripts/mount_other_ecryptfs
最後のステップは、ログイン時にautomount_ecryptfsスクリプトを呼び出すことです。
Ubuntu Unity(およびおそらくgnome)では、スタートアップアプリケーションアプレットを使用して、/ home/johnf/scripts/automount_ecryptfsを呼び出す新しいスタートアッププログラムを作成します。
ログイン時に2番目のeCryptfsボリュームをbashシェルに自動的にマウントするには、〜/ .bashrcファイルを変更します。以下を追加します。
/home/johnf/scripts/automount_ecryptfs
この設定が完了したら、2番目のeCryptfsボリュームを自動的にマウントする必要があります。
@johnfの答えに基づいて構築しますが、代わりに mount.ecryptfs_private を使用します:
/home/bob/
(SSDなど)、Ubuntuの通常の暗号化されたホームディレクトリマジックを使用します。/media/hdd/bob_extra/
(HDDなど)、/home/bob/extra
にマウントされます。これは、ホームディレクトリと同様に、ログイン時に自動マウントされるはずです。mkdir /media/hdd/bob_extra
cp /home/bob/.ecryptfs/Private.sig /home/bob/.ecryptfs/extra.sig
echo "/media/hdd/bob_extra /home/bob/extra ecryptfs none 0 0" > /home/bob/.ecryptfs/extra.conf
mount.ecryptfs_private extra
mount
を実行すると、以下が表示されます。
...
/media/hdd/bob_extra on /home/bob/extra type ecryptfs (ecryptfs_check_dev_ruid,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink_sigs,ecryptfs_sig=12345678abcdef,ecryptfs_fnek_sig=abcdef12345678)
アンマウントする:
Sudo umount /media/hdd/bob_extra
/home/bob/bin/automount_ecryptfs.extra
を作成します。まだマウントされていない場合はマウントします。
#!/bin/bash
MOUNT_POINT=/home/bob/extra
grep -q $MOUNT_POINT /proc/mounts
if [ $? -eq 1 ]; then
mount.ecryptfs_private extra
fi
実行可能(chmod +x
)にしてから、/home/bob/.bashrc
に追加します。
...
/home/bob/bin/automount_ecryptfs.extra
次に、それをGnomeのスタートアップアプリケーションにも追加します。
暗号化されたホームディレクトリにスクリプトを作成します:~/scripts/mount_storage.sh
:
#!/bin/bash
Sudo cryptsetup open --type luks UUID=12e26119-0ee2-4eb4-bd40-d8a3547ecf0c storage --key-file ~/keys/storage_keyfile
Sudo mount /dev/mapper/storage /storage
「スタートアップアプリケーション」に追加します。
sh ~/scripts/mount_storage.sh
/etc/sudoers
に追加:
%Sudo ALL= NOPASSWD: /sbin/cryptsetup open --type luks UUID=12e26119-0ee2-4eb4-bd40-d8a3547ecf0c storage --key-file *
%Sudo ALL= NOPASSWD: /bin/mount /dev/mapper/storage /storage
/storage
マウントポイントを作成し、上記のスクリプトでUUIDを変更する必要があります(blkid
で検索します)。
次の手順で安全に行う必要があります。パスフレーズを要求すると、ボリュームがマウントされていても、他のユーザーがボリュームにアクセスできなくなります。
1.ディスクを開き、ドライブを選択してLUKSボリュームをクリックします。歯車をクリックして、「ユーザーセッションのデフォルト」の選択を解除します。 「システム起動時にロック解除」と「ロック解除するには追加の認証が必要」を選択します:
2.ディスクボリューム(LUKSボリュームの下)をクリックします。歯車をクリックして、「ユーザーセッションのデフォルト」の選択を解除します。 「システム起動時にマウント」と「ユーザーインターフェイスに表示」を選択します。
ボリュームをマウントするために追加の認証を要求することもできますが、その場合、問題のユーザーのマウントは自動化されません。
これが一般的な答えになるとは思わない...
暗号化自体のセキュリティを回避せずに、暗号化されたパーティションを自動的にマウントすることはできません。
「automatically」が何を意味するかを考え、automaticallyがあなたのデータも見るようになることを理解してください。