用户授权设置如何应用于MongoDB中的复制集?

时间:2017-09-09 16:03:44

标签: mongodb

###环境:MongoDB 3.4

我想在我的Linux机器上设置我的复制集。

- 首先,我只需安装MongoDB,然后从mongod修改/etc/mongod.conf的配置,以通过添加

启用授权
security:
  authorization: enabled

到文件。

然后我将我的帐户创建到数据库admin

db.createUser(  
{ 
    user: "admin",
    pwd: "admin",  
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]  
}
)

- 然后我通过添加

将我的复制配置再次添加到/etc/mongod.conf
replication:
  replSetName: "rs0"

然后我使用mongod

重新启动$ service mongod restart

我发起mongo(这里的一切都很顺利。)

(在蒙戈)

>use admin

>db.auth("admin", "admin")

1

我似乎在这里通过授权。但是当我尝试通过>rs.status()

获取rs的状态时

问题来了:

> rs.status()
{
    "ok" : 0,
    "errmsg" : "not authorized on admin to execute command { 
replSetGetStatus: 1.0 }",
    "code" : 13,
    "codeName" : "Unauthorized"
}

我不知道发生了什么。授权是否仅适用于admin?但我的用户角色是userAdminAnyDatabase

0 个答案:

没有答案