美文网首页
MongoDB用户管理

MongoDB用户管理

作者: DrinkwaterGor | 来源:发表于2021-01-13 14:33 被阅读0次

MongoDB 3.0 安全权限访问控制,在添加用户上面3.0版本和之前的版本有很大的区别

帐号是跟着库走的,所以创建用户需要在指定库里创建

添加用户

用有权限的用户(如admin),登入主节点,选中对应需要加用户的数据库,执行:
db.createUser({
    user:'用户名',
    pwd:'密码',
    roles:[
        {
            role: "read",
            db: "数据库名"
        }
    ] 
});

展示当前数据库的用户及权限

show users;

修改用户密码

db.changeUserPassword('用户名','密码');

更新用户

db.updateUser(
      "用户名",
      {
        roles:[
            {
                role: "read",
                db: "数据库名"
            }
        ],
        pwd: "密码"
    }
)

在原有基础上增加用户权限

db.grantRolesToUser(
        "用户名",
        [
                {
                        role:"readWrite",
                        db:"数据库名"
               }
        ]
)

删除用户

db.dropUser("用户名")

权限说明

Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限

其他

我们在查看服务当前连接有那些, 可以执行

db.serverStatus().connections;

如果发现没有执行该指令的权限, 比如:

not authorized on admin to execute command { serverStatus...

应该使用超级管理员用户切换到admin数据库去执行该指令, 如果不是超级管理员, 需要对该用户(比如admin用户)授权root权限

db.grantRolesToUser("admin",[{role:"root",db:"admin"}])

上述指令只能查到当前的连接数量,没有详细的客户端IP信息, 比如如下结果:

{
    "current" : 14,
    "available" : 838846,
    "totalCreated" : 8922168,
    "active" : 2
}

如果想要查看连接的IP和端口, 可以使用:

db.currentOp(true).inprog.forEach(function(d){if (d.client)printjson(d.client)})

得到如下结果示例:

"172.16.20.180:51302"
"172.16.20.180:44510"
"172.16.50.240:36624"
"172.16.50.240:52220"

相关文章

  • NoSQL三--mongodb(一)

    目录 一、mongodb介绍二、mongodb安装三、连接mongodb四、mongodb用户管理五、mongod...

  • mongodb用户权限管理最全攻略(转)

    https://segmentfault.com/a/1190000015603831 mongodb用户权限管理...

  • MongoDB用户管理

    创建管理员用户 use admin db.createUser( { user:"myadm...

  • MongoDB用户管理

    1. 创建用户 角色类型:内建角色(read、readWrite、dbAdmin、userAdmin) 2. 更新...

  • MongoDB用户管理

    MongoDB 3.0 安全权限访问控制,在添加用户上面3.0版本和之前的版本有很大的区别 帐号是跟着库走的,所以...

  • Mongodb 账户权限配置

    1、创建超级管理用户 2、修改 Mongodb 数据库配置文件 3、重启 mongodb 服务 4、用超级管理员账...

  • mongodb权限管理

    超级管理员 1.创建超级管理用户 2.创建成功后退出mongodb客户端, 然后service mongodb s...

  • MongoDB3.2.8创建初始用户

    启动MongoDB前需要关闭配置文件中的auth选项,否则不能创建用户 首先创建用户管理用户 使用用户管理账户登录...

  • mongo管理员权限

    超级管理员 为了更安全的访问mongodb,需要访问者提供用户名和密码,于是需要在mongodb中创建用户 采用了...

  • MongoDB3.0+启用认证权限设置

    MongoDB默认不开启认证,也没有默认管理用户。 以普通方式启动MongoDB,bin/mongo进入控制台,创...

网友评论

      本文标题:MongoDB用户管理

      本文链接:https://www.haomeiwen.com/subject/kubuaktx.html