【问题标题】:Rails - mongodb - new root userRails - mongodb - 新的 root 用户
【发布时间】:2016-08-05 06:46:36
【问题描述】:

我想在 mongodb 中创建新的 root 用户,该用户可以访问任何数据库、任何集合并以 root 身份执行所有操作。 以下是我的mongoid.yml 文件

development:
  clients:
    default:
      database: mydb_development
      hosts:
        - localhost:27017
      options:
        user: rootuser
        password: 12345
  options:
    raise_not_found_error: false

我阅读了文档并创建了新的rootuser

use admin
db.createUser({user: 'rootuser', pwd: '12345', roles: ['root']});

它成功创建了用户,但只能访问admin 数据库而不是任何数据库。

Mongo::Auth::Unauthorized (User rootuser is not authorized to access mydb_development.):

另一方面,当我想在 mydb_developmentmyrootuser 中添加新的 root 用户时

use mydb_development
db.createUser({user: 'rootuser', pwd: '12345', roles: ['root']});

我无法创建新用户并出现错误:

Error: couldn't add user: No role named root@mydb_development :

所以问题是:如何添加具有root权限的新用户并能够通过mongoid.yml使用它?

MongoDB shell 版本:3.2.10

【问题讨论】:

    标签: ruby-on-rails ruby mongodb


    【解决方案1】:

    您可能通过使用dbOwner 角色而不是root 解决了这个问题。 root 角色只能在您位于 admin db 上时使用。

    use admin;
    db.createUser({user: 'rootuser', pwd: '12345', roles: ['root']});
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-09
      • 1970-01-01
      • 2022-12-10
      • 2014-10-02
      • 1970-01-01
      • 1970-01-01
      • 2017-06-30
      • 1970-01-01
      相关资源
      最近更新 更多