关于ZAKER 融媒体解决方案 合作 加入

如何允许用户在 mongodb 2.6 上运行 eval 命令

CocoaChina 11-13

如文档中所述 , 我必须创建一个允许在 anyResource 上执行 anyAction 的角色 , 但是只能在管理数据库中创建此角色 , 因此其外观如下:

use admindb.createRole ( { role: 'superuser', privileges: [ { resource: {anyResource: true}, actions: [ 'anyAction' ] } ] , roles: [ ] } )

下一步是向用户授予此角色 , 但这是问题所在 , 我无法从管理数据库向另一个数据库的用户授予该角色 , 因此此命令:

db.createUser ( { user: 'someusername', pwd: 'somepassword', roles: [ { role: 'superuser', db: 'somedatabase' } ] } )

返回预期:

Error: couldn't add user: No role named superuser@somedatabase

因此 , 我该怎么做才能允许用户 someusername 在 somedatabase 上运行 eval 命令?

最佳答案

因此 , 问题出在不正确的角色列表中 . 正确的是:

db.createUser ( { user: 'someusername', pwd: 'somepassword', roles: [ 'superuser' ] } )

以上内容由"CocoaChina"上传发布 查看原文
相关标签 数据库命令用户

觉得文章不错,微信扫描分享好友

扫码分享