Ansible:mysql_db转储文件的设置模式
问题描述:
在Ansible手册中,我使用mysql_db模块来转储数据库的内容。我想确保服务器端的mysql_db转储的.sql
文件的模式为0600
:只能由所有者读取和写入,而不能由群组读取和写入,当然也不是其他任何人。Ansible:mysql_db转储文件的设置模式
- 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
转储文件是使用适当限制的权限创建的,以便我的数据库内容不可用于服务器上的其他用户?
答
创建一个具有适当权限的目录并将该文件保存到该目录中。
否则使用file
模块来设置上述任务后的权限(但那么你有一段时间,当文件有不适当的权限 - 从安全的角度来看这是一个风险 - 想象中的连接失败,可能不太可能,但并非不可能)。
您可以使用文件模块来触摸文件,在进行备份之前使用适当的权限创建文件?例如。状态=触摸 – reegnz