3-MongoDB用户相关命令

MongoDB用户相关命令

一.建立管理员用户

1.连接到数据库,选择admin数据库

use admin

2.创建管理员账户

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

二.创建普通用户

1.切换到要选择的数据库

use db

2.创建管理账户

db.createUser({ user: "youruser", pwd: "yourpassword", roles: [{ role: "dbOwner", db: "db" }] })

dbOwner 代表数据库所有者角色,拥有最高该数据库最高权限。比如新建索引等

可以使用db.auth()验证

db.auth("youruser","yourpassword")

3.创建一个读写账户

db.createUser({ user: "youruser1", pwd: "yourpassword1", roles: [{ role: "readWrite", db: "db" }] })

该用户用于该数据的读写,只拥有读写权限。

4.查看系统用户信息

切换到admin

use admin

查看

db.system.users.find()

5.修改用户密码

先用管理员登录,切换到要修改用户所管理的数据库上

修改密码

db.changeUserPassword("username", "password")

6.删除用户

先用管理员登录,切换到要删除的用户所管理的数据库上

db.dropUser("username")

7.修改用户权限

db.updateUser("user",{pwd: "user",roles: [ { role: "userAdminAnyDatabase", db: "admin" },{role: "dbAdminAnyDatabase", db: "admin"},{ role: "readWriteAnyDatabase", db: "admin" }]})

三.mongodb role类型

  1. 数据库用户角色(Database User Roles):
  2. read:授予User只读数据的权限
  3. readWrite:授予User读写数据的权限
  4. 数据库管理角色(Database Administration Roles):
  5. dbAdmin:在当前dB中执行管理操作
  6. dbOwner:在当前DB中执行任意操作
  7. userAdmin:在当前DB中管理User
  8. 备份和还原角色(Backup and Restoration Roles):
  9. backup
  10. restore
  11. 跨库角色(All-Database Roles):
  12. readAnyDatabase:授予在所有数据库上读取数据的权限
  13. readWriteAnyDatabase:授予在所有数据库上读写数据的权限
  14. userAdminAnyDatabase:授予在所有数据库上管理User的权限
  15. dbAdminAnyDatabase:授予管理所有数据库的权限
  16. 集群管理角色(Cluster Administration Roles):
  17. clusterAdmin:授予管理集群的最高权限
  18. clusterManager:授予管理和监控集群的权限,A user with this role can access the config and local databases, which are used in sharding and replication,
  19. respectively.
  20. clusterMonitor:授予监控集群的权限,对监控工具具有readonly的权限
  21. hostManager:管理Server
posted @ 2024-06-11 14:10  3088577529  阅读(45)  评论(0)    收藏  举报