如何做到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 ...
随机推荐
- 编译最新版webrtc源码和编译好的整个项目10多个G【分享】
编译最新版webrtc源码和编译好的整个项目10多个G[分享] 参考https://webrtc.org/native-code/development/编译最新版webrtc源码: Git clon ...
- TLP电源管理
笔记本电脑电池坏了, 换了块电池, 顺手装了一下这个电源管理软件. https://linrunner.de/en/tlp/docs/tlp-linux-advanced-power-manage ...
- Spark Streaming概念学习系列之SparkStreaming运行原理
SparkStreaming运行原理 Spark Streaming不断的从数据源获取数据(连续的数据流),并将这些数据按照周期划分为batch. Spark Streaming将每个batch的数据 ...
- Five Invaluable Techniques to Improve Regex Performance
Regular expressions are powerful, but with great power comes great responsibility. Because of the wa ...
- 使用最新vue_cli搭建的模版
使用最新vue_cli搭建的模版,包含了常用的插件,router和axiox与测试插件.项目的结构如下: 使用之前请打开 REAMME.md 看看. 已经搭建好的框架的下载地址:https://sha ...
- 顺序容器之vector
最近因为需要,在看C++ primer,哇,感觉这本书真不错,讲的细而且到位,而且大量的练习题,不愧为C++学习的经典书籍.今天看了顺序容器方面的内容,现在汇报一下: 一.什么是vector vect ...
- java根据出生日期计算年龄
/** * @author jerry.chen * @param brithday * @return * @throws ParseException * 根据生日获取年龄; */ public ...
- Pyhton学习——Day22
#有缩进的代码表示局部作用域的代码#if_name_ =='_main_' # while True#先引入一个os模块import os,sys,time,json# print(os.path.d ...
- 洛谷 P1414 又是毕业季II (多个数的最大公因数)
这道题其实不难,但是我想复杂了 我想的是把每个数质因数分解,然后每次就枚举每个质因数 来求最小公倍数. 然后想了想这样复杂度将会非常的大,肯定超时 然后看了题解发现不需要质因数分解,直接存因数的个数就 ...
- js-DOM操作基本知识