MongoDB用户和密码登录
程序员文章站
2022-03-22 12:53:40
一、MongoDB中内置角色 二、创建管理员用户 创建管理员 连接mongodb 创建管理员账号:myUserAdmin 密码:abc123 查看创建的管理员账号 重启MongoDB实例 连接MongoDB 1、类似Mysql一样连接 结果: 2、登录后进行验证 连接mongodb 进行验证 三、创 ......
一、mongodb中内置角色
角色 | 介绍 |
read | 提供读取所有非系统的集合(数据库) |
readwrite | 提供读写所有非系统的集合(数据库)和读取所有角色的所有权限 |
dbadmin | 提供执行管理任务的功能,例如与架构相关的任务,索引编制,收集统计信息。此角色不授予用户和角色管理权限。 |
dbowner | 提供对数据库执行任何管理操作的功能。此角色组合了readwrite,dbadmin和useradmin角色授予的权限。 |
useradmin | 提供在当前数据库上创建和修改角色和用户的功能。由于useradmin角色允许用户向任何用户(包括他们自己)授予任何权限,因此该角色还间接提供对数据库的超级用户访问权限,或者,如果作用于管理数据库,则提供对群集的访问权限。 |
clusteradmin | 提供最佳的集群管理访问。此角色组合了clustermanager,clustermonitor和hostmanager角色授予的权限。此外,该角色还提供了dropdatabase操作。 |
readanydatabase | 仅在admin 数据库中使用,提供所有数据库的读权限。 |
readwriteanydatabase | 尽在admin 数据库中使用,提供所有数据库的读写权限 |
useradminanydatabase | 尽在admin 数据库中使用,提供与useradmin相同的用户管理操作访问权限,允许用户向任何用户(包括他们自己)授予任何权限,因此该角色还间接提供超级用户访问权限。 |
dbadminanydatabase | 仅在admin 数据库中使用,提供与dbadmin相同的数据库管理操作访问权限,该角色还在整个群集上提供listdatabases操作。 |
root | 尽在admin 数据库中使用,提供超级权限 |
二、创建管理员用户
创建管理员
连接mongodb
mongo --host 10.10.18.11
use admin db.createuser( { user: "myuseradmin", pwd: "abc123", roles: [ { role: "useradminanydatabase", db: "admin" }, "readwriteanydatabase" ] } )
创建管理员账号:myuseradmin 密码:abc123
查看创建的管理员账号
use admin
db.getuser("myuseradmin")
重启mongodb实例
连接mongodb
1、类似mysql一样连接
mongo --host 10.10.18.11 -u "myuseradmin" --authenticationdatabase "admin" -p'abc123'
结果:
1 mongodb shell version v4.0.10 2 connecting to: mongodb://10.10.18.11:27017/?authsource=admin&gssapiservicename=mongodb 3 implicit session: session { "id" : uuid("3b067347-1b0e-4761-9399-cb3ad4ba6c93") } 4 mongodb server version: 4.0.10
2、登录后进行验证
连接mongodb
mongo --host 10.10.18.11
进行验证
rs0:primary> use admin switched to db admin rs0:primary> db.auth("myuseradmin", "abc123" ) 1
三、创建普通用户
创建一个普通用户
用户名:mytester
密码:xyz123
权限:读写数据库 test, 只读数据库 reporting。
use test db.createuser( { user: "mytester", pwd: "xyz123", roles: [ { role: "readwrite", db: "test" }, { role: "read", db: "reporting" } ] } )
普通用户连接mongodb实例
mongo --host 10.10.18.11 -u "mytester" --authenticationdatabase "test" -p'xyz123'
结果:
1 mongodb shell version v4.0.10 2 connecting to: mongodb://10.10.18.11:27017/?authsource=test&gssapiservicename=mongodb 3 implicit session: session { "id" : uuid("3e9011ee-729f-4112-acd1-f5d1515490ac") } 4 mongodb server version: 4.0.10
验证权限
在test集合中插入、查询数据
rs0:primary> db.test.insertone({name:"sue",age:19,status:'p'}) { "acknowledged" : true, "insertedid" : objectid("5d00b364a75d40ae9b83c64c") } rs0:primary> db.test.find({name:"sue"}) { "_id" : objectid("5d00b364a75d40ae9b83c64c"), "name" : "sue", "age" : 19, "status" : "p" }
上一篇: MYSQL的全局变量和会话变量
下一篇: 爱码小士丨代码一敲十年,收入虽高前途摇摆
推荐阅读
-
打开QQ并且让它自己输入用户名和密码的vbs脚本
-
Python 3 简易用户登录系统,输错三次密码锁定账号
-
php 利用cookie实现网页记住用户名和密码的功能
-
PHP用户登录以后session和Cooike的有关问题
-
php同时使用session和cookie来保存用户登录信息的实现代码
-
php+MySQL实现登录时验证登录名和密码是否正确
-
ASP.NET MVC5网站开发用户修改资料和密码(六)
-
Android SharedPreferences实现记住密码和自动登录界面
-
在jsp中用bean和servlet联合实现用户注册、登录
-
Android SharedPreferences实现记住密码和自动登录界面