-
Recent Comments
-
Boinc
Monthly Archives: November 2015
mongodb用户和权限管理
mongodb官方文档已经对用户和权限管理有详细的描述,本文尝试以另一角度来对其做出说明。 由于没在集群上做过测试,集群部分就不写了。 启用用户验证: mongod添加–auth启动参数 (或) 配置文件中配置 security.authorization: enabled 角色: 一个用户可以有多个角色 read: 读 readWrite: 读写 userAdmin: 用户管理 dbAdmin: 数据库管理 dbOwner: 读写、用户管理、数据库管理 认证源: 每个数据库都可以做为认证源。不同认证源创建的用户可以同名。用户内部的名称为: “$认证源.$用户名”。 认证源内的用户可以拥有针对对其它数据库的角色。 mongo shell中,以当前使用的数据库作为认证源。 通过连接字符串连接时,可能需要通过查询参数指定认证源。 admin数据库: 当前示例的所有用户都保存在admin数据库的system.users集合内。 admin的用户可拥有四个对实例内所有数据库都有效的特殊权限: readAnyDatabase readWriteAnyDatabase userAdminAnyDatabase userAdminAnyDatabase 超级用户: 一个拥有admin的用户管理角色的用户即为超级用户。超级用户可以为自身或其它用户赋予任何角色。 本地例外: 如果实例开启了用户验证,却还没创建管理角色用户,可以通过本地例外机制创建一个。 通过localhost连接到实例,不过验证,在admin数据库中,创建一个管理角色用户。这个新创建的用户,应当是一个超级用户。 一种更理想的方式:关闭用户认证重启实例,想干吗干吗…… … Continue reading