Mongodb
cron觸發的MongoDB腳本——如何實現合理的密碼安全
我們希望每晚從 mongo 集群中清除舊數據。第一個想法是編寫連接到其中一個 mongos 並發出刪除指令的 shell 腳本。
evalString='db.fs.files.remove({uploadDate: {$lte : ISODate("2017-01-01")}})' mongo localhost:1234/databaseName -u USER -p PWD --eval $evalString
這很好用,但我當然不喜歡在腳本中使用純文字 PWD。至少可以對其進行 chmod 500,但在腳本中使用純文字密碼仍然感覺不理想。
什麼是最好的選擇?
我在 RHEL 7.3 上執行 Mongo 3.4.4。它是 Mongo 的非企業版,因此沒有 LDAP/Kerberos。我們也沒有使用 x509 安全性,我正在尋找不涉及升級到 Enterprise 或採用 x509 路線的替代方案,儘管我很樂意聽到為什麼做這些事情確實是正確的做法,而且也沒有做那些事情是什麼差距是開放的。
首先.. 最好使用 –eval=‘command’ 而不是向 mongo 回顯一個字元串…該密碼是什麼,您可以使用
-p $(cat /etc/secret/password)
文件 chmod 就像 0400