5

Ubuntu/Debian Linux サーバーで Ansible を使用して暗号化されたパーティションを自動的に設定する方法を探しています。

  • ディスク全体を埋める既存のルートを持つコンピューターを想定します。

  • このパーティションから一部を切り取って、そこから新しいパーティションを作成します

  • LUKS または Truecrypt を使用してパーティションを暗号化する

  • Playbook の入力としてパスフレーズを取得する

私は Ansible に非常に慣れていないので、誰かがどこから始めればよいか (既存のディスク パーティションの役割、暗号化されたディスクの役割など) を教えてください。Ansible で fdisk を駆動できますか? ロールがパーティションを 2 回作成しようとしないようにする方法 (プロビジョニングが再度実行されるとき)。

4

2 に答える 2

5

これを実行する Ansible ロールを作成することは、正しく実行したい場合 (冪等で堅牢であることなど) に思われるほど簡単ではありません。私はちょうどそれを書いた/書き直したので、それを知っています:)

https://docs.debops.org/en/master/ansible/roles/cryptsetup/index.html

必要な 3 つの機能のうち 2 つを処理できます。

  • LUKSまたは Truecryptを使用してパーティションを暗号化する
  • Playbook の入力としてパスフレーズを取得します。私のユースケースにより適したキーファイルを使用して、別のパスを取りました。パスフレーズは将来的にサポートされる可能性があります。今のところ、パスフレーズをファイルに書き込んで、それをキーファイルとして指定するだけです。

複雑さを抑えるために、ロール自体にパーティションを作成するサポートを含めないことにしました。

于 2015-10-30T23:33:57.553 に答える
2

私はあなたがやろうとしていることを達成するためのプレイブックを個人的に書いたわけではありませんが、役立つかもしれないいくつかのリソースがあります:

パーティションの管理に使用できる Ansible モジュールがいくつかあります。

lvol - LVM 論理ボリュームを構成する

lvg - LVM ボリューム グループを構成する

あなたに役立ついくつかのシステムモジュールがここにあるかもしれません

fdisk 専用の ansible モジュールはありませんが、コマンドまたはシェル モジュールを使用して fdisk コマンドを実行できるはずです。このルートに進む場合は、自分で冪等にする方法を考え出す必要があります。

ロールをお探しの場合、通常はAnsible Galaxyをお勧めしますが、簡単に検索したところ、目的に関連するロールが見つかりませんでした。

特にLUKSまたはTruecryptを使用するために認識しているAnsibleモジュールはありませんが、コマンドまたはシェルモジュールを使用してこれらのタスクを実行できるはずです.

この Playbookで、ディスク暗号化の適切な例を見つけることができました。Playbook はパスフレーズを変数として渡すことで処理します。Playbook で変数を処理する方法はいくつかあります。変数に関する Ansible ドキュメントを読むことをお勧めします。パスワードを変数として保存している場合は、Ansible Vaultを使用して変数ファイルを暗号化することもできます。

于 2014-07-31T14:41:49.863 に答える