为mongodb用户提供正确的权限?

时间:2014-02-28 09:35:04

标签: php mongodb

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

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

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

如何在此处为datauser提供正确的权限?

谢谢。

1 个答案:

答案 0 :(得分:0)

由于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?