Mongodb带用户验证的Replica Set配置

Replica Set配置好之后,发现启用auth选项之后就不能同步了,应该是身份验证的部分漏掉了哪些步骤。

后来发现是少了keyFile的配置,于是就生成一个。

keyFile其实没有什么神秘的,只要

  1. 是base64字符集中的字符,
  2. 长度在6~1024之间就可以了,
  3. 空白字符会被MongoDB删除掉,
  4. 每一个节点都要使用相同的keyFile文件
  5. linux环境需要修改keyFile权限(chmod 600 mongodb-keyfile)。

由于MongoDB官方文档的示例是使用openssl生成的,base64编码的字符串,可能会给人造成误解,keyFile一定要使用openssl生成,一定要使用Base64编码,其实不是这样的,

可以不用openssl生成,不需要Base64编码,只要长度在6~1024之间,Base64字符集中的字符就OK,用您最方便的工具整一个或者随便输入一些字符都是可以的。

看一下官方的原文(附后)就很容易发现这一点。

Base64字符集如下:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

修改后的配置信息如下:

1 replSet = rs01
2 auth = true
3 port = 27017
4 bind_ip = localhost
5 journal = true
6 dbpath = e:\data\db
7 logpath = e:\data\log\mongo.log
8 keyFile = D:\mongodb\key

参考:

1. Generate a Key File: http://docs.mongodb.org/manual/tutorial/generate-key-file/

2. openssl下载(Windows):http://www.openssl.org/related/binaries.html

时间: 2024-10-03 23:02:27

Mongodb带用户验证的Replica Set配置的相关文章

Django自带用户验证框架

一  分析源码 User   Django的标准库存放在 django.contrib 包中.每个子包都是一个独立的附加功能包. 这些子包一般是互相独立的,不过有些django.contrib子包需要依赖其他子包,其中django.contrib.auth 为Django的用户验证框架 1.  导入方法 from django.contrib.auth.models import User 2.  分析User继承链 User --> AbstractUser  --> (AbstractBa

基于用户验证的简单samba配置

yum源安装 yum -y install samba samba-client 配置部分 添加认证用户 useradd user1 smbpasswd -a user1 建立配置文件夹  mkdir /home/files 用户文件权限配置 setfacl -m u:user1:rwx /home/files/ 修改配置文件(末尾加入) vim编辑/etc/samba/smb.conf [files] path  = /home/files valid users = user1, @gp1

mongodb添加用户认证

连接上mongodb并新建用户 use mall db.createUser(    {      user: "haha",      pwd: "123456",      roles:        [          { role: "readWrite", db: "mall" },                  ]    } 启动的时候添加--auth参数 可以用-u -p参数登陆 -> mongo [

django 的用户验证及登录状态保持

一.用户验证功能 Django自带用户验证及登录功能,引入模块为: from django.contrib.auth import authenticate 其中方法authenticate()的接收参数为: def authenticate(request=None, **credentials): 传入参数: user = authenticate(username=login_user, password=login_password) authenticate方法自动在数据库中匹配.验证

Mongodb带验证的主从复制架构

先说几个关于mongodb的使用命令: 1.创建用户    db.addUser('username','password'); 2.查询当前库中用户信息  db,system.users.find(); 3.进入响应数据库    use databaseName; 4.显示当前数据库所有库的大小信息 show dbs; 5.显示当前库的所有表信息 show collections; 6.对数据进行用户验证 db.auth('username','password'); 回归正题 关于mongo

Subversion的安装部署与用户验证配置

注:本例采取subversion+apache的模式 一:所需软件包下载 编译svn需要依赖sqlite库,RHEL5自带的rpm包版本太低,编译不能通过. #wget http://www.sqlite.org/sqlite-amalgamation-3.6.13.tar.gz #wget http://subversion.tigris.org/downloads/subversion-1.6.12.tar.bz2 #wget http://archive.apache.org/dist/h

EMS 动手实验2:用户自助密码重设&条件访问策略强制用户使用MFA二次验证&启用标识保护配置风险检测

前言: 本系列实验将引导用户完成O365 企业移动性和安全性(Enterprise Mobility Security)的常用操作和配置,本着实用性和安全性的原则,该系列实验会建议一些最佳实践.本系列实验主要分为以下几个阶段: 将Azure AD 登陆和审核日志发送到Azure Monitor 用户自助密码重设&条件访问策略强制用户使用MFA二次验证&启用标识保护配置风险检测 使用 Privileged Identity Management建立管理角色的审批和授权 使用Intune 管理

H3C设备console口配置本地用户验证

很简单的一个问题,既然有人提到了,那我就在这里记录一下. <H3C>sys System View: return to User View with Ctrl+Z. [H3C]local-user admin [H3C-luser-admin]password cipher 12345678 Updating user(s) information, please wait.... [H3C-luser-admin]service-type telnet level 3 [H3C-luser

Nginx提供网站服务应用包括(虚拟主机、用户访问控制、用户验证、nginx平滑升级、防盗链)的配置

Nginx   开源且跨平台的软件    俄罗斯人开发的   提供网站服务  和  代理服务 Nginx 提供网站服务应用环境? 1.虚拟主机2.用户访问控制3.用户验证4.防盗链 实验环境: 安装软件:nginx-0.855.tar.gz 操作系统:centos6.5 实验:(一) 实验目的:nginx源码包的安装以及基本的使用. 安装源码包要安装的工具:开发工具 和开发环境 1.安装nginx源码包 建立ngix软件夹用来存放nginx软件包 添加一个进程的所有者和所属组为www,www为n