青岛做网站皆赴青岛博采网络,网站开发研究综述,为什么网站建设要值班,wordpress 代码编辑插件挂在网上的mongodb测试数据库#xff0c;默认的无密码#xff0c;端口直接登录#xff0c;本来想着不会有人盯上吧#xff0c;结果#xff0c;一个月后#xff0c;被黑客删库了#xff0c;所以不管是接口#xff0c;还是数据库的安全性一定要保证#xff01;#xff…挂在网上的mongodb测试数据库默认的无密码端口直接登录本来想着不会有人盯上吧结果一个月后被黑客删库了所以不管是接口还是数据库的安全性一定要保证
下面针对我的宝塔面板环境记录给mongodb设置账号密码的过程。
1、进入mongodb安装目录下面是宝塔面板的默认目录
cd /www/server/mongodb/bin2、输入命令行mongo进入mongodb环境
mongo3、切换到 admin 数据库
use admin4、给admin设置用户密码
user: 用户名pwd: 用户密码roles: 用来设置用户的权限比如读读写 等等
db.createUser({user: root, pwd: admin_mima, roles: [root]})5、验证是否添加成功db.auth(用户名用户密码)
db.auth(root, mima) 如果返回 1’表示验证成功 如果是 ‘0’ 表示验证失败。
6、刚才是给root设置密码现在要给特定的每个库设置权限比如demo库 切换到demo库
use demo7、接下来为demo库添加一个用户并且赋予权限
db.createUser({ user: cccc, pwd: demo_mima, roles: [{ role: readWrite, db: demo }] })这行代码意思是 创建一个cccc用户 给予读写权限 db表示该用户操作的数据库名。
Read允许用户读取指定数据库readWrite允许用户读写指定数据库dbAdmin允许用户在指定数据库中执行管理函数如索引创建、删除查看统计或访问system.profileuserAdmin允许用户向system.users集合写入可以找指定数据库里创建、删除和管理用户clusterAdmin只在admin数据库中可用赋予用户所有分片和复制集相关函数的管理权限。readAnyDatabase只在admin数据库中可用赋予用户所有数据库的读权限readWriteAnyDatabase只在admin数据库中可用赋予用户所有数据库的读写权限userAdminAnyDatabase只在admin数据库中可用赋予用户所有数据库的userAdmin权限dbAdminAnyDatabase只在admin数据库中可用赋予用户所有数据库的dbAdmin权限。root只在admin数据库中可用。超级账号超级权限
8、一切搞定重新开机mongodb通过增加 --auth 开启安全登录
mongod --dbpath /www/server/mongodb/data --auth不过、我不使用这种方式我通过修改mongodb的配置文件来实现 原来的配置文件 修改后的
bindIp修改为 0.0.0.0 允许外网访问authorization 修改为 enabled 开启认证 重启一下mongodb
最后再进行无密码登录对不起不好意思了。