Security

MySQLdump via crontab - Pass –password=/hashed/password/file 所以我可以通過 crontab 使用純文字密碼

  • February 19, 2016

所以我正在為自己設置一個 WordPress 備份指南/制定一個備份計劃。

我想每天做 MySQL 轉儲,但命令要麼需要

-p then user input 

或者

--password="plain text password"

我可以將它傳遞給至少 MD5 或更好的散列和保護以提高安全性但使命令不需要使用者輸入的文件嗎?

任何幫助表示讚賞!

供參考這裡是我要執行的命令

mysqldump -u [username] --password=~/wp_backups/sqldumps/.sqlpwd [database name] > ~/wp_backups/sqldumps/"$(date '+%F').sql"

您有以下密碼選項:

  • -p通過選項在命令行上提供密碼
  • MYSQL_PWD通過環境變數提供密碼
  • 將您的配置放在該部分~/.my.cnf下的文件中[mysqldump]

在所有情況下,您的客戶端都需要一個純文字密碼才能進行身份驗證。您提到了雜湊,但雜湊的特點是它是一種單向轉換函式(即您將無法從雜湊中恢復原始密碼),因此它不能用作身份驗證令牌。

據稱,由於您是從託管您的 Wordpress 的同一帳戶備份 Wordpress 數據庫,因此嘗試對執行 Wordpress 的使用者隱藏密碼並沒有安全改進(wp-config.php無論如何,數據庫憑據都可以輕鬆地從文件中提取)。

所以,我建議定義以下內容~/.my.cnf

[mysqldump]
host = your_MySQL_server_name_or_IP
port = 3306
user = database_user_name
password = database_password

然後確保該文件具有 0600 權限。這種方式mysqldump不需要在其命令行上指定任何數據庫憑據(它們將從~/.my.cnf文件中讀取。

引用自:https://unix.stackexchange.com/questions/227648