MongoDB数据库设置密码,防止MongoDB数据库被盗

2018.05.09 22:49 阅读 561 评论 0

默认安装好以后的MongoDB数据库是没有密码的,默认端口都是27017,很容易被入侵盗走数据。

安装好数据库后的首先应该设置密码,下面讲解如何给MongoDB数据库设置密码。

  1. Linux下输入mongo进入MongoDB的shell模式,设置密码需要进入admin数据库,use dbname就可以进入某个数据库。
use admin
  1. 创建一个管理员的账户,设置用户名和密码。管理员账户拥有查看所有数据库的权限。
db.createUser({ user: "admin", pwd: "password", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })

其中设置中role代表账户的身份,其中userAdminAnyDatabase代表管理员账户可以查看所有数据库。

role的类型可以参考文章MongoDB设置用户权限role类型

  1. 修改/etc/mongod.conf配置文件,启用用户权限
sudo vi /etc/mongod.conf

找到其中#security的位置,取消前面#,并新增以下内容

security:
    authorization: enabled
  1. 修改完以后输入exit退出shell模式,重启MongoDB数据库
systemctl restart mongod
  1. 输入mongo,再次进入MongoDB数据库,设置数据库密码前先进入admin数据库,验证管理员权限
use admin
db.auth("user", "password")
  1. 然后设置其他数据库的用户权限
use dbname
db.createUser({ user: "user", pwd: "password", roles: [{ role: "readWrite", db: "yourdatabase" }] })

其中readWrite表示该用户具有该数据库的读写权限

这样就设置好了MongoDB数据库的密码,再访问的时候就需要输入账户和密码。

0 条评论
发布