多语言展示
当前在线:1076今日阅读:58今日分享:42

MongoDB 创建用户 修改权限 修改密码 删除用户

MongoDB Linux运维常用命令。
工具/原料

MongoDB 3.2

方法/步骤
1

show dbs          查看数据库use dbname      进入数据库show users        查看当前数据库用户权限

2

创建用户db.createUser({user:'usertest',pwd:'passtest',roles:[  {role:'clusterAdmin', db:'admin' }, {role:'readAnyDatabase',db:'admin' }, {role:'readWrite',db:'testDB' } ]})

3

权限详解内建角色:数据库用户角色:read、readWrite;数据库管理角色:dbAdmin、dbOwner、userAdmin;集群管理角色:   clusterAdmin、clusterManager、clusterMonitor、hostManager;备份恢复角色:   backup、restore;所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase超级用户角色:   root;  这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)内部角色:          __system;------------------------------------------------------------------------------------------角色说明:Read:                             允许用户读取指定数据库readWrite:                     允许用户读写指定数据库dbAdmin:                      允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profileuserAdmin:                    允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户dbOwner:                       允许在当前DB中执行任意操作readAnyDatabase:          赋予用户所有数据库的读权限,只在admin数据库中可用readWriteAnyDatabase: 赋予用户所有数据库的读写权限,只在admin数据库中可用userAdminAnyDatabase:赋予用户所有数据库管理User的权限,只在admin数据库中可用dbAdminAnyDatabase:   赋予管理所有数据库的权限,只在admin数据库中可用root:                                 超级账号,超级权限,只在admin数据库中可用。------------------------------------------------------------------------------------------集群管理角色:clusterAdmin:                  赋予管理集群的最高权限,只在admin数据库中可用clusterManager:               赋予管理和监控集群的权限clusterMonitor:                赋予监控集群的权限,对监控工具具有readonly的权限hostManager:                   赋予管理Server

4

修改密码方法1:db.changeUserPassword('usertest','changepass');方法2:db.updateUser('usertest',{pwd:'changepass1'});

5

修改权限db.updateUser('usertest',{roles:[ {role:'read',db:'testDB'} ]})注:updateuser它是完全替换之前的值,如果要新增或添加roles而不是代替它 则使用方法: db.grantRolesToUser() 和 db.revokeRolesFromUser()------------------------------------------------------------------------------------------db.grantRolesToUser('usertest', [{role:'readWrite', db:'testDB'},{role:'read', db:'testDB'}])   # 修改权限db.revokeRolesFromUser('usertest',[{role:'read', db:'testDB'}])   # 删除权限:

6

删除用户db.dropUser('usertest')

推荐信息