创建用户
创建用户的函数是:db.createUser()
。
创建用户时,需要为该用户添加权限。可添加的权限以及说明:
权限 | 作用 |
---|---|
read | 允许用户读取指定数据库。 |
readWrite | 允许用户读写指定数据库。 |
dbAdmin | 允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile。 |
userAdmin | 允许用户向system.users集合写入,可以在指定数据库里创建、删除和管理用户。 |
clusterAdmin | 只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。 |
readAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的读权限。 |
readWriteAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的读写权限。 |
userAdminAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的userAdmin权限。 |
dbAdminAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。 |
root | 只在admin数据库中可用。超级账号,超级权限。 |
进入命令行
进入 MongoDB 命令行,切换到 admin 数据库:
> use admin
switched to db admin
添加用户权限
db.createUser({"user": "[username]", "pwd": "[password]", "roles": [{"role": "userAdminAnyDatabase", "db": "admin"}]})
添加用户认证
在配置文件末尾处添加auth = true
。访问数据库时必须进行用户认证才可操作数据库:
再次启动服务,使用数据库时进行用户认证:
> use admin
switched to db admin
> db.auth("[username]", "[password]")
1
更新用户权限
更新用户权限的函数是:db.updateUser()
。更新用户权限需要用户具有userAdmin
、userAdminAnyDatabase
和root
中的其中一个。
更改用户密码
更改用户密码的函数是db.updateUser()
或db.changeUserPassword()
。更新用户权限需要用户具有userAdmin
、userAdminAnyDatabase
和root
中的其中一个。
删除用户
删除用户的函数是db.dropUser()
。更新用户权限需要用户具有userAdmin
、userAdminAnyDatabase
和root
中的其中一个。