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

  • 相关阅读:
    Cannot change network to bridged: There are no un-bridged host network adapters解决方法
    The authenticity of host 192.168.0.xxx can't be established.
    Vm下 linux与windowsxp文件共享的方法
    vmware 下的linux的host only上网配置
    VMWare三种工作模式 :bridge、host-only、nat
    云技术入门指导:什么是云计算技术,云技术用什么语言开发
    什么是移动云计算
    云计算是什么
    架构之路
    这首诗看着是越看越顺眼,百赋乐其中
  • 原文地址:https://www.cnblogs.com/itbsl/p/13376193.html
Copyright © 2011-2022 走看看