也评于丹北大被哄事件 - 谁能分清楚小姐和丫鬟? 当前位置:首页>也评于丹北大被哄事件 - 谁能分清楚小姐和丫鬟?>正文

也评于丹北大被哄事件 - 谁能分清楚小姐和丫鬟?

发布时间:2019-03-24

原标题:MongoDB入门系列(四):权限管理

一、概述

本篇文章主要介绍如何创建用户和角色相关概念,同时对角色的添加和删除做了相关介绍。

 

版本:3.6.2

二、角色相关概念

1.数据库用户角色

read:该角色拥有数据的只读权限,系统集合以及system.indexes,system.js,system.namespaces集合除外。

readWrite:该角色拥有对应数据库的读写权限,系统集合和system.js集合除外。

2.数据库管理角色

dbAdmin:该角色拥有指定数据库数据库管理权限,包括 system.indexes, system.namespaces, system.profile集合的操作权限。该角色不拥有所有非系统集合的读权限。

dbOwner:该角色拥有指定数据库的所有权限,该角色包括:readWrite、dbAdmin、userAdmin。

userAdmin:该角色拥有指定数据库用户和角色的管理权限。包括创建用户等。

3.群集管理角色

clusterAdmin:该角色拥有群集的所有权限。该角色包含clusterManager,clusterMonitor,hostManager 角色权限。同时还要删除数据库的权限。

clusterManager:该角色拥有群集的管理和监控权限,包括对local、config数据库的访问权限。同时该角色拥有分片和复制集的管理权限。

clusterMonitor:该角色拥有群集的监控权限。

hostManager:该角色拥有群集的监控和服务管理权限。

注意:这些角色只能在Admin数据库下创建

4.备份还原角色

backup:该角色拥有备份数据的权限。

restore:该角色拥有还原备份数据的权限。

注意:这些角色只能在Admin数据库下创建

5.所有数据库角色

该分类下面的角色权限和数据库角色权限一样,区别在于它拥有的是所有数据库的权限而不是指定数据库下的权限。但是不拥有system.*相关集合、local、config数据库的权限。

readAnyDatabase

readWriteAnyDatabase

userAdminAnyDatabase

dbAdminAnyDatabase

注意:这些角色只能在Admin数据库下创建

6.超级权限角色

root:该角色拥有所有权限,该角色包含readWriteAnyDatabase, dbAdminAnyDatabase, userAdminAnyDatabase, clusterAdmin roles, restore, and backup角色。

注意:该角色只能在创建在Admin库中

7.内部角色 

__system:该角色为系统内部角色,比如复制集成员、mongos使用。

三、创建用户

1.创建用户

在admin中创建root角色用户

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

2.删除用户

use admin;

db.system.users.remove({"user":"root","db":"admin"})

注意:创建和删除用户都要在对应的数据库下。

四、向用户添加和删除角色

1.创建只读用户

切换到test数据库下创建read角色用户

use test

db.createUser(
{
    user:"test",
    pwd:"test",
    roles:[{role:"read",db:"test"}     
        ]
}
);

2.验证权限

提示没有权限插入集合。

3.添加角色权限

use admin

---需要切换到root角色用户才能修改system相关的集合
db.auth("dba","dba")

db.system.users.update(
{"user":"test","db":"test"},
{$push:{"roles":{"role":"readWrite","db":"test"}}}
);

注意:用户数据库权限虽然是在用户数据库创建,但是所有的用户信息都存储在admin数据库下的system.users集合中。

 

再次使用test用户执行插入测试

已经测试成功

4.删除角色权限

---切换到admin库
use admin;
---验证权限
db.auth("dba","dba")
---更新用户表,删除test用户readWrite角色
db.system.users.update(
{"user":"test","db":"test"},
{$pull:{"roles":{"role":"readWrite"}}}
);

test用户readWrite角色已删除

 

 

 

 

 

备注:

    作者:pursuer.chen

    博客:http://www.cnblogs.com/chenmh

本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接,否则保留追究责任的权利。

《欢迎交流讨论》

 

当前文章:http://aluminumalloyformwork.com/forum.php?mod=viewthread&tid=84678

发布时间:2019-03-24 04:41:06

一个没带手机的下午,我是这样度过的 杨绛:什么是好的婚姻 24个细节深度解读《美人鱼》 美色--你是哪种,你喜欢哪种 易经大师罗李华浅谈艺名 琅琊榜为什么那么火? 我好不好看,关你啥事 相亲40多次,为何总找不到“感觉”? 换了“京六”油对车会有什么影响? 欧美同学会是干什么的?

12082 87318 98458 77118 84826 85366 73782 52793 28985 23577 24206 74176 10461 63027 10639 78387 68315 32733 62800 34067 70877 22856 62243

责任编辑:纯陵侯

随机推荐