Ubuntu下开启MongoDB用户权限

9 篇文章 0 订阅
8 篇文章 0 订阅

本教程详细指导大家如何开启并设置用户权限。MongoDB默认是没有开启用户权限的,如果直接在公网服务器上如此搭建MongoDB,那么所有人都可以直接访问并修改数据库数据了。 其实MongoDB本身有非常详细的安全配置准则,显然开发者也是想到了,然而他是将安全的任务推给用户去解决,这本身的策略就是偏向易用性的,对于安全性,则得靠边站了。

MongoDB有两种用户,一种是admin用户(这里以root为例),能查看所有数据库;另一种数据库用户(这里以dbuser为例),只能查看特定数据库。
首先输入mongo进入MongoDB shell命令模式:
1、在admin表中添加root用户,在test表中添加dbuser用户

use admin
db.addUser('root','123') #用户名:root,密码:123
use test
db.addUser('dbuser','123') #用户名:dbuser,密码:123

MongoDB所有的用户信息都是存储在admin数据库中system.users表中,截图如下:
QQ截图20160712085246
2、修改/etc/mongodb.conf,设置auth=true

sudo vim /etc/mongodb.conf

/etc/mongodb.conf文件中本来就有配置auth=true,只需要删除前面的“#”即可。截图如下:
配置auth=true
3、重启MongoDB

service mongodb stop  #停止MongoDB服务(因为MongoDB是随开机是自启动的)
service mongodb start #开启MongoDB服务

4、测试用户权限是否正常开启
试图查看test数据库的所有集合,发现查看失败;验证test数据库用户dbuser;再次查看test所有集合,发现查看成功。截图如下:
验证test成功
试图查看School数据库的所有集合,发现查看失败,因为dbuser是test数据库的用户,无法验证School数据库;切换到admin数据库,验证root用户名;再切换回School数据库,查看其所有集合,发现查看成功。截图如下:
验证rootSchool查看成功
这里需要指出的是,验证用户不是切换用户,只要验证过用户,就拥有了对该数据库的操作权限,如我先验证了root用户,再验证dbuser用户(test数据库的用户),依然可以操作School数据库,因为验证过root用户,仅对当次shell模式有效,退出shell之后再进入shell需要重新验证。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值