MongoDB学习笔记(7)--访问控制

系统 1720 0
官方手册中启动 MongoDB  服务时没有任何参数,一旦客户端连接后可以对数据库任意操作,而且可以远程访问数据库,所以推荐开发阶段可以不设置任何参数,但对于生产环境还
是要仔细考虑一下安全方面的因素,而提高 MongoDB  数据库安全有几个方面: 
  绑定IP内网地址访问MongoDB服务 
  设置监听端口 
  使用用户名和口令登录

绑定IP 内网地址访问MongoDB服务

MongoDB 可以限制只允许某一特定 IP 来访问,只要在启动时加一个参数 bind_ip 即可,如下: 
服务端限制只有192.168.1.103这个IP可以访问MongoDB 服务 

[root@localhost bin]# ./mongod --bind_ip 192.168.1.103  

 

设置监听端口 

官方默认的监听端口是27017,为了安全起见,一般都会修改这个监听端口,避免恶意的连
接尝试,具体如下: 
将服务端监听端口修改为28018 

[root@localhost bin]# ./mongod --bind_ip 192.168.1.103 --port 28018  

 

使用用户名和口令登录 

MongoDB默认的启动是不验证用户名和密码的,启动MongoDB后,可以直接用MongoDB连接上来,对所有的库具有root权限。所以启动的时候指定参数,可以阻止客户端的访问和连接。

先启用系统的登录验证模块,  只需在启动时指定 auth  参数即可,如

[root@localhost bin]# ./mongod --auth  

 

建立系统root帐号

在admin库中新添一个用户root:  

[root@localhost bin]# ./mongo 

MongoDB shell version: 1.8.1 
connecting to: test 
> db.addUser("root","111") 
        "user" : "root", 
        "readOnly" : false, 
        "pwd" : "e54950178e2fa777b1d174e9b106b6ab" 
> db.auth("root","111")  

本地客户端连接,指定用户,结果如下:  

 [root@localhost bin]# ./mongo -u root -p 

MongoDB shell version: 1.8.1 
Enter password:  
connecting to: test 
> show collections; 
system.indexes 
system.users 

建立指定权限用户 

MongoDB 也支持为某个特定的数据库来设置用户,如我们为 test 库设一个只读的用户user_reader:  
[root@localhost bin]# ./mongo -u root -p 
MongoDB shell version: 1.8.1 
Enter password:  
connecting to: test 
> show collections; 
system.indexes 
system.users 
> use test 
switched to db test 
> db.addUser("user_reader", "user_pwd", true) 
        "user" : "user_reader", 
        "readOnly" : true, 
        "pwd" : "0809760bb61ee027199e513c5ecdedc6" 

}  

MongoDB学习笔记(7)--访问控制


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论