MongoDB用户角色不限制访问
问题描述:
我刚开始学习MongoDB,而且我已经遇到了一个小问题。在一些背景下,我使用Jetbrain的Webstorm和Mongo Plugin。MongoDB用户角色不限制访问
现在,让我解释我的问题。
我还没有任何用户,我仍然在本地数据库。然后我做了以下命令
use admin
db.createUser({
user: "testRead",
pwd: "password",
roles: ["read"]
})
所以,现在我在管理数据库,我创建了一个名为“testRead”一个角色的用户:读取。此用户应该只能执行此链接中指定的命令:http://docs.mongodb.org/manual/reference/built-in-roles/。但它可以在我的程序上做更多的事情。
创建用户(见上)后,我使用Ctrl + C停止服务器。然后使用mongod命令从CMD重新启动它。所以,现在我“在签署”到“testRead”用户帐户谁的不仅是“读”的角色
db.auth("testRead", "password")
:
后,我从Webstorm没有回到我的控制台,我做了以下命令。然后我测试了一下。
我尝试下面的命令:
db.test.insert({
name: "test"
})
记住,它不应该是能够做到这一点,所以我期待一个错误或东西,但它完美地工作,返回此...
WriteResult({ "nInserted" : 1 })
这是怎么回事?
答
首先在授权关闭的情况下在mongo中创建一个管理员用户,以便您可以在授权开启时执行诸如创建用户等操作。 http://docs.mongodb.org/manual/tutorial/enable-authentication-without-bypass/
然后在命令行中使用任何--auth
打开授权,您蒙戈实例或将其添加到您的配置文件http://docs.mongodb.org/manual/reference/configuration-options/#security.authorization,并重新启动蒙戈
你有权威性上打开你的数据库? – ThrowsException
你是怎么做到的? – studentTrader24