PHP mongodb 权限,MongoDB权限控制(6)

权限概述

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

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

3ab56b000ea2bc3f967f4ef0207a7c84.png

创建超级管理员

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

(1)创建超级管理员

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

use admin

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

16aceecf0e6fe1a7802707fc57732ac4.png

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

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

#noauth=true

auth=true

(3)重启MongoDB服务

systemctl restart mongodb.service

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

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

9d3fd6385b15a6a4eb3a769fe31a4e65.png

本地连接:

mongo 数据库名称 -u 用户名 -p 密码

示例:mongo admin -u root -p 123456

45ca6094e802ea0c82280bd3bc482223.png

远程连接:

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

给某个库创建普通管理员

我们以php库为例

use php

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

b0f1268a5dcd80cb7f1dca69ec5d4ea7.png

登录操作

b1e4b947059e91a09a367a696962cf0a.png

权限配置常用命令

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

show users

23c7645314f3fa6792e8444cf1470054.png

(2)删除用户

db.dropUser("用户名")

(3)修改用户密码

db.changeUserPassword(‘root‘,‘rootNew‘);

db.updateUser( "admin",{pwd:"password"});

(4)密码认证

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

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

80f9e9868edb6cb2b8a496c14bd8a350.png

MongoDB数据库角色

(1)数据库用户角色:read、readWrite

(2)数据库管理角色:dbadmin、dbOwner、userAdmin

(3)集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager

(4)备份恢复角色:backup、restore

(5)所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、 dbAdminAnyDatabase

(6)超级用户角色:root

原文:https://www.cnblogs.com/itbsl/p/13376193.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值