创建系统管理员密码
db.createUser(
{
user: "xxx",
pwd: "xxxxxx",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
完成后创建一个属于某一个库的专属用户
use helay
db.createUser(
{
user: "user",
pwd: "userpasswd",
roles: [ { role: "readWrite", db: "helay" },
{ role: "read", db: "helay" } ]
}
)
验证 mongodb 的两种方式:
第一种,进入 mongodb 后
db.auth("adminUser", "adminPass")
第二种,类似与 mysql 那样的mongo --port 27017 -u "adminUser" -p "adminPass" --authenticationDatabase "admin"
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问 system.profile
userAdmin:允许用户向 system.users 集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在 admin 数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在 admin 数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在 admin 数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在 admin 数据库中可用,赋予用户所有数据库的 userAdmin 权限
dbAdminAnyDatabase:只在 admin 数据库中可用,赋予用户所有数据库的 dbAdmin 权限。
root:只在 admin 数据库中可用。超级账号,超级权限