用户及角色管理(上)

db版本2.6.4
系统内建角色如下
Database User Roles:
read 
readWrite

Database Administration Roles:
dbAdmin
dbOwner
userAdmin

Cluster Administration Roles:
clusterAmin
clusterManager
clusterMonitor
hostManager

Backup and Restoration Roles:
backup
restore

All-Database Roles: (只能授予给admin数据库的用户)
readAnyDatabase
readWriteAnyDatabase
userAdminAnyDatabase
dbAdminAnyDatabase

Superuser Roles:
root

详细请参考 http://docs.mongodb.org/manual/reference/built-in-roles/


不需要用户认证即可对数据库做任何操作的情况:
1.数据库没有以--auth方式启动
2.数据库以--auth启动,但admin数据库里的system.users里为空

1.创建用户

use admin

db.createUser(
  {
    user: "root",
    pwd: "redhat",
    roles:
    [
      {
        role: "dbAdmin",
        db: "test"
      },
 {
   role: "dbAdminAnyDatabase",
db: "admin"
 }, "dbOwner" //这个dbOwner的角色会自动关联到admin数据库
    ]
  }
)
用户创建好之后就可以登录了
mongo --port 27017 -u root -p redhat --authenticationDatabase admin

2.查看用户信息及关联的角色

db.getUser("root")
db.getUsers()

3.查看用户权限

db.runCommand(
  {
    usersInfo:"root",
    showPrivileges:true
  }
)

4.修改用户密码

db.changeUserPassword("root", "111111")
或者
db.updateUser(
   "root",
   {
      pwd: "222222",
      customData: { title: "user test" },
// roles: [ {role: "dbOwner", db: "admin"}] //如果希望替换掉之前的角色信息 可以这样写
   }
)

5.收回用户角色的授权

db.revokeRolesFromUser("root",

{role: "dbAdminAnyDatabase",
    db :"admin"}
]
)

6.给用户授予角色

db.grantRolesToUser(
    "root",
    [
      { role: "userAdminAnyDatabase", db: "admin" },{role: "dbAdminAnyDatabase", db: "admin"}
    ]
)

7.删除用户

db.dropUser("root")
db.dropAllUsers()















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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值