集群认证
简介:上一篇咱们介绍了单实力的认证方式,正好我在搞lepus监控,副本集合需要用户认证
一 验证方式:
1 auth 方式启动=》单点
2 keyFile 方式启动=》集群
请注意 开户keyFile默认开户auth
二 创建keyFile文件
1 创建要求
1.内容 base64编码集[a-z A-Z +/]
2.长度 1000bytes
3.权限至少 chmod 600 keyFile
2 创建方式
openssl rand -base64 102 > .KeyFile
chmod 600 .KeyFile(必须600权限,请注意)
三 创建超级管理员用户
db.createUser( {
user: "root",
pwd: "123456",
roles: [ { role: "root", db: "admin" } ]
});
目的:为了创建用户
四 修改
1 关闭从mongo->然后关闭主mongo
2 在配置启动项添加 keyFile=/data/mongo/shard2/.KeyFile(修改所有节点)
3 将keyfile拷贝到所有节点
4 启动主mongo->启动从mongo
五 验证
mongo -uroot -p123456 admin --port=27015 、
登录成功,代表完成
六 mongo集群一些问题
1 通过mongos创建的用户是无法单独登录一个shard的,因为mongos和shard都存储各自的用户信息
2 一般通过mongos创建的用户是给程序提供访问的,而通过shard创建的一般是给管理员使用的