luks_device – Управление зашифрованными (LUKS) устройствами
Новое в версии 2.8.
Обзор
- Модуль управляет LUKS на заданном устройстве. Поддерживает создание, удаление, открытие и закрытие контейнера LUKS и добавление или удаление новых ключей.
Требования
Ниже приведены требования к хосту, на котором выполняется этот модуль.
- cryptsetup
- wipefs
- lsblk
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| device строка | Устройство для работы (например, /dev/sda1). Необходим в большинстве случаев. Может быть опущен только в случае, когда state=closed вместе с name. | |
| force_remove_last_key булево |
| Если установлено yes, разрешает удаление последнего ключа из контейнера.ОСТОРОЖНО, при удалении последнего ключа из контейнера, контейнер больше нельзя открыть! |
| keyfile путь | Используется для разблокировки контейнера и необходим для большинства операций. Значение параметра — путь к файлу ключа с паролем. ОСТОРОЖНО, работа с файлами ключей в открытом виде небезопасна. Убедитесь, что они защищены. | |
| name строка | Устанавливает имя контейнера при state=opened. Может быть использован вместо device при закрытии существующего контейнера (т.е. когда state=closed). | |
| new_keyfile путь | Добавляет дополнительный ключ к заданному контейнеру на device. Требует параметра keyfile для авторизации. Контейнер LUKS поддерживает до 8 ключей. Значение параметра — путь к файлу ключа с паролем. ЗАМЕЧАНИЕ, добавление дополнительных ключей не является идемпотентным. Будет использован новый слот ключа, даже если другой слот уже существует для этого файла ключа. ОСТОРОЖНО, работа с файлами ключей в открытом виде небезопасна. Убедитесь, что они защищены. | |
| remove_keyfile путь | Удаляет указанный ключ из контейнера на device. Не удаляет файл ключа из файловой системы. Значение параметра — путь к файлу ключа с паролем. ЗАМЕЧАНИЕ, удаление ключей не является идемпотентным. Попытка удалить ключ, который больше не существует, приводит к ошибке. ЗАМЕЧАНИЕ, чтобы удалить последний ключ из контейнера LUKS, параметр force_remove_last_key должен быть установлен в yes. ОСТОРОЖНО, работа с файлами ключей в открытом виде небезопасна. Убедитесь, что они защищены. | |
| state строка |
| Желаемое состояние контейнера LUKS. В зависимости от его значения создает, удаляет, открывает или закрывает контейнер LUKS на заданном устройстве.
наличие создаст контейнер LUKS, если он еще не существует. Требует параметров device и keyfile.
отсутствие удалит существующий контейнер LUKS, если он существует. Требует указания device или name.
открыт разблокирует контейнер LUKS. Если он не существует, он будет создан в первую очередь. Требует параметров device и keyfile. Используйте параметр name для установки имени открытого контейнера. В противном случае имя будет сгенерировано автоматически и возвращено как часть результата.
закрыт заблокирует контейнер LUKS. Однако если контейнер не существует, он будет создан. Требует параметров device и keyfile. Если контейнер уже существует, достаточно device или name. |
Примеры
- name: create LUKS container (remains unchanged if it already exists)
luks_device:
device: "/dev/loop0"
state: "present"
keyfile: "/vault/keyfile"
- name: (create and) open the LUKS container; name it "mycrypt"
luks_device:
device: "/dev/loop0"
state: "opened"
name: "mycrypt"
keyfile: "/vault/keyfile"
- name: close the existing LUKS container "mycrypt"
luks_device:
state: "closed"
name: "mycrypt"
- name: make sure LUKS container exists and is closed
luks_device:
device: "/dev/loop0"
state: "closed"
keyfile: "/vault/keyfile"
- name: create container if it does not exist and add new key to it
luks_device:
device: "/dev/loop0"
state: "present"
keyfile: "/vault/keyfile"
new_keyfile: "/vault/keyfile2"
- name: add new key to the LUKS container (container has to exist)
luks_device:
device: "/dev/loop0"
keyfile: "/vault/keyfile"
new_keyfile: "/vault/keyfile2"
- name: remove existing key from the LUKS container
luks_device:
device: "/dev/loop0"
remove_keyfile: "/vault/keyfile2"
- name: completely remove the LUKS container and its contents
luks_device:
device: "/dev/loop0"
state: "absent"
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| name строка | успешно | При state=opened возвращает (сгенерированное или заданное) имя контейнера LUKS. Возвращает None, если имя не указано. Пример: luks-c1da9a58-2fde-4256-9d9f-6ab008b4dd1b |
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- Jan Pokorny (@japokorn)
Подсказка
Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/luks_device_module.html