mongodb 安全认证
来源:互联网 发布:绝对中立知乎 编辑:程序博客网 时间:2024/06/11 23:11
默认情况下,mongodb不启用验证的。数据库级别的权限,要么可读写要么只读权限。mongod的验证配置比较操蛋。
分两种情形:一种是单服务器,只需启动时添加–auth参数即可。 另一种是复制集、分片集群服务器,必须指定keyfile参数,其他节点之间的通讯基于该keyfile。
在这种情况下,–auth参数是隐含启用的,所有的mongodb访问都必须验证的。
Mongodb中安全权限验证是数据库级别的
1、在admin中创建的 权限账号是全局性的,可以访问所有DB;
2、在非admin中创建的权限账号是 本地账号,只对本地DB具有操作权限;
3、如果在非 admin数据中 创建权限账号时指定了具有对其他DB的权限,则相应的具有其权限;
4、密码中不能有 < > & " ' : @
************************************************
db.createUser({user:"wenzhong",pwd:"yearmonth@20140111",roles:["root"]},{w:1,wtimeout:10000});
************************************************
一、单服务器模式
添加管理员用户,admin库下的用户是全局用户,对所有的数据库可读写。
# ./mongo
> use admin
> db.addUser("root","www.ttlsa.com")
> db.auth("root","www.ttlsa.com")
创建普通的用户,是数据库级别的。
> use database_name
> db.addUser('guest','www.ttlsa.com') 可读写
> db.addUser('guest','www.ttlsa.com',true) 只可读
查看用户
> db.system.users.find()
删除用户
> db.removeUser(username)
或
> db.system.users.remove( { user: username } )
配置文件加上下面的参数后重新启动mongod实例
auth = ture
二、复制集与分片集群模式下
2.1 keyfile规则
1. 集群服务器之间通讯通过keyfile进行身份验证。
2. 每个实例的keyfile文件内容要一致。
3. keyfile文件权限仅当前用户可读。
4. 集群成员都需要指定–keyFile参数。
5. 每个客户端连接到数据库之前必须验证。
6. key长度必须在6到1024个字符之间,否则会报错,mongod无法启动。
7. 任何空格被忽略。
8. 最好是3的倍数 。key不能包含非法字符=,否则会报错,mongod无法启动 。
1、在primary服务器上 生产keyfile文件秘钥 (注必须是 600权限,否则会报错)
先在 Admin库先创建 超级账号(primary)
replSet:primary>use admin
replSet:primary>db.createUser({user:"wenzhong",pwd:"yearmonth@20140111",roles:["root"]},{w:1,wtimeout:10000});
2、
sheel> openssl rand -base64 666 > /opt/mongo/conf/MongoReplSet_KeyFile
sheel> chown mongod.mongod /opt/mongo/conf/MongoReplSet_KeyFile
sheel> chmod 600 /opt/mongo/conf/MongoReplSet_KeyFile
3、
将 产生的 keyfile 文件 拷贝到 其他成员服务器
4、
修改配置文件
keyFile=/opt/mongo/conf/MongoReplSet_KeyFile
5、
重启mongod服务(primary-secondary)
replSet:primary>use admin
replSet:primary>rs.stepDown(60);
replSet:secondary>db.shutdownServer()
cat /etc/rc.local
sudo runuser -c "/usr/local/mongo/bin/mongod -f /opt/mongo/conf/mongo.conf" mongod
依次重启 secondary成员
0 0
- mongoDB安全认证机制
- mongodb 安全认证
- Mongodb用户安全认证
- mongoDB安全认证
- mongodb管理与安全认证
- mongodb学习2-安全认证
- mongodb管理与安全认证
- mongodb用户安全认证详解
- MongoDB安全及身份认证
- MongoDB安全及身份认证
- 关于MongoDB安全认证authorize
- MongoDB的安全与认证
- MongoDB:9-MongoDB的安全和认证
- mongoDB安全认证和php安全处理
- mongoDB学习笔记2--安全认证
- Mongodb安全认证及java调用
- MongoDB 开启安全认证及创建用户
- 10、Mongodb的用户认证和数据库的安全
- HBase处理中文字符串
- 图解Javascript this指向什么
- HTML 5本地存储之兼容性与存储监听
- HeadFirstJava——10_数字与静态
- Codeforces #352 Recycling Bottles
- mongodb 安全认证
- 30分钟做一个二维码名片应用,有源码!
- 8.平面阴影
- 编写Django自定义manage命令
- Android学习笔记二十八之AlertDialog提示对话框和几个常用的提示框
- 佳肴_纪中1420_dfs
- 大数据时使用索引实例
- VAGRANTFILE
- 调用摄像头拍照 camera