MongoDB—— 安全认证

本文详细介绍了在MongoDB中如何创建管理员账号、设置常用权限,包括read、readWrite、dbAdmin等,并提供了用户认证和删除用户的示例。此外,还讲解了如何在特定数据库中创建用户并进行鉴权操作,以及启用MongoDB的鉴权模式,确保数据库的安全运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、创建管理员账号

#设置管理员用户名密码需要切换到admin库
use admin
#创建管理员
db.createUser({user:"xz",pwd:"xz",roles:["root"]})
#查看所有用户信息
show users

在这里插入图片描述

二、常用权限

2.1、常用权限列表

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

2.2、用户认证示例

  • 用户认证,返回1表示认证成功
    在这里插入图片描述

2.3、删除用户示例

  • 删除用户

    db.dropUser("xz")
    

    在这里插入图片描述

三、创建应用数据库用户

  • 创建xzdb数据库及对应的用户名和密码

    #创建xzdb数据库
    use xzdb
    #创建xzdb数据库的用户名和密码
    db.createUser({user:"xzuser",pwd:"xzpwd",roles:["dbOwner"]})
    

    在这里插入图片描述

  • 用户认证,返回1表示认证成功

    use xzdb
    db.auth("xzuser","xzpwd")
    

    在这里插入图片描述

  • 先关闭MongoDB服务

    mongod --port=27017 --dbpath=/xz/mongodb/data --shutdown
    

    在这里插入图片描述

  • 再以鉴权模式启动MongoDB(默认情况下,MongoDB不会启用鉴权)

    mongod -f /xz/mongodb/conf/mongo.conf --auth
    

    在这里插入图片描述

  • 启用鉴权之后,连接MongoDB的相关操作都需要提供身份认证

     mongo -u xzuser -p xzpwd --authenticationDatabase=xzdb
    

    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小志的博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值