MongoDB 设置权限
mongdoDB 默认是关闭权限验证的,最近有些黑客一直攻击这个漏洞。本来我 VPS 的 mongoDB 上也没什么重要的数据,但是连着几次被骚扰,还留下这样的话:
Don't panic. Your DB is in safety and backed up (check logs). To restore send 0.3 BTC and email with your server ip or domain name. Each 24 hours we erase all data.
简直就是挑衅。索性加了权限配置。
配置过程
-
创建管理员账号
use admin db.createUser( { user: "admin", pwd: "admin", role: "root" } )
将权限分配给角色,再将角色分配给用户。MongoDB 有很多内置的角色。详见:[文档][1]。可以创建自定义角色,一般情况下内置角色就够用了。
-
开启权限检查,有两种方式:
-
mongo shell 启动时加上--auth 参数:
mongod --auth
-
在配置文件中加上:
security: authorization: enabled
-
-
分配表权限
use bbs db.createUser( { user: "bbsAdmin", pwd: "bbsAdmin", roles: ["dbOwner"] } )
-
权限认证
有两种认证方式
-
连接时认证:
mongo -p "bbsAdmin" -u "bbsAdmin" --authentication "bbs"
-
连接后认证:
mongo use bbs db.auth("bbsAdmin", "bbsAdmin")
[1]: https://docs.mongodb.com/manual/reference/built-in-roles/
-
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于