×

MongoDB为数据库添加用户认证

穆琪 穆琪 发表于2019-08-13 19:22:19 浏览455 评论0

抢沙发发表评论

MongoDB 默认直接连接,无须身份验证,这样会很不安全。
1.创建最高权限用户
先切换到admin数据库
use admin
然后创建用户
db.createUser({user: "root",pwd: "root",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]})
这就创建了一个用户名为root,密码为root,对数据库admin拥有管理员权限的用户。
接下来按Ctrl+C退出MongoDB客户端。
2.重启MongoDB,以需要验证模式启动
在MongoDB服务端的窗口下使用Ctrl+C退出。
然后使用mongod --dbpath D:/data/db --auth命令来重新启动。
3.验证用户是不是可以登录
use admin
然后show collections查看是否能列出集合
4.认证用户
在admin数据库下使用db.auth("root", "root")进行认证。出现1就说明成功。
接下来再列出集合
5.对普通数据库创建普通用户
使用use fun创建一个普通的测试数据库。
使用下面代码创建一个普通用户:
db.createUser({user: "user",pwd: "user123",roles: [ { role: "readWrite", db: "fun" } ]})
这样就创建了一个用户名为user,密码user123,对fun数据库有读写权限的普通用户。
6.退出客户端,用普通用户验证
7.在命令行进入的时候就带入用户名和密码
客户端连接时,指定用户名,密码,db名称