MongoDB 3.4安全权限访问控制

  • mongo db 3.4 安装

mongo db 在linux 环境下 推荐使用 xfs 文件系统 如果 mongodb 数据存放的文件系统不是 xfs ,会出现如下提示:
2017-04-17T13:37:40.045+0800 I STORAGE [initandlisten]
2017-04-17T13:37:40.045+0800 I STORAGE [initandlisten] ** WARNING: Using the XF S filesystem is strongly recommended with the WiredTiger storage engine
2017-04-17T13:37:40.045+0800 I STORAGE [initandlisten] ** See http://d ochub.mongodb.org/core/prodnotes-filesystem

在金山云中 安装 mongo db 社区版。
使用rpm包 在 centos 7 中 安装mongo db 社区版。 centos 7 中也包含 mongo db ,使用 mongo db 官方 仓库,可以确保使用 mongdb 的最新版本。
官方文档

安装完成后,启动 mongodb 社区版, 由于centos 7 使用新的服务控制方法,启动命令为:

systemctl start mongod

停止命令为:

systemctl stop mongod

重启命令为:

systemctl restart mongod

特定配置:

永久关闭hugepage,就将下面的命令写入到/etc/rc.local文件中
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never> /sys/kernel/mm/transparent_hugepage/defrag

修改配置文件:
在 linux 下的配置文件路径是:

/etc/mongod.conf

修改 该节点,指向数据存储路径

storage:
  dbPath: /data/mongodata

修改绑定IP

net:
  port: 27017
#bindIp: 127.0.0.1   将绑定IP注释掉,即可为外部机器进行访问。

工作做完后,就需要进行权限配置了。
使用 mongo shell 登录 数据库
登录界面显示:

mongo
MongoDB shell version v3.4.3
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.3
Server has startup warnings:
2017-04-17T14:05:00.859+0800 I CONTROL [initandlisten]
2017-04-17T14:05:00.859+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2017-04-17T14:05:00.859+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2017-04-17T14:05:00.859+0800 I CONTROL [initandlisten]

说明 mongodb 没有启动权限认证,这时可以进行添加用户等操作等。
mongodb的权限是 是跟库相关的,所以添加用户,或权限,必须,首先切换到相应的库。

  >use admin
switched to db admin
> db.createUser(
...   {
...     user: "myUserAdmin",
...     pwd: "abc123",
...     roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
...   }
... )
Successfully added user: {
        "user" : "myUserAdmin",
        "roles" : [
                {
                        "role" : "userAdminAnyDatabase",
                        "db" : "admin"
                }
        ]
}

添加完用户后,就可以将 mongodb 转化到 认证模式。
然后登陆 mongodb ,就不会看到任何警告了。
这里写图片描述

验证账号:

use admin
db.auth("myUserAdmin", "abc123")

你可能感兴趣的:(MongoDB)