专栏首页运维经验分享mongodb集群增加登录密码验证

mongodb集群增加登录密码验证

mongodb集群增加登录密码验证

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/welcome66/article/details/84916061

在部署mongodb集群的时候,有些安全性要求比较高的地方,需要启用密码验证的方式,登录mongo集群。

下面的方式是在mongodb 3.6版本的基础上,3个节点的集群里设置的。

1.生成集群验证key文件

1)进入mongodb的data目录,创建keyfile目录

2)使用openssl生成key文件

3)修改key文件权限为400

4)复制该key文件到每个mongodb节点对应目录

命令如下:

#cd /home/memdb/mongodb/conf #openssl rand -base64 741 > /home/mongodb/data/mongo-keyfile #chmod 400 ./ mongo-keyfile

2.创建验证用户

在未启用验证前,创建用户:

1)使用mongo连接mongos端口:

        $bin/mongo IP:mongos port

2)切换到admin库,创建用户:

use admin db.createUser( {     user: "cluster",     pwd: "cluster",     roles: [ { role: "clusterAdmin", db: "admin" } ]   }); db.createUser( {     user: "super",     pwd: "super",     roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]   }); use test db.createUser(   {     user: "admin",     pwd: "admin",     roles:     [       {         role: "dbOwner",         db: "test"       }     ]   } )

3.  增加配置文件的验证属性

1)  Mongo.conf文件:

security:   keyFile: "/home/mongodb/data/mongodb-keyfile"   clusterAuthMode: "keyFile"       authorization: "enabled"

config和mongos只增加上面2个属性即可。

4.重启集群

上面完成之后,重启整个mongodb集群。

按照原来顺序启动如有错误,启动顺序可改为

    1) 先启动所有config组件

    2) 再启动所有mongod组件

    3) 最后启动mongos组件

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • MongoDB给数据库创建用户

    linux/Mac : mongod -f /mongodb/etc/mongo.conf

    拓荒者
  • not authorized on admin to execute command

    角色授权分两种,一种是直接在当前库中创建用户并授予相关权限。如admin库中创建admin用户。另一种情况是

    拓荒者
  • MongoDB4.0.0 远程连接及用户名密码认证登陆配置——windows

    2018年07月25日 18:44:00 qq_26896281 阅读数 15307更多

    拓荒者
  • 大数据开发工程师学习路线分享

    大数据是对海量数据存储、计算、统计、分析等一系列处理手段,处理的数据量是TB级,甚至是PB或EB级的数据,是传统数据处理手段无法完成的,大数据涉及分布式计算、高...

    用户2292346
  • Jerry's spark demo application

    在Cloud for Customer的Service Control Center里能看到C4C升级时间:

    Jerry Wang
  • VM真的比Container更安全吗?

    理论上来说,是的。但在工作实践中,那可就不一定了。 ? 写在前面的话 我们经常会说,“HTTPS是安全的”或者“HTTP是不安全的”。但其实我们想表达的是,“H...

    FB客服
  • python中RabbitMQ的使用(安装和简单教程)

    RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现的产品,RabbitMQ是一个消息代理,从“生产者...

    周小董
  • shiro源码解析-doFilter

    shiro应该算的上java中最流行的权限框架了,使用的多了,便想着研究一下源码,看它究竟怎么运行的。

    逝兮诚
  • django 开发忘记密码通过邮箱找回功能

    玩蛇的胖纸
  • 网络编程懒人入门(四):快速理解TCP和UDP的差异

    对于即时通讯开者新手来说,在开始着手编写IM或消息推送系统的代码前,最头疼的问题莫过于到底该选TCP还是UDP作为传输层协议。本文延续《网络编程懒人入门》系列文...

    JackJiang

扫码关注云+社区

领取腾讯云代金券