MongoDB 用户管理
在 MongoDB 里面默认情况下只要是进行连接都可以不使用用户名与密码。但是出于安全性的考虑,我们都需要设置用于名和密码。
特殊说明:
有一点特别需要注意:账号是跟着库走的,所以在指定库里授权,必须也在指定库里验证(auth)。
第一步
创建管理员并且设置密码
// 必须先切换到指定的库
use admin;
// 创建用户与密码 userAdminAnyDatabase 这个只具有管理用户的权限,不具有增删改操作权限
db.createUser(
{
user: "admin",
pwd: "abc123",
roles: [{ role: "userAdminAnyDatabase", db: "admin" } ]
}
);
参数说明:
- user:用户名
- pwd:密码
- roles:指定用户的角色,可以用一个空数组给新用户设定空角色;在roles字段,可以指定内置角色和用户定义的角色
第二步
修改 MongoDB 的配置文件( 在安装目录/bin )
security:
authorization: enabled #注意缩进,参照其他的值来改,若是缩进不对可能导致后面服务不能重启
第三步
重启 MongoDB 服务
第四步
验证登录
不输入密码操作
验证密码操作
db.auth("用户名","密码");
db.auth("admin", "abc123");
其他操作
修改用户密码
db.changeUserPassword("admin", "admin");
查看用户
db.auth("admin", "admin");
删除用户
db.dropUser("admin")
官方文档
开启验证:https://docs.mongodb.com/manual/tutorial/enable-authentication/
各种角色说明:https://docs.mongodb.com/manual/core/security-built-in-roles/
详细说明:http://www.cnblogs.com/zhoujinyi/p/4610050.html
所有的角色:https://blog.csdn.net/m0_37867491/article/details/87883947