Mongo - 如何找出我连接的用户的角色?如何为用户分配完全读写访问权限?

Posted

技术标签:

【中文标题】Mongo - 如何找出我连接的用户的角色?如何为用户分配完全读写访问权限?【英文标题】:Mongo - How can I find out what roles the user I am connected as has? How can I assign a user full read-write access? 【发布时间】:2015-01-06 22:57:21 【问题描述】:

我已经能够从我的 MacBook 终端命令行连接到我的 Mongo 实例(托管在 Compose.io 的云中——它是一个通过 Heroku 的“插件”)。

但是,我无法执行任何操作。像“show collections”和“show users”这样的命令会因为“未授权”错误而失败。

如何找出我连接的用户的角色?另外,如何添加具有完全读写权限的用户?当然我试过了:

db.createUser(
    user: "accountUser",
    pwd: "password",
    roles: [ "readWrite", "dbAdmin" ]
)

但是这个命令失败了couldn't add user: not authorized on my_db to execute command

【问题讨论】:

【参考方案1】:

要查看有关当前用户的信息,请在用户的数据库上运行db.getUser()。您需要与您的 MongoDB 提供商核实他们是如何设置安全性的,以了解如何为您的用户添加正确的角色。

【讨论】:

谢谢 - 我如何找出用户的数据库是什么? 为未来的读者详细说明:> 使用 admin(或在创建用户时指定的 authenticationDatabase)> db.getUser('current_username')

以上是关于Mongo - 如何找出我连接的用户的角色?如何为用户分配完全读写访问权限?的主要内容,如果未能解决你的问题,请参考以下文章

如何为特定的mongo文档实现TTL

mongo用户角色基础连接IDEA

如何为 Spring Security 创建类型安全的用户角色?

Discord Bot如何为自动进入服务器的新用户赋予角色

Pentaho/Mondrian:如何为登录用户设置“动态角色”?

如何为我的 symfony2 网站实现权限角色/组系统