【漏洞修复】Windows安装了mongodb后再加Auth

第一种方法:

cmd-> regedit-> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services->MongoDB

(mongodb注册的名称,我的是MongoDB)

在它的ImgPath中,我们修改一下,加入 --auth

如下

"E:\develop Software\Mongodb\mongodb-win32-x86_64-2.2.3\mongodb-win32-x86_64-2.2.3\bin\mongod.exe" -dbpath "E:\develop Software\Mongodb\mongodb-win32-x86_64-2.2.3\mongodb-win32-x86_64-2.2.3\data\db" --logpath "E:\develop Software\Mongodb\mongodb-win32-x86_64-2.2.3\mongodb-win32-x86_64-2.2.3\data\log\mongodb.log" --auth --service

然后重启一下项目就可以

 

第二种方法:

 

 

 

 找到bin下面的mongod.cfg文件,加入:

security:
 authorization: enabled加了这个

然后重启服务

 

 

最后要记得在yml里面更改mongodb的连接方式

mongodb:
      uri: mongodb://账号:密码@127.0.0.1:27017/?authSource=admin
      database: 数据库名

 

怎么验证有没有Auth验证?怎么新建用户并且验证成功呢?

使用命令去验证,找到mongodb的bin,然后cmd

运行命令:mongo --host 127.0.0.1 --port 27017

打印内容:

ongoDB shell version v4.0.8

connecting to: mongodb://127.0.0.1:27017/test?gssapiServiceName=mongodb

然后随便use admin,再运行show dbs等指令去测试,可以直接运行就说明没有Auth认证,提示需要验证就说明验证加成功了。

新增用户授权角色:

db.createUser({user:"用户名",pwd:"密码",roles:[{role:"userAdminAnyDatabase",db:"admin"},{role:"readWriteAnyDatabase",db:"admin"}]});

db.createUser({user: "用户名",pwd: "密码",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]})

更改密码:db.updateUser("用户名",{"pwd":"新密码"})

Auth验证登陆:db.auth("用户名","密码")

给某个用户授权角色:db.grantRolesToUser( "用户名" , [ { role: "readWriteAnyDatabase", db: "admin" } ])

加上Auth验证(但是貌似没用):mongod --config "D:\Deploy\MongoDB\Server\4.0\bin\mongod.cfg" --serviceName "MongoDB" --auth --reinstall

删除已经有的mongodb服务:sc delete MongoDB

新建mongodb服务:sc create MongoDB binPath="C:\路径\MongoDB\Server\4.0\bin\mongod.exe --service --config=C:\路径\MongoDB\Server\4.0\bin\mongod.cfg"

 

mongod --config "D:\Deploy\MongoDB\Server\4.0\bin\mongod.cfg" --serviceName "MongoDB" --auth --reinstall

sc delete MongoDB
sc create MongoDB binPath="D:\Deploy\MongoDB\Server\4.0\bin\mongod.exe --service --config=D:\Deploy\MongoDB\Server\4.0\bin\mongod.cfg"

 

posted @ 2022-09-08 11:25  阿迪di  阅读(128)  评论(0编辑  收藏  举报
Title