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" }
- 解决root用户ssh配置无密码登陆/hadoop用户照仿可以实现相同功能:hadoop用户登录并且把命令的所有root换成home/hadoop
- django实现登录时候输入密码错误5次锁定用户十分钟
- mongodb 修改用户密码 2种方法
- HTTP 错误 500.19 - 无法使用虚拟目录密码作为用户 administrator 在本地登录到
- (十)用户管理模块(登录,注册,修改,重置密码MD5加密,时间戳+sql server 2014)
- Koa2用户注册生成密文密码及用户登录时生成token返回
- svn更改登录用户和密码
- 用户 'sa' 登录失败。原因: 该帐户的密码必须更改。
- android开发,以记住用户登录密码为例说明SharedPreferences的简单应用
- ssh 多用户免密码登录
- MySQL8 修改用户登录密码
- Centos6.5搭建vsftpd,并配置用户和密码登录
- ***** Windows网络用户登录密码的猜解 (VC++) *****
- 虚拟机root用户登录,输入密码没有问题,但是xshell登录,输入同样的密码就是不行
- 开机显示或不显示用户登录密码输入界面,不设置密码亦可显示
- linux(centos 7) 环境 mongodb 安装,配置,创建用户密码
- 新浪微博一处反射型XSS(可截获用户登录名及明文密码、可蠕虫、可刷关注)
- jquery.cookie.js实现用户登录保存密码功能的方法
- 用户登录记住密码
- ubuntu下的Samba配置:使每个用户可以用自己的用户名和密码登录自己的home目录