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

MongoDB有两种用户,一种是admin用户(这里以root为例),能查看所有数据库;另一种数据库用户(这里以dbuser为例),只能查看特定数据库。

在admin表中添加root用户,在test表中添加dbuser用户

use admin
db.addUser('root','Abcd1234') #用户名:root,密码:Abcd1234
use School
db.addUser('adley','adley1234') #用户名:dbuser,密码:123

MongoDB所有的用户信息都是存储在admin数据库中system.users表中

修改/etc/mongodb.conf,设置auth=true

sudo

etc/mongodb.conf文件中本来就有配置auth=true,只需要删除前面的“#”即可。

重启MongoDB

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