2017-10-06 49 views
0

在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转储文件是使用适当限制的权限创建的,以便我的数据库内容不可用于服务器上的其他用户?

回答

1

创建一个具有适当权限的目录并将该文件保存到该目录中。

否则使用file模块来设置上述任务后的权限(但那么你有一段时间,当文件有不适当的权限 - 从安全的角度来看这是一个风险 - 想象中的连接失败,可能不太可能,但并非不可能)。

+0

您可以使用文件模块来触摸文件,在进行备份之前使用适当的权限创建文件?例如。状态=触摸 – reegnz