【问题标题】:Giving the right priviliges to mongodb user?给予 mongodb 用户正确的权限?
【发布时间】:2014-02-28 17:57:00
【问题描述】:

在更改某些用户权限时遇到了一些真正的麻烦。 目前,我们正在尝试以一种受控方式(基本上通过 PHP 的执行函数:http://www.php.net/manual/en/mongodb.execute.php)来执行 eval() 函数。 我已启用身份验证并添加了一些用户:

admin = db.getSiblingDB('admin');
admin.addUser("superadmin", "somepass");
admin.auth("superadmin", "somepass");

bigdata = db.getSiblingDB('bigdata');
bigdata.addUser("datauser", "anotherpass");

我怎样才能在这里给数据用户正确的权限?

谢谢。

【问题讨论】:

    标签: php mongodb


    【解决方案1】:

    由于eval 需要由管理员用户运行(这是您不应该在客户端应用程序中使用 JS 的另一个原因)您将这些权限分配给用户(http://docs.mongodb.org/manual/reference/user-privileges/#eval-shell-helper),因此您需要的设置是:

    readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase 和 clusterAdmin

    因此,您要寻找的是如何更改用户权限以拥有这些添加的角色,您可以看到这些相关的 SO 问题:How do you change MongoDB user permissions?

    【讨论】:

    • 所以基本上,我不能更改现有用户,但必须创建一个新用户?
    • @Repox 抱歉,赶时间,试试那个答案
    猜你喜欢
    • 2018-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多