MongoDB—— 安全认证

x33g5p2x  于2022-04-11 转载在 其他  
字(1.1k)|赞(0)|评价(0)|浏览(245)

一、创建管理员账号

#设置管理员用户名密码需要切换到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

相关文章