5

我正在寻找一种在 Ubuntu/Debian Linux 服务器上使用 Ansible 自动设置加密分区的方法。

  • 假设具有现有根的计算机填满了整个磁盘

  • 从这个分区中切出一块并用它做一个新的分区

  • 使用 LUKS 或 Truecrypt 加密分区

  • 将密码短语作为剧本的输入

我对 Ansible 很陌生,所以如果有人能指出从哪里开始(现有磁盘分区角色、加密磁盘角色等)。我可以用 Ansible 驱动 fdisk 吗?如何确保角色不会尝试创建分区两次(再次运行配置时)。

4

2 回答 2

5

编写一个执行此操作的 Ansible 角色并不像看起来那么容易,当您想要正确地完成它时(例如,幂等和健壮)。我知道,因为我刚刚写/重写了一个:)

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

它能够处理您想要的 3 个功能中的 2 个:

  • 使用 LUKS或 Truecrypt加密分区
  • 将密码短语作为剧本的输入。我确实使用了更适合我的用例的密钥文件采取了不同的路径。将来可能会支持密码短语。现在,您只需将密码短语写入文件并将其指定为密钥文件。

我决定不支持为角色本身创建分区以降低复杂性。

于 2015-10-30T23:33:57.553 回答
2

虽然我没有亲自编写任何剧本来完成您正在尝试做的事情,但这里有一些资源可能会有所帮助:

您可以使用几个 Ansible 模块来管理分区:

lvol - 配置 LVM 逻辑卷

lvg - 配置 LVM 卷组

可能还有一些对您有用的系统模块here

没有专门用于 fdisk 的 ansible 模块,但您仍然应该能够使用 command 或 shell 模块运行 fdisk 命令。如果你走这条路,你将不得不自己弄清楚如何使它具有幂等性。

如果您正在寻找角色,我通常会推荐Ansible Galaxy,但通过快速搜索,我无法找到与您正在尝试做的事情相关的任何角色。

我知道没有专门用于使用 LUKS 或 Truecrypt 的 Ansible 模块,但您仍然应该能够使用命令或 shell 模块运行这些任务。

我能够在这本剧本中找到一个不错的磁盘加密示例。playbook 通过将密码作为变量传入来处理密码。有几种方法可以处理剧本中的变量。我建议阅读有关变量的 Ansible 文档。如果您将密码存储为变量,您还可以使用Ansible Vault加密您的变量文件。

于 2014-07-31T14:41:49.863 回答