Mongodb 基础权限配置

 

为了不让非主营业务浪费时间,我记录一下在权限配置方面,应为没搞清楚,遇到的常规问题。

第一,官方文档始终是学习新东西最好的开端:https://docs.mongodb.com/manual/core/authorization/

  

起因:我在centos服务器上连接了mongo客户端,按照sqlserver的经验,本地登录,应该具有最高权限,但实际上并不是。于是就被“经验之谈”打了一巴掌。

 

以下,为了节约阅读时间,就直接简单说明+代码了。

对于Mongodb的权限控制,总体结构和Sqlserver和Mysql是一样的,都有系统角色的概念。常用的系统角色如下:

(详细内容,见官网:https://docs.mongodb.com/manual/core/security-built-in-roles/)

1,root

  和Mysql中的root一样,具有最高的权限。

2,dbOwner

  拥有数据库的所有权限。

3,userAdmin

  该拥有该角色的用户,必须在adminCollection在创建。拥有操作用户权限的权利。

4,read

  只读账号,无法修改数据

 

为了初期操作方便,一切从简。建议创建以下角色的用户:

一个root,为了方便后期操作数据库;

一个dbOwner,用于程序开发使用;

一个userAdmin,用于修改用户权限;

一个read,只读账号,为了安全,把查询和更新操作分开。

 

基础命令:

创建脚本

use admin
db.createUser(
  {
    user: "username",
    pwd: "password",
    roles: [

        {

          role: "root",

          db: "admin"  

        }

    ]
  }
)

其他几种权限创建方法均可参考次语句

 

创建完成之后,即可用:

mongo host:port/databaseName -u username

 然后按照提示,输入密码就能登陆相应的用户了。

posted on 2018-05-27 02:24  Thancoo  阅读(275)  评论(0编辑  收藏  举报

导航