• 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用户验证和权限管理

  • 相关阅读:
    异常:Unknown lifecycle phase "mvn". You must specify a valid lifecycle
    java中数的表示
    windows7 桌面突然卡住了,点击右键点不了,点击桌面软件点不了,怎么办?
    DJango错误日志生成
    drf框架接口文档
    drf框架中分页组件
    UVa10234 Race
    洛谷P2982 [USACO10FEB]慢下来Slowing down
    UVa10820 Send a Table
    POJ1861 Network
  • 原文地址:https://www.cnblogs.com/itbsl/p/13376193.html
Copyright © 2020-2023  润新知