我的只读用户可以写 [英] My read-only user is able to write

查看:19
本文介绍了我的只读用户可以写的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的是 MongoDB 3.0.7.我有一个名为 bravegoat 的数据库和一个名为 bravegoat-r 的只读用户.

I'm using MongoDB 3.0.7. I have a database called bravegoat and a read-only user called bravegoat-r.

我通过 shell 连接:

I connect via shell:

mongo localhost:27017/bravegoat -u bravegoat-r -p mypassword

我切换到我的数据库:

use bravegoat;

然后我跑:

db.runCommand({connectionStatus : 1})

输出:

{
        "authInfo" : {
                "authenticatedUsers" : [
                        {
                                "user" : "bravegoat-r",
                                "db" : "bravegoat"
                        }
                ],
                "authenticatedUserRoles" : [
                        {
                                "role" : "read",
                                "db" : "bravegoat"
                        }
                ]
        },
        "ok" : 1
}

只有read角色,所以看起来不错,但是当我调用.save()时,我的用户可以插入数据.我已经阅读了几页关于创建只读用户的页面,但我看不到我的问题.我开始认为这可能是我的版本中的一个错误.

Only read role, so it looks fine, but when I invoke .save(), my user can insert data. I've read few pages about creating read-only users and I'm not able to see my problem. I'm starting to think it might be a bug in my version.

推荐答案

您必须通过执行以下操作来启用客户端访问控制:

You have to enable client access control by doing the following:

  1. 编辑/etc/mongod.conf文件
  2. 添加以下几行

安全性:授权:启用

  1. 重启 MongoDB:

sudo service mongodb restart

这篇关于我的只读用户可以写的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆