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