13

好的,所以我们有mongodump工具,它有 --password 选项。一切都很好,除了这个普通密码在 ps 输出中对每个人都是可见的。

我们的数据库具有简单的用户/密码身份验证。

我发现唯一可以工作的就是这样做

echo secretpwd |  mongodump --username backup --oplog

ps中没有密码痕迹,仍然可以使用。

有没有更好的办法?

4

2 回答 2

10

文档

在 3.0.2 版更改: 如果您希望 mongodump 提示用户输入密码,请传递 --username 选项而不传递 --password 或指定一个空字符串作为 --password 值,如 --password "" 。

似乎您正在做的是推荐的方式。

此外,可以进一步帮助:

如果秘密在执行之间没有改变,请使用一个特殊的配置文件,“.appsecrets”。将文件的权限设置为所有者只读。在文件中为密钥设置一个环境变量。该文件需要位于运行命令的用户的主目录中。

于 2015-08-22T07:17:08.560 回答
1

旧帖子,但看起来最近版本的mongodumpdo 明确支持从标准输入读取密码。我在文档中没有看到任何关于它的内容,但是当我使用与 OP 中的命令类似的命令时,会mongodump生成如下输出:

reading password from standard input

我不确定它是否比在 OP 中使用 echo 更好,但我将密码存储在一个文件中,然后像这样使用它:mongodb --username backup < /path/to/password.txt

于 2020-08-24T21:29:58.693 回答