我们启动MongoDB服务使用mongo进入数据库后可以直接对MongoDB数据库进行增删改查,事实上是不安全的,针对不同的用户应该给予不同的权限,有的具有所有权限(管理员),有的具有读写权限,有的只具有读权限,针对不同权限给与不同的账号提升数据库的安全性。
1.创建管理员账号
用user admin切换到admin数据库,
db.createUser({user:"root",pwd:"123456",roles:[{role:"root",db:"admin"}]})
这样就创建了一个管理员的账号
## 2.创建普通用户
用usertest切换到test数据库,
db.createUser({user:“zhangsan”,pwd:“123456”,roles:[{role:“write”,db:“test”}]})
这样就创建了一个普通用户的账号,只拥有读权限
3.用户授权
先关闭MongoDB服务,用mongod --dbpath E:\MongoDB\data --auth
开启授权
(一)管理员授权
用user admin
进入管理员数据库
这时候你会发现任何操作都不可用,因为没有登录
使用命令
db.auth("root","123456")
登录成功即可操作数据库,因为是root权限,也可以操作其他的数据库。
(2)用户授权
用user test
进入刚才创建用户的数据库
这时候你会发现任何操作都不可用,因为没有登录
使用命令
db.auth("zhangsan","123456")
登录成功
由于该用户只有读权限,只能对当前数据库进行读操作,不能删除更新,更不能对其他数据库进行任何操作。