开启验证

需要在mongod.conf需要开启认证

  • 在启动的时候需要加入–auth开启认证
# 1在启动的时候需要加入--auth开启认证
mongod -f /etc/mongod.conf --auth
  • 配置文件里配置
security: 
  #开启授权认证
  authorization: enabled

创建用户:

db.createUser({user:"myroot",pwd:"123456",roles:[ { "role" : "root", "db" : "admin" } ]})
# 解释: 给用户名为myroot的用户设定密码为123456,角色是root,本权限只在admin库里面有用。
----------------------------------------------------------------------------
# 删除用户
db.dropUser("myadmin") 
# 查看用户
db.system.users.find()
# 修改密码 
db.changeUserPassword("myroot", "123456")
-----------------------------------------------------------------------------
# 切换到admin 
use admin 
# 验证
db.auth("myroot","123456")
# 创建普通用户
db.createUser({user: "xiaohua", pwd: "123456", roles: [{ role: "readWrite", db: "articledb" }]})
解释:给xiaohua用户设定密码为123456,用户权限为读和写,权限所在的数据库为articledb
注意这里:xioahua必须交进入到articledb下面才能验证。

springboot的验证配置

spring: 
  #数据源配置 
  data: 
    mongodb: 
    # 主机地址 #
    host: 180.76.159.126 
    # 数据库 # 
    database: articledb 
    # 默认端口是27017 # 
    port: 27017 
    #帐号 
    # username: bobo 
    #密码 
    # password: 123456
    #单机有认证的情况下,也使用字符串连接 
    uri: mongodb://bobo:123456@180.76.159.126:27017/articledb

集群情况下需要使用keyfile了

通过OpenSSL进行证书生成

openssl rand -base64 90 -out ./mongo.keyfile 
# 限制文件的读写权限 注意 必须要有读的权限,不然不能进行验证
chmod 400 ./mongo.keyfile 

将文件放置项目中,可以放在conf下,同一个机器中使用一个keyfile就行。

# 放在27017下
cp mongo.keyfile /mongodb/replica_sets/myrs_27017 

在配置文件中加入安全验证

security: 
  #KeyFile鉴权文件 
  keyFile: /mongodb/replica_sets/myrs_27017/mongo.keyfile 
  #开启认证方式运行 
  authorization: enabled

这样集群间的权限就配置好了,然后进入主节点生成用户即可。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐