首页 > 数据库 >mongodb2用户操作

mongodb2用户操作

时间:2023-07-11 09:35:26浏览次数:37  
标签:角色 admin 数据库 db 用户 mongodb2 操作 权限

mongodb用户操作

一.给所有数据库添加访问认证

1.编辑mongodb.conf添加参数auth=true权限

vi /usr/local/mongodb/bin/mongodb.conf

添加auth=true参数

2.重启mongodb,未认证直接使用show dbs无法查看

二.用户权限操作

1.系统用户权限和角色介绍

用户角色

数据库用户角色:

read、readWrite;

数据库管理角色:

dbAdmin、dbOwner、userAdmin;

集群管理角色:

clusterAdmin、clusterManager、clusterMonitor、hostManager;

备份恢复角色:

backup、restore;

所有数据库角色:

readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase

超级用户角色:

root #这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)

角色权限

Read:允许用户读取指定数据库

readWrite:允许用户读写指定数据库

dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile

userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户

clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。

readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限

readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限

userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限

dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。

root:只在admin数据库中可用。超级账号,超级权限

2.新建用户管理员账户

配置访问控制的第一步是创建用户管理员账户。用户管理员应只有创建用户账户的权限,而不能管理数据库或执行其他管理任务。

在 admin 数据库中,添加一个用户并赋予userAdminAnyDatabase角色,userAdminAnyDatabase只在admin数据库中可用,赋予用户所有数据库的userAdmin权限(允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户)

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

3.新建数据库管理员账户

要创建数据库管理员,切换到数据库 admin,再使用方法createUser添加角色为readWriteAnyDatabase、dbAdminAnyDatabase

4.新建普通用户

切换到admin,认证用户管理员账户

use admin

db.auth("hsUserAdmin","111111")

切换到需要添加用户的数据库,添加普通用户

use test123

db.createUser({user: "hsnormalUser",pwd: "111111",roles: [{ role: "readWrite", db: "test123" }]})

三.查看用户

1.查看当前数据库下所有用户

show users

2.查看所有数据库的所有用户

切换到admin数据库

use admin

查看所有数据库

db.system.users.find()

四.修改权限

1.修改账户密码

db.updateUser("hsnormalUser",{"pwd":"666666"})

2.修改用户权限

db.updateUser("hsnormalUser",{roles:[{role:"read",db:"test123"}]})

3.添加用户权限

db.grantRolesToUser("hsnormalUser", [{role:"readWrite", db:"test123"},{role:"dbAdmin", db:"test123"}])

4.删除用户权限

db.revokeRolesFromUser("hsnormalUser",[{role:"read", db:"test123"}])

五.某数据库登录用户

切换到admin用户

use admin

用户认证

db.auth("huangshao","123456")

六.删除用户

db.dropUser("hsnormalUser")

标签:角色,admin,数据库,db,用户,mongodb2,操作,权限
From: https://www.cnblogs.com/shaohuang/p/17542960.html

相关文章

  • mongodb3数据库操作
    Mongodb数据库操作一.默认数据库1.showdbs查看数据库admin库主要存储MongoDB的用户、角色等信息config库主要存储分片集群基础信息local库主要存储副本集的元数据test默认空数据库,无法查看2.amdin数据库syetem内容介绍system.version存储authSchema的版本信息system.users存储数据......
  • matlab程序,文章付现,关键词:共享储能电站,日前优化调度,工业用户。
    matlab程序,文章付现,关键词:共享储能电站,日前优化调度,工业用户。非原价拍之前问清楚可以运行看结果,售出不退不换ID:7250651359992408......
  • 深入解析Python文件操作:打开文件处理的大门
    在Python中,文件操作是一项常见且重要的任务。通过文件操作,我们可以读取文件内容、写入新的数据以及对文件进行其他的操作。本文将介绍Python中的文件操作,包括打开文件、读取文件、写入文件和关闭文件等基本操作,以及一些常用的文件处理技巧和最佳实践。一、打开文件在进行文件操......
  • 多种方法修改Linux用户的home目录
    参考:多种方法修改Linux用户的home目录在Linux上修改用户的Home目录可以按照以下步骤进行:确保以具有管理员权限的用户登录到系统上。使用usermod命令来修改用户的Home目录。命令的基本语法如下:sudousermod-d/新的目录路径用户名将/新的目录路径替换为你想要设置的新......
  • Java-Day-30( 多用户即时通信系统 —— 登录 + 获取在线用户列表 )
    Java-Day-30多用户即时通信系统需求分析用户登录拉取在线用户列表无异常退出私聊群聊发文件服务器推送新闻用户登录功能说明我们暂时人为规定用户名/id=100,密码123456就可以登录,其他用户不能登录后面使用HashMap模拟数据库,可以多个用户登录思路......
  • Java-Day-31( 多用户即时通信系统 —— 无异常退出 + 私聊 + 群发 )
    Java-Day-31多用户即时通信系统无异常退出问题指出:客户端输入9退出的是输出在控制台的主线程,退出的是主菜单,并没有真正的退出因为客户端启动后,相当于是开启了一个进程,在这个进程中启动了一个主线程(main线程),在main主线程中又启动了一个客户端的线程(ClientConn......
  • 数据结构链表的基本操作
    /*数据结构单向链表基本操作节点类*/importjava.util.Iterator;importjava.util.function.Consumer;publicclassshujujiegouimplementsIterable<Integer>{//整体privateNodehead;//头指针@OverridepublicIterator<Integer>iterator(){......
  • springcloud -sentinel 用户自定义限流错误处理(仅限限流异常,其他异常请使用fallback属
    pom依赖<!--SpringCloudailibabanacos--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>......
  • bean的生命周期--容器关闭操作
         ......
  • OSLUI:摆脱Shell,通过自然语言操作Linux
    Linuxshell命令是强大的,但也是复杂的。不光是新手记不住,往往很多老手也不一定能很好地掌握一些shell命令。最近开发了一款小工具:OSLUI,目标是做操作系统的自然语言界面,让人们可以摆脱Shell,直接通过自然语言和计算机进行交互。github地址:https://github.com/BalianWang/OSLUI。欢......