2017-10-06 52 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