当前位置: 萬仟网 > IT编程>数据库>MongoDB > MongoDB4.28开启权限认证配置用户密码登录功能

MongoDB4.28开启权限认证配置用户密码登录功能

2022年01月12日 MongoDB 我要评论
目录1、查看是否开启认证登录2、开启用户名和密码认证(创建用户均需进入admin数据库)2.1、为admin数据库创建管理员账号2.2、为数据库mytest创建普通用户2.3、配置文件开启用户名密码认

mongodb默认不启用授权认证,只要能连接到该服务器,就可连接到mongod。若要启用安全认证,需要更改配置文件mongdb.conf中的参数auth。

mongodb的用户是跟数据库相关联的,具体的数据库,需要有对应的用户,超级管理员也不能操作其他数据库的。

mongodb存储所有的用户信息在admin 数据库的集合system.users中,保存用户名、密码和数据库信息。

mongodb开启权限认证:配置用户名和密码认证登录,操作步骤:

1、查看是否开启认证登录

$cd /usr/local/mongodb/bin
$cat mongodb.conf

#数据文件存放目录
dbpath = /usr/local/mongodb/data
#日志文件存放目录
logpath = /usr/local/mongodb/logs/mongodb.log
logappend=true
#端口
port = 27017
#以守护程序的方式启用,即在后台运行
fork = true
#认证模式(true代表开启认证登录,false代表未开启认证登录)
auth=false   
#远程连接
bind_ip=0.0.0.0

2、开启用户名和密码认证(创建用户均需进入admin数据库)

2.1、为admin数据库创建管理员账号

1、数据库admin创建管理员账号

[root@hadoop-master bin]# mongo
> use admin
> db.createuser({user:"root",pwd:"lianshi",roles:["root"]})

2、查看目前用户

> show users

2.2、为数据库mytest创建普通用户

1、给数据库mytest创建cg用户

>use mytest
> db.createuser({user:"cg",pwd:"lianshi",roles:[{role:"readwrite",db:"mytest"}]})

2、查看目前用户

> show users
>db.system.users.find()命令可以查看新创建的用户

2.3、配置文件开启用户名密码认证

#认证模式(true代表开启认证登录,false代表未开启认证登录)
auth=true

3、重启mongo服务

[root@hadoop-master bin]# ps -ef |grep mongo
[root@hadoop-master bin]# kill -9 15231
$./mongod -f mongodb.conf

4、mongo授权访问

4.1、admin数据库授权登录

1、mongo访问

[root@hadoop-master bin]# mongo
> use admin
switched to db admin
> show users
2020-06-21t20:14:59.735+0800 e  query    [js] uncaught exception: error: command usersinfo requires authentication :
_geterrorwithcode@src/mongo/shell/utils.js:25:13
db.prototype.getusers@src/mongo/shell/db.js:1638:15
shellhelper.show@src/mongo/shell/utils.js:883:9
shellhelper@src/mongo/shell/utils.js:790:15
@(shellhelp2):1:1 -->授权配置并重启后,此时查看用户,会发现没有权限

2、用用户和密码登录

> db.auth("root","lianshi")

--->使用db.auth(“root”,”lianshi”)启用auth认证,看到返回的值为1,这就表示启动成功了,然后我们再使用命令查看用户和数据库。

4.1、mytest数据库授权登录

1、mongo访问

> use mytest;
switched to db mytest
> show users
2020-06-21t21:25:41.293+0800 e  query    [js] uncaught exception: error: command usersinfo requires authentication :
_geterrorwithcode@src/mongo/shell/utils.js:25:13
db.prototype.getusers@src/mongo/shell/db.js:1638:15
shellhelper.show@src/mongo/shell/utils.js:883:9
shellhelper@src/mongo/shell/utils.js:790:15
@(shellhelp2):1:1 --->报错没有权限

2、用户和密码登录用户

> db.auth("cg","lianshi");

使用db.auth(“cg”,”lianshi”)启用auth认证,看到返回的值为1,这就表示启动成功了,然后我们再使用命令查看用户和数据库。

> show dbs
mytest  0.000gb
>  db.student.insert({"id":"2","name":"yxy"})
writeresult({ "ninserted" : 1 })

其他用户命令:

1、创建普通用户(创建用户cg,对mytest数据库读写权限)

> db.createuser({user:"cg",pwd:"lianshi",roles:[{role:"readwrite",db:"mytest"}]})

2、删除用户>db.dropuser("yonghu")

3、修改用户密码

db.updateuser("cg",{pwd:"123456"})

4、进入数据mytest,用户名密码认证

> db.auth("cg","lianshi");

5、客户端工具授权登录连接mongo数据库

用户名和密码连接数据库

到此这篇关于mongodb4.28开启权限认证配置用户密码登录功能的文章就介绍到这了,更多相关mongodb权限认证登录内容请搜索萬仟网以前的文章或继续浏览下面的相关文章希望大家以后多多支持萬仟网!

(0)
打赏 微信扫一扫 微信扫一扫

相关文章:

  • 极米&哈曼卡顿低音炮评测 影院级影音体验

    智能投影和音响品牌的合作,极米是最早践行的品牌之一。早在2015年6月发布z4x时,极米就与哈曼卡顿展开了合作。而这种珠联璧合的效应迅速在投影圈内发酵,目前主流智能投影几乎都在寻找…

    2022年01月12日 办公
  • MongoDB的常用命令汇总(Mongo4.2.8)

    MongoDB的常用命令汇总(Mongo4.2.8)

    目录一、数据库相关二、用户相关三、集合collection相关一、数据库相关1.切换/创建数据库>use “dbname”;2.查询所有数据库> s... [阅读全文]
  • NGINX 权限控制文件预览和下载的实现原理

    NGINX 权限控制文件预览和下载的实现原理

    目录一、实现原理二、实现步骤1. nginx配置2. java springboot 后台权限验证2.1 权限校验文件下载2.2 权限校验文件预览三、扩展功能1... [阅读全文]
  • 华为MateBook X Pro 2021款和苹果MacBook Air哪款更值得入手

    轻薄笔记本电脑发展到现在,其性能不光能够满足日常的办公,并且还能够胜任一定的后期剪辑工作,并且轻薄笔记本电脑的机身小巧轻便,在便携性方面的表现更加优秀,受到无数都市白领的青睐,方便…

    2022年01月12日 操作系统
  • Python OpenCV学习之图像形态学

    目录背景一、图像二值化二、自适应阈值三、腐蚀四、卷积核获取五、膨胀六、开运算七、闭运算八、形态学梯度九、顶帽运算十、黑帽运算总结背景形态学处理方法是基于对二进制图像进行处理的,卷积…

    2022年01月12日 脚本编程

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2022  萬仟网 保留所有权利. 粤ICP备17035492号-1
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com