MongoDB - 用户与权限
切换数据库
1use admin
创建用户
所有权限
1db.createUser(
2 {
3 user:"anoyi",
4 pwd:"password",
5 roles:["root"]
6 }
7)
指定数据库所有权限
1db.createUser(
2 {
3 user: "admin",
4 pwd: "admin",
5 roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
6 }
7)
指定数据库指定权限
1db.createUser(
2 {
3 user:"user",
4 pwd:"password",
5 roles:[
6 {role:"readWrite",db:"db01"},
7 {role:"readWrite",db:"db02"},
8 'read'
9 ]
10 }
11)
db01和db02库读写权限,其他库读权限
角色分类:
数据库用户角色:
read、readWrite数据库管理角色:
dbAdmin、dbOwner、userAdmin集群管理角色:
clusterAdmin、clusterManager、clusterMonitor、hostManage备份恢复角色:
backup、restore所有数据库角色:
readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase超级用户角色:
root内部角色:
__system
权限说明:
read:允许用户读取指定数据库readWrite:允许用户读写指定数据库dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profileuserAdmin:允许用户向system.users集合写入,可以在指定数据库里创建、删除和管理用户clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限root:只在admin数据库中可用,超级账号、超级权限
查看用户
1show users
修改密码
1db.changeUserPassword("anoyi", "newPassword")
删除用户
1db.dropUser('anoyi')
登录数据库
1use <database>
2
3db.auth('<username>', '<password>')相关文章