MongoDB权限控制(6)[亲测有效]

MongoDB权限控制(6)[亲测有效]权限概述 在mongodb里面的用户是属于数据库的,每个数据库有自己的管理员,管理员登录后,只能操作所属的数据库。 注意:一般在admin数据库中创建的用户授予超级管理员权限,登录后可以操作任何的数据

MongoDB权限控制(6)

权限概述

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

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

MongoDB权限控制(6)[亲测有效]

创建超级管理员

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

(1)创建超级管理员

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

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

代码100分

MongoDB权限控制(6)[亲测有效]

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

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

代码100分#noauth=true
auth=true

(3)重启MongoDB服务

systemctl restart mongodb.service

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

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

MongoDB权限控制(6)[亲测有效]

本地连接:

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

MongoDB权限控制(6)[亲测有效]

远程连接:

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

给某个库创建普通管理员

我们以php库为例

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

MongoDB权限控制(6)[亲测有效]

登录操作

MongoDB权限控制(6)[亲测有效]

权限配置常用命令

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

show users

MongoDB权限控制(6)[亲测有效]

(2)删除用户

db.dropUser("用户名")

(3)修改用户密码

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

(4)密码认证

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

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

MongoDB权限控制(6)[亲测有效]

MongoDB数据库角色

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

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

(3)集群管理角色:clusterAdminclusterManagerclusterMonitorhostManager

(4)备份恢复角色:backuprestore

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

(6)超级用户角色:root

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/7096.html

(0)
上一篇 2023-03-27
下一篇 2023-03-27

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注