一.mongo开启用户验证
/usr/bin/mongod --config /etc/mongodb.conf --auth
二.mongo用户认证登录
## admin用户
use admin
db.auth('root', 'password')
## 普通用户
use normaluser
db.auth('normaluser', 'password')
三.添加用户
2.4之前版本
## MongoDB shell version: 2.3.*
## 读写权限
db.addUser("username", "password")
## 只读权限
db.addUser("username", "password", true)
2.4之后版本
## MongoDB shell version: 2.4.*
## admin用户
use admin
db.addUser({
user:'root',
pwd:'password',
roles:[
"readWrite", ## admin数据库的读写权限
"dbAdmin", ## admin数据库的管理权限
"userAdmin"], ## admin数据库的用户管理权限
otherDBRoles:{
youdb:[
"readWrite", ## youdb数据库的读写权限
"dbAdmin", ## youdb数据库的管理权限
"userAdmin" ## youdb数据库的用户管理权限
]}
})
## 普通用户
use normaluser
## 读写权限
db.addUser({user:'normaluser',pwd:'password',roles:["readWrite"])
## 只读权限
db.addUser({user:'normaluser',pwd:'password',roles:["read"])
2.6之后版本
## MongoDB shell version: 2.6.*
## admin用户
use admin
db.createUser({
user:'root',
pwd:'password',
roles:[
{
role:"dbAdminAnyDatabase",
db:"admin"
},
{
role:"userAdminAnyDatabase", ## 任意数据库的用户管理权限
db:"admin"
},
{
role:"userAdmin", ## youdb数据库的用户管理权限
db:"youdb"
},
{
role:"readWrite", ## youdb数据库的读写权限
db:"youdb"
}]
})
## 普通用户
use normaluser
db.addUser({
user:'normaluser',
pwd:'password',
roles:[
{
role:"read", ## youdb数据库的只读权限
db:"youdb"
},{
role:"readWrite", ## youdb数据库的读写权限
db:"youdb"
}]
})
3.0之后版本
## MongoDB shell version: 3.2.*
## admin用户
use admin
db.createUser({
user:'root',
pwd:'password',
roles:[
{
role:"dbAdminAnyDatabase",
db:"admin"
},
{
role:"readWriteAnyDatabase", ## 任意数据库的读写权限
db:"admin"
},
{
role:"userAdmin", ## youdb数据库的用户管理权限
db:"youdb"
},
{
role:"readWrite", ## youdb数据库的读写权限
db:"youdb"
}]
})
## 普通用户
use normaluser
db.addUser({
user:'normaluser',
pwd:'password',
roles:[
{
role:"read", ## youdb数据库的只读权限
db:"youdb"
},{
role:"readWrite", ## youdb数据库的读写权限
db:"youdb"
}]
})