MongoDB3.0+启用认证权限设置

MongoDB默认不开启认证,也没有默认管理用户。

  1. 以普通方式启动MongoDB,bin/mongo进入控制台,创建管理员用户:
use admin;
db.createUser(
    {
        user: "super_user",
        pwd: "super_pass",
        roles: [{role: "userAdminAnyDatabase", db: "admin" }, 
                "readWriteAnyDatabase" ]
    }, 
    { w: "majority", wtimeout: 5000 }
)

super_user有管理员权限,对所有数据库都有读写权限,用户信息存放在admin表中。
关于roles更多选项,查询官方文档。

  1. 开启认证模式,修改MongoDB的配置文件:
# Turn on/off security.  Off is currently the default
#noauth=true
auth=true  #这个就是开启认证的配置

如果是yaml格式的配置文件:

security:
  authorization: enabled

开启完成后重启MongoDB

  1. bin/mongo进入控制台,验证管理用户
use admin;
db.auth("super_user", "super_user" )
  1. 创建普通用户
db.createUser(
    {
        "user" : "test_user",
        "pwd": "test_pass",
        "roles" : [{role: "readWrite", db: "test" }]
    },
    { w: "majority" , wtimeout: 5000 } 
);

test_user只对db test有读写权限,用户信息存放在admin表中。

  1. 连接数据库
    带认证信息的url形式:
mongodb://test_user:test_pass@localhost:27017
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容