在Ansible playbook中,我使用mysql_db模块来转储数据库的内容。我想确保服务器端mysql_db转储的.sql
文件具有模式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
转储文件,以便服务器上的其他用户无法使用我的数据库内容?
答案 0 :(得分:1)
创建具有适当权限的目录,并将文件保存到该目录中。
否则使用file
模块在上述任务之后设置权限(但是当文件具有不适当的权限时你有一段时间 - 从安全的角度来看这是一个风险 - 想想中间的连接失败,也许不太可能,但并非不可能)。