web-dev-qa-db-ja.com

パスワード/キーファイルでログインした後、TrueCryptボリュームをOSXに自動的にマウントする方法

私は次のことをしたいと思います:

I.アカウントにログインした後、パスワードまたはキーファイルを使用して、OSXに2つのボリューム(FW800経由で接続された同じ外付けHDDにある)を自動的にマウントさせたい。アカウントのパスワードがすでに設定されているため、管理者パスワードまたはボリュームパスワードのプロモーションが表示されません。

質問1:どうすればこれを達成できますか?ダウンロードまたはコピーできるスクリプトはありますか?

質問2:キーファイルを使用する必要がありますか、それともOSXのパスワードを使用してボリュームを自動的にマウントできますか?

ボーナス質問:このシナリオでパスワードとキーファイルを使用することの長所と短所は何でしょうか?

参考:

現在、私はOSX 10.8.3を使用しており、OSXはFileVault2を介して暗号化されます。

キーファイルやパスワードが暗号化されるため、OSXに保存されることをあまり心配していません。覚えているパスワードを使用してアカウントにログインし、Yubikeyに残りのパスワードを実行させる場合は、2要素認証を使用します。したがって、非常に安全なパスワードになります。 強調テキスト

私は技術者ではないので、わかりやすい手順と多かれ少なかれコピー&ペーストスクリプトが必要です:)

ありがとう!

6
VforVendetta

まず、[ボリュームツール]> [ボリュームパスワードの変更]で、キーファイルと空のパスワードをボリュームに使用させます。次に、次のようなプロパティリストを_~/Library/LaunchAgents/truecrypt.plist_として保存します。

_<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN http://www.Apple.com/DTDs/PropertyList-1.0.dtd>
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>truecrypt</string>
    <key>ProgramArguments</key>
    <array>        
        <string>bash</string>
        <string>-c</string>
        <string>diskutil list | grep -Fq ' *1.1 GB ' &amp;&amp; exit # an asterisk indicates that the volume is mounted
disk=$(diskutil list | awk '/ 1.1 GB /{print $NF}')
[[ $disk ]] || exit
/Applications/TrueCrypt.app/Contents/MacOS/TrueCrypt --mount /dev/$disk -k ~/path/to/keyfile -p ''</string>
    </array>
    <key>StartOnMount</key>
    <true/>
</dict>
</plist>
_

_1.1 GB_を_diskutil list_で示されるボリュームのサイズに変更します。ボリュームを識別するためのより良い方法があるかもしれませんが、たとえば_diskutil info /dev/disk1s4_は、テストしたボリュームのUUIDを表示しませんでした。

次に、_launchctl load ~/Library/LaunchAgents/truecrypt.plist_を実行するか、ログアウトして再度ログインすることにより、エージェントを有効にします。変更を適用するには、plistをアンロードおよびロードする必要があります。

警告:

  • ログイン後に初めてtruecryptコマンドを実行すると、rootとして実行されている場合でも、管理者アカウントのパスワードを要求されます。ログアウトしたり、頻繁に再起動したりすると、しばらくすると煩わしくなります。
  • 起動したジョブは、ボリュームがマウントされるとトリガーされるため、TrueCryptボリュームをアンマウントして(ただし、外付けドライブを接続したまま)、他のボリュームをマウントすると、TrueCryptボリュームが再びマウントされます。

または、FileVaultでボリュームを暗号化することはできますか? 「キーチェーンにこのパスワードを記憶する」にチェックを入れると、ログインキーチェーンのロックが解除されている限り、ボリュームは自動的にマウントされます。

これは、ログインキーチェーンのロックが解除されている場合、コンピューターにアクセスできる他のユーザーが、たとえば_security find-generic-password -l "My FileVault volume" -w_でパスワードを確認できることも意味します。


編集:上記の例でキーファイルと空のパスワードを使用した特別な理由はありませんでした。パスワードを使用し、キーファイルを使用しない場合は、_TrueCrypt --mount /dev/$disk -k ~/path/to/keyfile -p ''_をたとえば_TrueCrypt --mount /dev/$disk -p pa55Word_に置き換えます。または、_pa55Word_を"$(security find-generic-password -l "My TrueCrypt volume" -w)"に置き換え、キーチェーンアクセスを使用してパスワードのキーチェーンアイテムを追加します。

4
Lri