首页 > 数据库 > Mongodb > Mongodb 副本集权限认证
2016
02-01

Mongodb 副本集权限认证

在上一篇文章中我们总结了单个节点的的mongodb权限认证,今天我们设置一下副本集的权限认证

一、Mongodb副本集安装

参考之前文章 Mongodb副本集配置

二、副本集权限认证

副本集总体思路是用户名、密码和keyfile文件,keyfile需要各个副本集服务启动时加载而且要是同一文件,然后在操作库是需要用户名、密码

KeyFile文件必须满足条件:

(1)至少6个字符,小于1024字节

(2)认证时候不考虑文件中空白字符

(3)连接到副本集的成员和mongos进成的keyfile文件内容必须一样

(4)必须是base64编码,但是不能有等号

(5)文件权限必须是x00,也就是说,不能分配任何权限给group成员和other成员

注:win下可以通过记事本文件,输入任意内容,删除后缀名后使用,是否可行还在试验、

2.1、生成keyfile文件,并设置权限600

openssl rand -base64 741 > mongodb-keyfile
chmod 600 mongodb-keyfile

2.2、在主节点上设置用户认证

参考单节点配置 

2.3、copy文件到其他副本集节点

使用scp命令,步骤简单这里省略

2.4、重启所以节点Mongodb服务

在Mongodb.conf配置文件中添加keyFile,例如

keyFile=/Tshare365/mongodb/mongodb-keyfile

加入之后重启服务

mongod --config $HOME/.mongodb/config

如果没有使用配置文件,那就在mongodb启动的命令行加入keyFile 参数,例如

mongod --keyFile /mysecretdirectory/mongodb-keyfile --replSet "rs0"

重启Mongodbdb 服务之后你就会发现所有节点权限都已经同步成功

参考文档:https://docs.mongodb.org/manual/tutorial/enable-internal-authentication/#stop-the-mongod-instance




最后编辑:
作者:tshare365
这个作者貌似有点懒,什么都没有留下。
捐 赠您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请狠狠点击

留下一个回复