MongoDB认证授权原理和常用操作

参看网址:http://www.cnblogs.com/zhoujinyi/p/4610050.html

上面链接讲述的原理非常详细

 

 

 

mongo版本:3.6

常用操作:

##查看当前库下所有用户

show users

 

##查看所有系统中用户,尽量别直接修改此表

db.system.users.find().pretty()

 

#增加用户:

   db.createUser(

...     {

...       user: "1352",

...       pwd: "135137846",

...       roles: [

...          { role: "read", db: "test" }    

...       ]

...     }

... )

 

#删除用户:

db.dropUser("1354") #用户名有问题的话先删除在创建

 

##更新用户  

db.updateUser( "1352",

               {

                 roles : [

                           { role : "readWrite", db : "test"},

   {"role" : "dbAdmin","db" : "test"}

                         ]

                }

             )

##更改密码

db.changeUserPassword("用户名", "密码")

 

##授予权限

  db.grantRolesToUser("1352",[{ role : "userAdmin", db : "test"}])

##撤销权限

  db.revokeRolesFromUser("1352",[{ role : "userAdmin", db : "test"}])

##也可直接更新替换原有文档进行授权和撤销权限

  db.updateUser( "1352",

               {

                 roles : [

                           { role : "readWrite", db : "test"},

   {"role" : "dbAdmin","db" : "test"}

                         ]

                }

             )

 

 

##可用的内嵌角色(roles

Read:允许用户读取指定数据库

readWrite:允许用户读写指定数据库

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

userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户

clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。

readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限

readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限

userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限

dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。

root:只在admin数据库中可用。超级账号,超级权限

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值