Mongodb增加权限管理

2022-08-09 14:33:02 浏览数 (1)

 前言:

  随着列式存储理念的成熟,越来越多的开发者开始接纳mongodb,hbase这类大储存的分布式列式数据库。特别是mongodb的这种快速搭建,快速使用特点,使其得到更多人的青睐。本人主要通过官网说明针对mongodb权限配置做一个测试与实践。

step1:无验证启动mongod服务

mongod --port 27017 --dbpath /data/db1

step2:客户端mongo无密码连接并设置超级用户(用于admin登录)

mongo --port 27017

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

step3:有验证启动mongod服务

mongod --auth --port 27017 --dbpath /data/db1

step4:管理员mongo登录后新增用户,分配权限

mongo --port 27017 -u "myUserAdmin" -p "abc123" --authenticationDatabase "admin"

use testdb.createUser(   {     user: "myTester",     pwd: "xyz123",     roles: [ { role: "readWrite", db: "test" },              { role: "read", db: "reporting" } ]   })

step5:授权用户登录并操作表

mongo --port 27017 -u "myTester" -p "xyz123" --authenticationDatabase "test"

db.foo.insert( { x: 1, y: 1 } )

注:无权限访问时,将报如下错误

参考:

https://docs.mongodb.com/v3.2/tutorial/enable-authentication/

后语:

     以上仅供对mongodb进行简单管理,不至于被外界直接用端口进行连接。但更系统的权限管理还请参考官网说明

https://docs.mongodb.com/v3.2/tutorial/manage-users-and-roles/

0 人点赞