mongodb管理学习之keyfile认证

本文详细介绍了MongoDB使用Keyfile进行副本集认证的步骤,包括Keyfile的创建、权限设置、复制到各节点以及配置文件修改。同时,还涵盖了MongoDB的用户管理操作,如创建、删除、更新用户以及查看用户信息。
摘要由CSDN通过智能技术生成

一、keyfile认证

1创建keyfile(秘钥文件)

1.1要求

(1)通过密钥文件进行身份验证时,副本集中的每个mongo实例都使用密钥文件的内容作为与其他成员进行身份验证的共享密码。

只有拥有正确密钥文件的Mongod实例才能加入副本集。

(2)密钥文件的内容必须在6到1024个字符之间,并且对于副本集的所有成员必须是相同的。

1.2创建

您可以使用您选择的任何方法生成密钥文件。例如,以下操作用于openssl生成用于密钥文件。

主要:key的长度必须是6-1024的base64字符,unix下必须相同组权限,windows下不需要。

1.3更改权限

chmod 600 ./mongodb.key

2将密钥文件复制到每个副本集成员上

将密钥文件复制到托管副本集成员的每个服务器上。确保运行mongod实例的用户是该文件的所有者,并且可以访问密钥文件。

scp name@xx.xx.xx.xx:XXX/mongodb.key  /XXX

3登录到mongs 创建用户

Use admin一定要用admin数据库

db.createUser({user:"admin",pwd:"admin",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})

4关闭分片加副本集的所有成员

5.在每个mongod的配置文件中添加以下内容:

auth=true

keyFile=XXX/mongodb.key

在每个mongos的配置文件中添加以下内容:

keyFile=XXX/mongodb.key

5.从新启动集群,启动顺序为

配置-->分片-->副本

备注:最好创建一个全局权限的账户,不然如果忘记了用户和密码就不太方便了。

二、附件

1.数据库角色

针对Mongodb数据库中的各种角色进行说明

数据库访问

角色名称

拥有权限

read

允许读取指定数据库的角色

readWrite

允许读写指定数据库的角色

数据库管理

角色名称

拥有权限

dbAdmin

允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile

userAdmin

允许管理当前数据库的用户,如创建用户、为用户授权

dbOwner

数据库拥有者(最高),集合了dbAdmin/userAdmin/readWrite角色权限

集群管理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值