我已经设置了一个包含三个成员的副本集。下面是三个实例启动命令:
501 36057 1 0 4:22pm ?? 0:05.02 mongod --replSet replset --dbpath /Users/joey/tmp/replica/replset/rs1/db --logpath /Users/joey/tmp/replica/replset/rs1/mongod.log --port 28017 --logappend --fork
501 36060 1 0 4:22pm ?? 0:04.82 mongod --replSet replset --dbpath /Users/joey/tmp/replica/replset/rs2/db --logpath /Users/joey/tmp/replica/replset/rs2/mongod.log --port 28018 --logappend --fork
501 36063 1 0 4:22pm ?? 0:04.86 mongod --replSet replset --dbpath /Users/joey/tmp/replica/replset/rs3/db --logpath /Users/joey/tmp/replica/replset/rs3/mongod.log --port 28019 --logappend --fork
当我连接到其中一个成员并运行db.getUsers()
时,我将得到一个空数组,如下所示:
$ mongo --port 28017
MongoDB shell version v3.4.0
connecting to: mongodb://127.0.0.1:28017/
MongoDB server version: 3.4.0
replset:PRIMARY> db.getUsers()
[ ]
我喜欢如何在replicaset中获取用户列表。
答案 0 :(得分:0)
当我连接到其中一个成员并运行db.getUsers()时,我将得到一个空数组
这表示您尚未设置任何用户。请参阅MongoDB手册中的Enable Authentication。
以下是三个实例启动命令
您的启动命令不包含启用副本集的访问控制所需的--keyfile
参数。请参阅Enforce Keyfile Access Control in a Replica Set。
有关建议的安全措施的完整参考(以及相关教程的链接),请参阅:MongoDB Security Checklist。