MongoDB 用户权限配置

创建用户并设置权限

db.createUser(
  {
    user: "admin",
    pwd: "123456",
    roles: [ { role: "root", db: "dbname" },{role: "__system", db: "admin" } ]
  }
)

db.createUser(
  {
    user: "root",
    pwd: "123456",
    roles: [ 
    { role: "readWrite", db: "dbname" },
    { role: "dbAdmin", db: "dbname" },
    
    ]
  }
)

db.createUser(
  {
    user: "xiaoming",
    pwd: "123456",
    roles: [ { role: "readWrite", db: "dbname" } ]
  }
)

回收权限revoke:

db.revokeRolesFromUser("root",[{role:"readWrite",db:"test"}])

db.revokeRolesFromUser("root",[{role:"dbAdmin",db:"test"}])

增加权限grant:

db.grantRolesToUser("admin",[{role:"readWriteAnyDatabase",db:"admin"}])

db.grantRolesToUser("admin",[{role:"dbAdmin",db:"dbname"}])

查看用户权限

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

删除某个用户,接受字符串参数

db.dropUser("root")  

Mongo中的角色
Mongo中可用的角色有以下:

read
提供了对指定数据库所有集合的只读访问。

readWrite
提供了指定数据库中对任意集合的读写访问。

dbAdmin
用户可以在指定数据库中执行管理操作,使用ensureIndex、dropIndexes、reIndex、indexStats管理索引、重命名集合、创建集合等。

userAdmin
用户可以对指定数据库的system.users集合进行readWrite操作。它还启用了对已有用户的权限进行修改或者创建用户的功能,实际上指定了数据库的超级用户角色。

clusterAdmin
使得用户可以对修改或显示与整个系统有关的信息的管理操作授予访问权限。clusterAdmin只适用于管理数据库。

readAnyDatabase
使得用户可以读取Mongo环境中的任意数据库。

readWriteAnyDatabase
类似于readWrite,只不过它适用于所有数据库。

userAdminAnyDatabase
类似于userAdmin,只不过它适用于所有数据库。

dbAdminAnyDatabase
类似于dbAdmin,只不过它适用于所有数据库。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值