宝塔面板配置mongoDB开启用户权限验证登录

本文由清尘发表于2020-05-29 22:42最后修改于2020-06-16属于技术文档分类

进入mongodb安装目录,下面是宝塔面板的默认目录

cd /www/server/mongodb/bin

输入命令行mongo,进入mongodb环境

mongo

给admin设置用户密码

user: 用户名
pwd: 用户密码
roles: 用来设置用户的权限,比如读,读写 等等
db.createUser({user: 'root', pwd: 'admin_mima', roles: ['root']})

验证是否添加成功,db.auth(用户名,用户密码)

db.auth('root', 'mima') 

如果返回 ‘1’表示验证成功, 如果是 ‘0’ 表示验证失败。

给特定的每个库设置权限

切换到demo库

use demo

接下来为demo库添加一个用户,并且赋予权限

创建一个admin用户 给予读写权限 db表示该用户操作的数据库名。

db.createUser({ user: 'admin', pwd: 'demo_mima', roles: [{ role: 'readWrite', db: 'demo' }] })

Role参数说明

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

如果要删除用户 :

db.dropUser(<user_name>) 删除某个用户,接受字符串参数

示例:db.dropUser(“admin”)

通过增加 –auth 开启安全登录

mongod --dbpath /www/server/mongodb/data --auth

宝塔面板配置开启权限验证以及允许外网访问

宝塔面板配置mongoDB开启用户权限验证登录

开启外网访问 : bindIp: 0.0.0.0
开启权限验证登录: authorization: enabled

访问链接字符串

mongodb://账号:密码@服务器IP/域名:端口/?authSource=要连接的数据库

用Robo 3T 连接

Robo 3T