当前位置:网站首页 > 创业 > 正文

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

0 张子豪 张子豪 2025-10-11 17:51 1

MongoDB Linux运维常用号令。

东西/原料

  • MongoDB 3.2

方式/步调

  1. 1

    show dbs          查看数据库

    use dbname      进入数据库

    show users        查看当前数据库用户权限

  2. 2

    建立用户

    db.createUser({user:"usertest",pwd:"passtest",roles:[  {role:"clusterAdmin", db:"admin" }, {role:"readAnyDatabase",db:"admin" }, {role:"readWrite",db:"testDB" } ]})

  3. 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.profile

    userAdmin:                    许可用户标的目的system.users调集写入,可以找指定命据库里建立、删除和办理用户

    dbOwner:                       许可在当前DB中执行肆意操作

    readAnyDatabase:          付与用户所稀有据库的读权限,只在admin数据库中可用

    readWriteAnyDatabase: 付与用户所稀有据库的读写权限,只在admin数据库中可用

    userAdminAnyDatabase:付与用户所稀有据库办理User的权限,只在admin数据库中可用

    dbAdminAnyDatabase:   付与办理所稀有据库的权限,只在admin数据库中可用

    root:                                 超等账号,超等权限,只在admin数据库中可用。

    ------------------------------------------------------------------------------------------

    集群办理脚色:

    clusterAdmin:                  付与办理集群的最高权限,只在admin数据库中可用

    clusterManager:               付与办理和监控集群的权限

    clusterMonitor:                付与监控集群的权限,对监控东西具有readonly的权限

    hostManager:                   付与办理Server

  4. 4

    点窜暗码

    方式1:db.changeUserPassword("usertest","changepass");

    方式2:db.updateUser("usertest",{pwd:"changepass1"});

  5. 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. 6

    删除用户

    db.dropUser('usertest')

来源:百闻(微信/QQ号:9397569),转载请保留出处和链接!


本文链接:https://www.ibaiwen.com/web/227935.html

张子豪

张子豪

TA很懒,啥都没写...

@百闻娱乐 本站部分内容转自互联网,若有侵权等问题请及时与本站联系,我们将在第一时间删除处理。 | 粤ICP备2024343649号 | (地图