Ansible: установить режим файла дампа mysql_db

В Ansible playbook я использую модуль mysql_db для создания дампа содержимого базы данных. Я хочу убедиться, что файл .sql, выгружаемый mysql_db на стороне сервера, имеет режим 0600: доступен для чтения и записи только владельцу, а не группе и, конечно, никому другому.

- set_fact:
    backupFileNames:
      db: "{{ansible_env.HOME}}/{{siteName}}.sql"

- name: dump the mysql server
  mysql_db:
    state: dump
    name: "{{mysqlBackupDb}}"
    target: "{{backupFileNames.db}}"
    mode: 0600

К сожалению, у mysql_db нет параметра режима: я получаю Unsupported parameters for (mysql_db) module: mode.

Как я могу гарантировать, что файл дампа .sql будет создан с должным образом ограниченными разрешениями, чтобы содержимое моей базы данных было недоступно другим пользователям на сервере?


person stochastic    schedule 06.10.2017    source источник


Ответы (1)


Создайте каталог с соответствующими разрешениями и сохраните файл в этом каталоге.

В противном случае используйте модуль file для установки разрешений после вышеуказанной задачи (но тогда у вас есть период времени, когда файл имеет неподходящие разрешения - с точки зрения безопасности это риск - подумайте о сбое соединения между ними, может быть маловероятно, но не невозможно ).

person techraf    schedule 06.10.2017
comment
Возможно, вы могли бы использовать файловый модуль, чтобы коснуться файла, создав его с соответствующими разрешениями перед выполнением резервного копирования? Например. состояние = сенсорный - person reegnz; 08.10.2017