mongoDB之创建用户与认证模式启动

文章目录

[隐藏]

  • mongoDB创建用户
    • 创建用户
    • 创建管理员账号
    • 手动以认证模式启动
    • 默认通过认证模式启动
mongoDB创建用户

不管是mongoDB还是MySQL,我们往往都需要创建用户来保证安全性,在这里对这方面内容做一个简单的总结~

创建用户

创建用户有帮助增加数据库安全的作用,在mongoDB中需要下列步骤

  1. 创建管理员
  2. 授权认证
  3. 给使用的数据库添加用户

在shell中执行以下操作

sudo service mongod start         # 启动mongod  mongo                             # 以非授权的方式启动  

这时我们可以访问到任意一个不需要认证的数据库(比如我们用一个可视化客户端打开)

如果使用授权方式启动mongoDB,而我们不去登录的话我们也是无法使用的,所以我们要先创建一个管理员账号

创建管理员账号

首先非授权方式启动我们的mongoDB

> use admin # 创建admin数据库  > db.createUser({user:"admin",pwd:"admin",roles:["root"]}) # 创建一个用户名为admin,密码为admin,身份为管理员的User  > db.auth("admin","admin") # 进行认证  1       # 显示1,认证成功  

这样,我们的数据库就有了自己的管理员
下面我们为创建一个有用户的db

> use demo1 # 切换数据库  switched to db demo1     # 创建一个用户名为demo1user,密码为demo1,身份为数据库用户,拥有demo1的User  > db.createUser({user:"demo1user",pwd:"demo1",roles:[{role:"dbOwner",db:"demo1"}]})  Successfully added user: {      "user" : "demo1user",      "roles" : [          {              "role" : "dbOwner",              "db" : "demo1"          }      ]  }  

手动以认证模式启动

经过我的尝试,我发现以认证方式启动mongd的方式有很多,我选择一种我比较喜欢的列在下面:
在安装mongoDB之后,如果是使用和我一样的方式安装的,那么将会自动生成一个配置文件,位于/etc/mongod.conf,我们也可以用这样的方式启动mongod

sudo mongod -f /etc/mongod.conf --auth # 认证模式启动  sudo mongod -f /etc/mongod.conf  # 非认证模式启动  

默认通过认证模式启动

一切脱离版本的配置都是耍流氓
如果不想每次都带上–auth参数的haunted,我们可以在配置文件中修改,也就是对/etc/mongod.conf进行修改,我们以官网文档为准https://docs.mongodb.com/manual/reference/configuration-options/

关于用户认证方面的配置,点击上面的security仔细阅读一下

下面贴上我的配置文件片段(最后两行就是默认以用户认证方式启动)

# mongod.conf    # for documentation of all options, see:  #   http://docs.mongodb.org/manual/reference/configuration-options/    # Where and how to store data.  storage:    dbPath: /var/lib/mongodb    journal:      enabled: true  #  engine:  #  mmapv1:  #  wiredTiger:    # where to write logging data.  systemLog:    destination: file    logAppend: true    path: /var/log/mongodb/mongod.log    # network interfaces  net:    port: 27017    bindIp: 127.0.0.1      # how the process runs  processManagement:    timeZoneInfo: /usr/share/zoneinfo    security:    authorization: enabled  

如此一来,不管是sudo mongod -f /etc/mongod.conf还是sudo service mongod start都是以认证模式启动的了。

原文出处:csdn -> https://blog.csdn.net/github_39457740/article/details/84076610

本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如果侵犯你的利益,请发送邮箱到 [email protected],我们会很快的为您处理。