权限
增加安全举措
- 改变端口,不用 27017
- 内网使用
- 开启安全认证,启动时添加
--auth或配置项为auth: true
角色
| 角色 | 权限描述 |
|---|---|
| read | 可以读取指定数据库中任何数据 |
| readWrite | 可以读写指定数据库中任何数据,包括创建、重命名、删除集合。 |
| readnyDatabase | 可以读取所有数据库中任何数据(除了数据库 config 和 local 之外)。 |
| readWriteAnyatabase | 可以读写所有数据库中任何数据(除了数据库 config 和 local 之外)。 |
| userAdminAnyatabase | 可以在指定数据库创建和修改用户(除了数据库 config 和 local 之外)。 |
| dbAdminAnyDatabase | 可以读取任何数据库以及对数据库进行理、修改、压缩、获取统 计信息、执行检查等操作(除了数据库 config 和 local 之外) |
| dbAdmin | 可以读取指定据库以及对数据库进行清理、修改、压缩、获取统 计信息、执行检查等操作。 |
| userAdmin | 可以在指定数据库创建和修改用户。 |
| clusterAdmin | 可以对整个集群或数据库统进行管理操作。 |
| backup | 备份 MongoDB 数据最小的权限。 |
| restore | 从备文件中还原恢复 MongoDB 数据(除了 system.profile 集合)的权限。 |
| root | 超级账号,超级权限 |
查询角色权限
db.runCommand({ rolesInfo: 1 }); // 查询自定义角色db.runCommand({ rolesInfo: 1, showBuiltinRoles: true }); // 包含内置角色db.runCommand({ rolesInfo: "<rolename>" }); // 指定角色db.runCommand({ rolesInfo: { role: "<rolename>", db: "<database>" } }; // 查询其他数据库中指定角色创建用户
db.createUser({user:"myroot",pwd:"123456",roles:["root"]}); // 创建db.system.users.find();
db.changeUserPassword("myroot", "123456"); // 修改密码
db.auth("myroot","123456"); // 认证