root:只在admin数据库中可用,超级账号,超级权限,管理所有用户。
read:允许用户读取指定的数据库。
readWrite:允许用户读写指定数据库。
dbAdmin:允许用户在指定数据库执行管理函数。如索引创建、删除、查看统计或访问system.profile。
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
创建用户
MongoDB创建用户必须进入到相关数据库下进行创建
> use admin > db.createUser({ "user":"admin", "pwd":"admin888", "roles":[{ role:"root", db:"admin" ]} })
admin数据库中的system.users集合可以查看到我们MongoDB数据库中的所有用户相关信息。可以通过以下命令查看。
> use admin > show collections system.users system.version > db.system.users.find().pretty()
删除用户
> db.drop.User("aaa")
修改密码
> use admin > db.changeUserPassword("admin","admin123")
先在test数据库中创建一个aaa用户
> use test > db.createUser({ "user":"aaa", "pwd":"admin888", "roles":[{ role:"read", db:"test" ]} })
增加权限
> use test > db.grantRolesToUser("aaa",[{role:"readWrite",db:"test"}])
删除权限
> use test > db.revokeRolesFromUser("aaa",[{role:"read",db:"test"}])