关于mongodb3.x用户权限问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/PYXLY1314/article/details/51734693


以glgd数据库为例子
首先要给它创建一个专门管理用户的 用户管理员
use admin
db.createUser({user:"luoyi",pwd:"abc123",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})
这个用户只有管理其他用户的权限,没有查找show等等权限


++++++++++++
然后启动权限控制(先停止mongodb的服务,再带--auth参数,以权限控制的方式启动)
  net stop mongodb 停止之前的mongodb服务;
  mongod --auth --port 27017 --dbpath D:\mongodb\data\db 启动服务以后在进行操作;


++++++++++++++
使用客户端命令,连接mongodb服务,并且切换到admin数据库,并且进行认证


D:\mongodb\bin>mongo
 
> use admin
switched to db admin
>
>
> db.auth("luoyi","abc123")
1
>


+++++++++++++
切换到自定义的数据库,然后为自定义的数据库(glgd) 创建用户,用户都跟着库走,创建的用户都是.
use glgd
db.createUser(
 {
   user: "glgduser",
   pwd: "12345678",
   roles: [
      { role: "readWrite", db: "glgd" }
   ]
 }
)


创建用户成功以后如果直接使用show collections 命令,命令行会提示没有权限,那么就需要使用权限认证以后才能进行操作


db.auth("glgduser","12345678")


然后再使用 show collections 就不报错了

猜你喜欢

转载自blog.csdn.net/PYXLY1314/article/details/51734693