MongoDB 副本模式 下的访问控制

本文介绍如何在MongoDB副本集中配置认证,包括创建root及操作用户、生成及使用keyfile进行服务器间认证、配置mongod进程及重启服务等步骤。

官网文档:duang

副本集模式运行时,不能使用--auth参数!


1. 创建用户,一个是root用户,一个是操作权限的用户

       注意root用户的角色必须是root,只有root才能执行rs.xxx的操作

use admin
# 操作用户
 db.createUser( {
    user: "myUserAdmin",
    pwd: "<password>",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  });
#root用户
 db.createUser( {
    user: "siteRootAdmin",
    pwd: "<password>",
    roles: [ { role: "root", db: "admin" } ]
  });

2. 停止mongod进程

ps -ef | grep mongod

kill -9 进程号


3. 生成keyfile文件,用户服务器之间认证用的

openssl rand -base64 741 > mongodb-keyfile
chmod 600 mongodb-keyfile   //只有创建者能修改读取

4. keyfile文件的使用

所有服务器之间复制keyfile文件,可以通过scp命令,生成的keyfile文件放到自定义的一个目录即可。如:(把本地生成的文件拷贝到ip那个服务器的mnt目录)

scp 本地的keyfile文件  root@ip:/mnt/  

回车输入密码即可。

这里启动mongod使用的是配置文件mongo.conf,在该文件内加入红色那个

dbpath=/mnt/mongodb/data
logpath=/mnt/mongodb/log/mongo.log
port=27017
fork=true
#auth=true
logappend=true
replSet=fithubDev
oplogSize=1024
keyFile=/mnt/mongodb/mongo-keyfile


每个服务器都要加上上面的keyFile配置,目录指向本地keyfile所在的地方

5. 重启(每个服务器都执行)

./mongod -f mongo.conf


6. 查看信息

       查看状态,注意:如果状态是state:5稍等一会再看,反应有点慢


查看启动参数









评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值