web-dev-qa-db-ja.com

dm-crypt / luksボリュームを含むマウントコマンドをスクリプト化する方法

暗号化されたボリューム(dm-crypt/luks)を、そのスクリプトに引数として渡されるパスワードでマウントするスクリプトを作成しようとしています。

私の問題は、そのスクリプトを機能させる方法が見つからないことです...

たとえば、これを実行すると:

mount /my/encrypted/path > file.txt 2>&1

それでも、スクリプトの外でパスワードの質問が表示され、パスワードを入力できるようになります.... mountコマンドが、設定したリダイレクトをエスケープする方法を見つけたようなものです....

そのため、パスワードを要求する部分がスクリプトの外部で実行されるため、今ではパスワードを入力することはできません.....

Mountはリダイレクトを回避する方法をどのように見つけましたか?知りません。

設定ファイルを変更する必要がありますか?知りません。

Mountにはいくつかのluks固有のコマンドがありますか?知りません。

スクリプトとの "人間の"相互作用なしに、スクリプトを介して暗号化されたボリュームをマウントするにはどうすればよいですか(別名:スクリプトがパスワードを入力します)?

私が達成しようとすることはセキュリティリスクを表す可能性があることはわかっていますが、パスワードは安全な方法でスクリプトに転送されます(そのため、スクリプトが関与する可能性のある潜在的なセキュリティリスクは気にしないでください)。

これが重要な場合:私はUbuntu 64bit 11.10でこれを達成しようとします。

2

ようやく別のウェブサイトで答えを見つけました。

Mountを使用してパスワードプロセスをスクリプト化するには、パスワードをstdinにリダイレクトすることで実行できます。

これを行うには、パスワードに標準入力を使用するマウントを指定する必要があります。魔女はオプション "-p 0"です。

暗号化されたボリュームを自動マウントするためのスクリプトは次のとおりです。

mount /your/encrypted/path -p 0 <<EOF
The password
EOF

これは、stdinに書き込むための既存のメソッドの1つです。これは安全ではありませんが、概念を示すために最も簡単な方法です。

宜しくお願いします。

1

Mountにはいくつかのluks固有のコマンドがありますか?知りません。

いいえ、暗号化部分全体はcrypsetup- toolsで管理されており、/etc/crypttabではどちらにも貴重なman- pagesがあります。

スクリプトとの "人間の"相互作用なしに、スクリプトを使用して暗号化されたボリュームをマウントするにはどうすればよいですか(別名:スクリプトがパスワードを入力します)?

パスワードの代わりにキーファイルを使用できます。上記のドキュメントを参照するか、チュートリアルと例についてWebを検索してください。また、ロック解除されたluks-devicesをキーとして使用できるスクリプト/lib/cryptsetup/scripts/decrypt_derivedもあります。また、そのトピックに関するヘルプもWebで見つかります。

2
funky-future