MongoDB—— 安全认证
Posted 小志的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB—— 安全认证相关的知识,希望对你有一定的参考价值。
目录
一、创建管理员账号
#设置管理员用户名密码需要切换到admin库
use admin
#创建管理员
db.createUser(user:"xz",pwd:"xz",roles:["root"])
#查看所有用户信息
show users
二、常用权限
2.1、常用权限列表
常用权限 | 描述 |
---|---|
read | 允许用户读取指定数据库 |
readWrite | 允许用户读写指定数据库 |
dbAdmin | 允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile |
dbOwner | 允许用户在指定数据库中执行任意操作,增、删、改、查等 |
userAdmin | 允许用户向system.users集合写入,可以在指定数据库里创建、删除和管理用户 |
clusterAdmin | 只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限 |
readAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的读权限 |
readWriteAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的读写权限 |
userAdminAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的userAdmin权限 |
dbAdminAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限 |
root | 只在admin数据库中可用。超级账号,超级权限 |
2.2、用户认证示例
- 用户认证,返回1表示认证成功
2.3、删除用户示例
-
删除用户
db.dropUser("xz")
三、创建应用数据库用户
-
创建xzdb数据库及对应的用户名和密码
#创建xzdb数据库 use xzdb #创建xzdb数据库的用户名和密码 db.createUser(user:"xzuser",pwd:"xzpwd",roles:["dbOwner"])
-
用户认证,返回1表示认证成功
use xzdb db.auth("xzuser","xzpwd")
-
先关闭MongoDB服务
mongod --port=27017 --dbpath=/xz/mongodb/data --shutdown
-
再以鉴权模式启动MongoDB(默认情况下,MongoDB不会启用鉴权)
mongod -f /xz/mongodb/conf/mongo.conf --auth
-
启用鉴权之后,连接MongoDB的相关操作都需要提供身份认证
mongo -u xzuser -p xzpwd --authenticationDatabase=xzdb
以上是关于MongoDB—— 安全认证的主要内容,如果未能解决你的问题,请参考以下文章