db版本2.6.4
系统内建角色如下
Database User Roles:
read
readWrite
Database Administration Roles:
dbAdmin
dbOwner
userAdmin
Cluster Administration Roles:
clusterAmin
clusterManager
clusterMonitor
hostManager
Backup and Restoration Roles:
backup
restore
All-Database Roles: (只能授予给admin数据库的用户)
readAnyDatabase
readWriteAnyDatabase
userAdminAnyDatabase
dbAdminAnyDatabase
Superuser Roles:
root
详细请参考 http://docs.mongodb.org/manual/reference/built-in-roles/
不需要用户认证即可对数据库做任何操作的情况:
1.数据库没有以--auth方式启动
2.数据库以--auth启动,但admin数据库里的system.users里为空
1.创建用户
{
user: "root",
pwd: "redhat",
roles:
[
{
role: "dbAdmin",
db: "test"
},
{
role: "dbAdminAnyDatabase",
db: "admin"
}, "dbOwner" //这个dbOwner的角色会自动关联到admin数据库
]
}
)
用户创建好之后就可以登录了
mongo --port 27017 -u root -p redhat --authenticationDatabase admin
2.查看用户信息及关联的角色
db.getUser("root")
db.getUsers()
3.查看用户权限
db.runCommand(
{
usersInfo:"root",
showPrivileges:true
}
)
4.修改用户密码
db.changeUserPassword("root", "111111")
或者
db.updateUser(
"root",
{
pwd: "222222",
customData: { title: "user test" },
// roles: [ {role: "dbOwner", db: "admin"}] //如果希望替换掉之前的角色信息 可以这样写
}
)
5.收回用户角色的授权
db.revokeRolesFromUser("root",
[
{role: "dbAdminAnyDatabase",
db :"admin"}
]
)
6.给用户授予角色
db.grantRolesToUser(
"root",
[
{ role: "userAdminAnyDatabase", db: "admin" },{role: "dbAdminAnyDatabase", db: "admin"}
]
)
7.删除用户
db.dropUser("root")
db.dropAllUsers()
系统内建角色如下
Database User Roles:
read
readWrite
Database Administration Roles:
dbAdmin
dbOwner
userAdmin
Cluster Administration Roles:
clusterAmin
clusterManager
clusterMonitor
hostManager
Backup and Restoration Roles:
backup
restore
All-Database Roles: (只能授予给admin数据库的用户)
readAnyDatabase
readWriteAnyDatabase
userAdminAnyDatabase
dbAdminAnyDatabase
Superuser Roles:
root
详细请参考 http://docs.mongodb.org/manual/reference/built-in-roles/
不需要用户认证即可对数据库做任何操作的情况:
1.数据库没有以--auth方式启动
2.数据库以--auth启动,但admin数据库里的system.users里为空
1.创建用户
use admin
db.createUser({
user: "root",
pwd: "redhat",
roles:
[
{
role: "dbAdmin",
db: "test"
},
{
role: "dbAdminAnyDatabase",
db: "admin"
}, "dbOwner" //这个dbOwner的角色会自动关联到admin数据库
]
}
)
用户创建好之后就可以登录了
mongo --port 27017 -u root -p redhat --authenticationDatabase admin
2.查看用户信息及关联的角色
db.getUser("root")
db.getUsers()
3.查看用户权限
db.runCommand(
{
usersInfo:"root",
showPrivileges:true
}
)
4.修改用户密码
db.changeUserPassword("root", "111111")
或者
db.updateUser(
"root",
{
pwd: "222222",
customData: { title: "user test" },
// roles: [ {role: "dbOwner", db: "admin"}] //如果希望替换掉之前的角色信息 可以这样写
}
)
5.收回用户角色的授权
db.revokeRolesFromUser("root",
[
{role: "dbAdminAnyDatabase",
db :"admin"}
]
)
6.给用户授予角色
db.grantRolesToUser(
"root",
[
{ role: "userAdminAnyDatabase", db: "admin" },{role: "dbAdminAnyDatabase", db: "admin"}
]
)
7.删除用户
db.dropUser("root")
db.dropAllUsers()