我在Mongodb中创建了具有读取权限的用户。我做了同样的过程here
但仍然没有用户限制用户。用户可以创建集合并插入文档,但用户只具有读取权限。当我打开mongo.exe
时,它显示了一些警告。
ongoDB shell version v4.0.0
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 4.0.0
Server has startup warnings:
2018-09-17T01:11:07.042-0400 I CONTROL [initandlisten]
**2018-09-17T01:11:07.042-0400 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2018-09-17T01:11:07.042-0400 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.******
2018-09-17T01:11:07.042-0400 I CONTROL [initandlisten]
---
那么如何限制MongoDB中的用户呢?
所以,你在配置部分缺少一些东西。你需要在mongod配置文件中激活。如果您使用Linux,它将位于/etc/mongod.conf
。你需要更改/取消注释/添加以下部分:
security:
authorization: "enabled"
之后你需要重启mongod服务。在我的情况下,服务名称是mongod
。所以我做了sudo systemctl restart mongod
。因为你已经有了角色。和身份验证刚刚启用。你必须立即登录。
>> mongo --port <YOUR_MONGO_PORT>
> use admin
> db.auth("username","password")
它现在应该登录。
所有步骤:
你可以看看这个媒体帖子以及here。