zoukankan      html  css  js  c++  java
  • MongoDB权限控制(6)

    权限概述

    在mongodb里面的用户是属于数据库的,每个数据库有自己的管理员,管理员登录后,只能操作所属的数据库。

    注意:一般在admin数据库中创建的用户授予超级管理员权限,登录后可以操作任何的数据库。

    创建超级管理员

    注意:在开启权限管理控制时,一定先要创建一个超级管理员授予超级管理权限。

    (1)创建超级管理员

    登录mongodb的客户端,使用如下命令

    use admin
    db.createUser({user:'root',pwd:'123456',roles:[{role:'root',db:'admin'}]})
    

    (2)修改MongoDB数据库配置文件

    修改mongodb.conf文件,将noauth改为auth

    #noauth=true
    auth=true
    

    (3)重启MongoDB服务

    systemctl restart mongodb.service
    

    (4)超级账户账号连接数据库

    如果没有输入密码,进入MongoDB的客户端,进行操作,会报如下错误提示

    本地连接:

    mongo 数据库名称 -u 用户名 -p 密码
    示例:mongo admin -u root -p 123456
    

    远程连接:

    mongo IP地址:端口/数据库名称 -u 用户名 -p 密码
    

    给某个库创建普通管理员

    我们以php库为例

    use php
    db.createUser({user:"php",pwd:"123456",roles: [{role:"dbOwner",db:"php"}]})
    

    登录操作

    权限配置常用命令

    (1)查看当前库下的用户

    show users
    

    (2)删除用户

    db.dropUser("用户名")
    

    (3)修改用户密码

    db.changeUserPassword('root','rootNew');
    db.updateUser( "admin",{pwd:"password"}); 
    

    (4)密码认证

    db.auth("用户名","密码")
    

    前面我们是在mongo后面直接指定了用户名和密码,我们也可以在使用了mongo命令后再进行认证

    MongoDB数据库角色

    (1)数据库用户角色:readreadWrite

    (2)数据库管理角色:dbadmindbOwneruserAdmin

    (3)集群管理角色:clusterAdminclusterManagerclusterMonitorhostManager

    (4)备份恢复角色:backuprestore

    (5)所有数据库角色:readAnyDatabasereadWriteAnyDatabaseuserAdminAnyDatabasedbAdminAnyDatabase

    (6)超级用户角色:root

    推荐阅读:MongoDB用户验证和权限管理

  • 相关阅读:
    5 个非常实用的 vs 调试技巧
    神秘的 _DEBUG 宏从何处来?
    调试实战 —— dll 加载失败之 Debug Release 争锋篇
    Python 基础 —— 字符串 方法
    linux shell的一些技巧
    salt 一些state模块函数的使用方法记录
    salt 添加iptables的sls例子
    linux 内置函数 操作
    zabbix 自动发现 自动添加主机
    zabbix 触发器 的表达式函数
  • 原文地址:https://www.cnblogs.com/itbsl/p/13376193.html
Copyright © 2011-2022 走看看