开启docker中MongoDB的认证授权

本文介绍了如何在运行的Docker容器中开启MongoDB的认证授权。首先,强调了在admin数据库中添加用户的重要性,接着详细阐述了实践步骤,包括进入docker容器、创建管理员和普通用户、分配权限、修改docker-compose.yml文件以带认证启动MongoDB,并提供了连接数据库时指定用户和密码的方法。最后提到了删除用户的命令。
摘要由CSDN通过智能技术生成

开启docker中MongoDB的认证授权

思路

开启MongoDB服务后,默认是没有权限验证的。直接通过IP加端口就可以远程访问数据库,并对数据库进行任意操作。下面介绍一下如何开启docker中MongoDB的权限认证。

安装完MongoDB服务后默认有一个admin数据库,此时admin数据库是空的,没有记录任何权限相关的信息。当admin.system.users一个用户都没有时,即使MongoDB启动时添加了--auth参数,如果没有在admin数据库中添加用户,此时不进行任何认证还是可以做任何操作(不管是否以--auth参数启动),直到在admin.system.users中添加一个用户。因此要开启MongoDB的权限认证需要满足两点条件:

  • admin.system.users中添加用户
  • MongoDB以--auth启动

实践

  • 进入相应的docker容器:

    docker exec -it 容器ID /bin/bash
    
  • 进入MongoDB交互式命令行并切换到admin数据库

    mongo
    
    use admin
    

    MongoDB自带一个数据库叫admin,可以在这个数据库中创建管理员账号。

    所有创建的用户都会存储在system.users集合中。

    db.getCollectionNames()
    // [ "system.users", "system.version" ]
    
  • 创建管理员

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值