Mongodb 基础权限配置
为了不让非主营业务浪费时间,我记录一下在权限配置方面,应为没搞清楚,遇到的常规问题。
第一,官方文档始终是学习新东西最好的开端:https://docs.mongodb.com/manual/core/authorization/
起因:我在centos服务器上连接了mongo客户端,按照sqlserver的经验,本地登录,应该具有最高权限,但实际上并不是。于是就被“经验之谈”打了一巴掌。
以下,为了节约阅读时间,就直接简单说明+代码了。
对于Mongodb的权限控制,总体结构和Sqlserver和Mysql是一样的,都有系统角色的概念。常用的系统角色如下:
(详细内容,见官网:https://docs.mongodb.com/manual/core/security-built-in-roles/)
1,root
和Mysql中的root一样,具有最高的权限。
2,dbOwner
拥有数据库的所有权限。
3,userAdmin
该拥有该角色的用户,必须在adminCollection在创建。拥有操作用户权限的权利。
4,read
只读账号,无法修改数据
为了初期操作方便,一切从简。建议创建以下角色的用户:
一个root,为了方便后期操作数据库;
一个dbOwner,用于程序开发使用;
一个userAdmin,用于修改用户权限;
一个read,只读账号,为了安全,把查询和更新操作分开。
基础命令:
创建脚本
use admin
db.createUser(
{
user: "username",
pwd: "password",
roles: [
{
role: "root",
db: "admin"
}
]
}
)
其他几种权限创建方法均可参考次语句
创建完成之后,即可用:
mongo host:port/databaseName -u username
然后按照提示,输入密码就能登陆相应的用户了。