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.profile
userAdmin
:允许用户向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>')
相关文章