#security:
#安全性:
# 开启授权认证
authorization:enabled
要去config文件打开security的 authorization: enabled 才生效
使用进阶 | 角色 | 关键字role | 释义 |
---|---|---|---|
/ | 内部角色 | system | |
最重要 | 超级用户角色 | root | 只在admin数据库中可用。超级账号,超级权限 |
/ | 备份恢复角色 | backup | |
/ | 备份恢复角色 | restore | |
/ | 集群管理角色 | clusterAdmin | 只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。 |
/ | 集群管理角色 | clusterManager | |
/ | 集群管理角色 | clusterMonitor | |
/ | 集群管理角色 | hostManager | |
/ | 数据库管理角色 | dbAdmin | 允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile |
/ | 数据库管理角色 | dbOwner | |
/ | 数据库管理角色 | userAdmin | 允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户 |
/ | 所有数据库用户角色 | readAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的读权限 |
/ | 所有数据库用户角色 | readWriteAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的读写权限 |
/ | 所有数据库用户角色 | userAdminAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的userAdmin权限 |
/ | 所有数据库用户角色 | dbAdminAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。 |
读写分离 | 数据库用户角色 | read | 允许用户读取指定数据库 |
最常用 | 数据库用户角色 | readWrite | 允许用户读写指定数据库 |
db.addUser("userName", "pwd123", roles[{
role
}])
分类 | 命令 | 释义 |
---|---|---|
认证 | db.auth("userName", "123123"); |
数据库认证、安全模式 |
查 | show users; |
显示当前所有用户 |
查 | db.system.users.find() |
显示当前所有用户 |
增 | db.addUser("name"); |
添加用户 |
增 | db.addUser("userName", "pwd123", true); |
添加用户、设置密码、是否只读 |
增 | db.createUser({user:"elastic",pwd:"xxxxxxxxxxxx",roles:[{role:"read",db:"你的数据库名"}]}); |
添加用户、设置密码、read只读 |
改 | db.changeUserPassword("userName","123"); |
改密码 |
删 | db.removeUser("userName"); |
删除用户 |
删 | db.dropUser("userName"); |
删除用户 |
use admin
db.createUser({user:"myroot",pwd:"123456",roles:['root']})
db.createUser({user:"myadmin",pwd:"123456",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})
role看上面的role表
db指的是对应的数据库,这里是admin用户库
db.createUser({user:"chuchu",pwd:"123456",roles:[{role:"readWrite",db:"你的数据库名"}]})
role看上面的role表
db指的是对应的数据库,这里是你的数据库名
使用show users;
命令,可以看到创建后的效果
可以看见最重要的信息:1:user用户名。2:roles是一个列表,指定对db_doc的readWrite读写功能。
还可以用账号密码登陆MongoDB Compass:
mongodb://chuchu:123456@localhost:27017/
登陆后只可以看见设置的数据库名,其他数据库admin、config、local都不可以看见