如何做到Ubuntu14.04下的mongdb远程访问?(图文详解)
不多说,直接上干货!
本教程详细指导大家如何开启并设置用户权限。MongoDB默认是没有开启用户权限的,如果直接在公网服务器上如此搭建MongoDB,那么所有人都可以直接访问并修改数据库数据了。 其实MongoDB本身有非常详细的安全配置准则,显然开发者也是想到了,然而他是将安全的任务推给用户去解决,这本身的策略就是偏向易用性的,对于安全性,则得靠边站了。
前期博客
Ubuntu14.04下Mongodb(在线安装方式|apt-get)安装部署步骤(图文详解)(博主推荐)
mongodb远程连接配置分为以下4步:
1、首先修改mongodb的配置文件 让其监听所有外网ip
编辑文件:/etc/mongodb.conf



修改为,如下

修改的内容是:
bind_ip = 0.0.0.0
port =
auth = true
MongoDB有两种用户,一种是admin用户(这里以root为例),能查看所有数据库;另一种数据库用户(这里以dbuser为例),只能查看特定数据库。
首先输入mongo进入MongoDB shell命令模式:

root@zhouls-virtual-machine:~# mongo
MongoDB shell version: 2.4.
connecting to: test
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
>
2、在admin数据库中添加root用户,在test数据库中添加dbuser用户
use admin
db.addUser('root','root') #用户名:root,密码:root
use test
db.addUser('dbuser','dbuser') #用户名:dbuser,密码:dbuser

> use admin
switched to db admin
> db.addUser('root','root')
{
"user" : "root",
"readOnly" : false,
"pwd" : "2a8025f0885adad5a8ce0044070032b3",
"_id" : ObjectId("59315897ebbf85f0bd54ef47")
}
> use test
switched to db test
> db.addUser('dbuser','dbuser')
{
"user" : "dbuser",
"readOnly" : false,
"pwd" : "e8f2818f5400a2a6cdc164b313abd49f",
"_id" : ObjectId("593158b9ebbf85f0bd54ef48")
}
>
MongoDB所有的用户信息都是存储在admin数据库中system.users表中,截图如下:


> ^C
bye
root@zhouls-virtual-machine:~#
3、开启与关闭mongodb服务
service mongodb stop #停止MongoDB服务(因为MongoDB是随开机是自启动的)
service mongodb start #开启MongoDB服务

root@zhouls-virtual-machine:~# service mongodb stop
mongodb stop/waiting
root@zhouls-virtual-machine:~# service mongodb start
mongodb start/running, process
root@zhouls-virtual-machine:~#
4、测试用户权限是否正常开启
注意:输入mongo进入shell命令模式,默认连接的数据库是test数据库。
试图查看test数据库的所有集合,发现查看失败;验证test数据库用户dbuser;再次查看test所有集合,发现查看成功。截图如下:

root@zhouls-virtual-machine:~# mongo
MongoDB shell version: 2.4.
connecting to: test
> show collections
Fri Jun ::20.414 error: {
"$err" : "not authorized for query on test.system.namespaces",
"code" :
} at src/mongo/shell/query.js:
> db.auth('dbuser','dbuser') > show collections
system.indexes
system.users
>
5、防火墙开放27017端口
root@zhouls-virtual-machine:~# iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport -j ACCEPT
root@zhouls-virtual-machine:~#
6、测试(桥接模式)

root@zhouls-virtual-machine:~# mongo ****:/admin -u root -p root
MongoDB shell version: 2.4.
connecting to: *****:/admin
> show dbs
admin .203125GB
local .078125GB
test .203125GB
>
或者
6、测试(NAT模式的静态ip)


root@zhouls-virtual-machine:~# mongo 192.168.80.31:27017/admin -u root -p root
MongoDB shell version: 2.4.
connecting to: 192.168.80.31:/admin
> show dbs
admin .203125GB
local .078125GB
test .203125GB
>
如何做到Ubuntu14.04下的mongdb远程访问?(图文详解)的更多相关文章
- ubuntu14.04 server ftp 服务安装配置详解
ubuntu14.04 server ftp 服务安装配置详解 cheungmine 2016-01-27 http://wiki.ubuntu.com.cn/Vsftpd 0 安装好vsftpd服务 ...
- (转)CentOS 6下配置软RAID图文详解
CentOS 6下配置软RAID图文详解 原文:http://blog.51cto.com/hujiangtao/1929620 一.RAID 简介 RAID 是英文Redundant Array o ...
- 反射实现Model修改前后的内容对比 【API调用】腾讯云短信 Windows操作系统下Redis服务安装图文详解 Redis入门学习
反射实现Model修改前后的内容对比 在开发过程中,我们会遇到这样一个问题,编辑了一个对象之后,我们想要把这个对象修改了哪些内容保存下来,以便将来查看和追责. 首先我们要创建一个User类 1 p ...
- VMware里Ubuntu-14.04-desktop的VMware Tools安装图文详解
不多说,直接上干货! 前期步骤,请见如下 VMware里Ubuntukylin-14.04-desktop的VMware Tools安装图文详解 我这里,直接,是来说明,Ubuntu-14.04 ...
- Ubuntu 16.04或14.04里下安装搜狗输入法(图文详解)(全网最简单)
不多说,直接上干货! 其实啊,很简单 分三步走 1.添加fcitx的键盘输入法系统,因为sogou是基于fcitx的,而系统默认的是iBus: 2.安装sogou输入法: 3.设置系统参数及一些注意点 ...
- 如何正确从他人机器MySQL数据库下拷贝出.sql,再导入到自己windows下MySQL数据库(图文详解)
不多说,直接上干货! 我这里,是放在桌面上. 登陆数据库 然后, mysql -uroot -p 默认是回车. 创建数据库 CREATE DATABASE securityonion_db; 目的,就 ...
- Windows操作系统下Redis服务安装图文详解
Redis下载地址:https://github.com/MSOpenTech/redis/releases 下载msi格式的安装文件. 1.运行安装程序,单击next按钮. 2.勾选接受许可协议中的 ...
- Ubuntu 16.04 Server 版安装过程图文详解
进入系统安装的第一个界面,开始系统的安装操作.每一步的操作,左下角都会提示操作方式!! 1.选择系统语言-English 2.选择操作-Install Ubuntu Server 3.选择安装过程和系 ...
- Ubuntu14.04下Mongodb(离线安装方式|非apt-get)安装部署步骤(图文详解)(博主推荐)
不多说,直接上干货! 说在前面的话 首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu LTS \n \l r ...
随机推荐
- [POI 2007] 旅游景点
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1097 [算法] 首先,用Dijkstra算法求出2-k+1到每个点的最短路 然后,我 ...
- [HDU 5542] The Battle of Chibi
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5542 [算法] 树状数组优化DP [代码] #include<bits/stdc++.h&g ...
- Java-MyBatis: MyBatis3 | Java API
ylbtech-Java-MyBatis: MyBatis3 | Java API 1.返回顶部 1. Java API 既然你已经知道如何配置 MyBatis 和创建映射文件,你就已经准备好来提升 ...
- Python3之时间模块详述
Python3之时间模块 time & datetime & calendar 一. 概述 python 提供很多方式处理日期与时间,转换日期格式是一个常见的功能. 时间元组:很多p ...
- android夜间模式切换
1.记录个最简单的夜间模式的实现 2.styles.xml <style name="DayTheme" parent="AppTheme"> &l ...
- Unity碰撞和触发的区别
碰撞的必要条件: 2个都有Collider,且至少有一个刚体.带刚体的身上会检测OnCollision事件,stay就是2个一直在碰着. 触发的必要条件: 至少有一个碰撞器勾选了IsTrigger,至 ...
- 开源Android容器化框架Atlas开发者指南
Atlas是古希腊神话中的天神,是波士顿动力公司的机器人,借助搜索引擎,得以发现这个名词背后许许多多的含义.在手机淘宝,Atlas是一个扎根于Android客户端的一个组件化容器框架,相比神话中用手和 ...
- 使用node+mysql进行后端开发
使用koa: koa2是一个类,所以引入koa后,要创建实例化“对象”,才能使用koa内部封装的方法. 设置监听端口: 处理http请求: 1.http请求处理链 A.通过app.use()注册asy ...
- Pyhton学习——Day10
#################################################################################################### ...
- 机器学习实战笔记--AdaBoost(实例代码)
#coding=utf-8 from numpy import * def loadSimpleData(): dataMat = matrix([[1. , 2.1], [2. , 1.1], [1 ...