首页 > 数据库 >Mongodb设置用户权限

Mongodb设置用户权限

时间:2022-09-30 17:46:37浏览次数:71  
标签:角色 admin Mongodb 数据库 db 用户 权限

1. 创建超级用户

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

2. 创建单个数据库用户

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

3. 开启动用户权限认证

修改bin\mongod.cfgsecurity配置项

#security: 安全配置(增加以下内容)
security:
  authorization: enabled

4. 配置远程访问

修改mongod.conf配置文件
/etc/mongod.conf

注释 bindIp: 127.0.0.1
#bindIp: 127.0.0.1
5、重启MongoDB服务

1.同时按住win + r键
2.输出services.msc,回车
3.重启MongoDB服务

 

 

 

 

6、MongoDB账户权限配置中常用命令

1.查看当前库下的用户
show users;
2.删除用户
db.dropUser("node");
3.修改用户密码
db.updateUser("admin": {pwd: "newPassword"});
4.密码认证
db.auth("node": "password");

5.远程连接

mongosh 10.221.120.151:27017/admin -u admin -p password

6.url连接

url="mongodb://用户名:密码@地址:端口/"

 

Built-In Roles(内置角色):
    1. 数据库用户角色:read、readWrite;
    2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
    3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
    4. 备份恢复角色:backup、restore;
    5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
    6. 超级用户角色:root  
    // 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
    7. 内部角色:__system

具体角色的功能: 

Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限

 

  • 数据库和用户是绑定的,光创建一个超级用户并不能操作在其他新建的数据库中插入数据
  • 在切换数据库时,先切换认证用户,不然会出现too many users are authenticated的错误。

标签:角色,admin,Mongodb,数据库,db,用户,权限
From: https://www.cnblogs.com/smile008/p/16745217.html

相关文章

  • Andorid 11获取外部存储权限方法
    privatevoidrequestmanageexternalstorage_Permission(){if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.R){//先判断有没有权限......
  • mongodb使用总结
    mongodb使用总结1什么是文档数据库服务数据库--集合(表)--文档(行)MongoDB一般采用类似JSON的格式存储,存储的内容是文档型的2产品优势支持高并发+灵活的存储结构3功能......
  • Linux 用户组管理#01:添加用户到组、移除组的用户
    添加用户到组usermodusermod[options]LOGINLOGIN:修改的用户;-G:移到某个组;把test用户移到zrf用户组中:zrf@ubuntu:~$sudousermod-Gzrftestzrf@ubuntu:~$......
  • vue路由守卫用于登录验证权限拦截
    vue路由守卫用于登录验证权限拦截vue路由守卫-全局(router.beforeEach((to,from,next)=>来判断登录和路由跳转状态)主要方法:to:进入到哪个路由去from:从哪个路由离开......
  • MongoDB(2): 查询、索引、聚合
    查询find条件操作符1$gt、$lt、$gte、$lte条件操作符2$type:[key]可选的key值如下:1:双精度型(Double)2:字符串(String)3:对象(Object)4:数组(Array)5:......
  • 秋式开源团队:权限管理系统需求与分析
    以下为正文内容:项目的目标提供一个调用简单、可复用性高、满足一般需求的权限管理模块。为需要对权限管理的系统节省开发本。产品的用户开发基于.net且权限管理较为复杂的系......
  • MongoDB(1):数据库和集合基本操作
    MongoDB是一款非关系型数据库。传统的关系型数据库受到各种关系的累赘,各种数据形式的束缚难以处理海量数据以及超高并发的业务场景。而MongoDB又是一个非关系数据库中功能......
  • 用户空间与内核空间,进程上下文与中断上下文
    用户空间与内核空间,进程上下文与中断上下文[总结]......
  • oracle查询某用户授予出去以及被授予的对象权限
    文档课题:oracle查询某用户授予出去以及被授予的对象权限.>showuserUseris"LEO">createtabletestasselect*fromall_objects;Tablecreated.>selectcount(*)fr......
  • Oracle数据库用户权限分析
    文档课题:Oracle数据库用户权限分析.1、查询权限普通用户查询自己所拥有的所有权限.>showuserUSERis"LEO">select*fromsession_privs;PRIVILEGE--------------------......