超级管理员
设置管理员密码
use admin
db.createUser({
user: 'admin',
pwd: '123456',
roles: [{
role: 'root',
db: 'admin'
}]
});
Successfully added user: {
"user" : "admin",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
]
}
show users;
{
"_id" : "admin.admin",
"userId" : UUID("93397630-0c36-476f-9c0f-3982da23e540"),
"user" : "admin",
"db" : "admin",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}
开启验证
1, 停止 MongoDB 2, 修改配置文件, 添加:
security:
authorization: enabled
3, 启动 MongoDB.
修改密码
use admin;
db.auth('admin', '123456');
1
db.changeUserPassword('admin', 'test123');
普通用户
我们除了可以设置数据库的超级管理员以外,还可以给每个数据库设置单独的管理员。其只有操作单独数据的一定权限
use fma;
db.createUser({
user: 'foobar',
pwd: 'VigWyBap]Rp_NNOKON1Ui7]3',
roles:[{
role: 'readWrite',
db: 'test'
}]
})
常用命令
show users // 查看当前库下的用户
db.dropUser('testadmin') // 删除用户
db.updateUser('admin', {pwd: '654321'}) // 修改用户密码
db.auth('admin', '654321') // 密码认证
MongoDB 数据库默认角色
- 数据库用户角色:read、readWrite
- 数据库管理角色:dbAdmin、dbOwner、userAdmin
- 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager
- 备份恢复角色:backup、restore
- 所有数据库角色: readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、 dbAdminAnyDatabase
- 超级用户角色:root
EOF