mongodb的用户管理

简介:由于mongodb数据的用户管理是基于单个库的管理,他的管理策略大概如下

如果验证了admin库的账户,那么所有的库都可以访问

如果验证了非admin库的账户,那么此权限只能访问当前库下的数据

步骤建议:

如果要对数据库进行账户设置,最好我们首先不要开启数据库验证,然后进入admin库,创建密码

退出添加 -auth  验证重启mongodb然后使用admin库的账户进行验证,如果通过那么进入其它库进行账户创建,完成后重新登录进行验证

验证如下:

启动mongod

mongod.exe --dbpath=E:\mongodb\db -auth  -auth  开启用户验证,如果启动没有添加此参数那么用户验证将失败

首先进入admin库

use admin

查看当前数据的用户

show collections 能返回两个表

添加admin库的sa账户密码为sa

db.addUser(‘sa‘,‘sa‘)

ctrl+c 退出当前登录

重新登录并进入admin库和test库检查是否能够查询当前表

> use admin
switched to db admin
> show collections
Mon Oct 13 17:11:01 uncaught exception: error: {
        "$err" : "unauthorized db:admin lock type:-1 client:127.0.0.1",
        "code" : 10057
}
> use test
switched to db admin
> show collections
Mon Oct 13 17:13:51 uncaught exception: error: {
        "$err" : "unauthorized db:test lock type:-1 client:127.0.0.1",
        "code" : 10057
}

验证admin库里面的sa账户是否能够查看admin库和test库的信息

> db.auth(‘sa‘,‘sa‘)
1
> show collections
system.indexes
system.users
> use test
switched to db test
> show collections
system.indexes
system.users
>

进入test库并创建用户test密码test

> use test
switched to db test
> db.addUser(‘test‘,‘test‘)
{
        "updatedExisting" : true,
        "n" : 1,
        "connectionId" : 10,
        "err" : null,
        "ok" : 1
}
{
        "_id" : ObjectId("543b80be1d60b11044c2fc59"),
        "user" : "test",
        "readOnly" : false,
        "pwd" : "a6de521abefc2fed4f5876855a3484f5"
}
>

ctrl+c退出重新登录,验证test账户能够访问test库和admin库

> db.auth(‘test‘,‘test‘)
1
> show collections
system.indexes
system.users
> use admin
switched to db admin
> show collections
Mon Oct 13 17:21:06 uncaught exception: error: {
        "$err" : "unauthorized db:admin lock type:-1 client:127.0.0.1",
        "code" : 10057
}
>

验证admin库的admin帐号,看是否能查看admin库的信息

> use admin
switched to db admin
> db.auth(‘sa‘,‘sa‘)
1
> show collections
system.indexes
system.users
>

PS:当验证用户的时候,如果返回1证明有此用户,如果返回0证明没有此用户 如:

> use admin
switched to db admin
> db.auth(‘sa‘,‘sa‘)
1
时间: 2024-10-19 21:39:33

mongodb的用户管理的相关文章

mongodb之用户管理与系统管理常用命令

## mongodb的用户管理(认证管理) 用户分三种 全局用户 数据库对应用户 只读用户 ### 创建全局用户(全局用户只能在admin账户下创建) 创建了一个名为zhuima,密码为zhuima的全局账户 [[email protected] ~]# hostname redis.unix178.com [[email protected] ~]# mongo MongoDB shell version: 2.4.6 connecting to: test > show dbs local0

MongoDB快速入门学习笔记7 MongoDB的用户管理操作

1.修改启动MongoDB时要求用户验证加参数 --auth 即可.现在我们把MongoDB服务删除,再重新添加服务 mongod --dbpath "D:\work\MongoDB\data" --logpath "D:\work\MongoDB\log\mongodb.log" --install --serviceName "MongoDB" --auth 2.创建用户,并使用创建的用户登录打开shell操作界面,默认test数据,再查看所

Mongodb 授权 用户管理 添加用户

[开发过程的随笔总结,欢迎您的点评,可以做到更加严谨] 简介:mongoDB noSql数据库 文档型数据库 前些天,做一个日志归类入库项目的时候  用mongoDB进行持久化存储   防止mongoDb的无权限链接,添加了权限验证 1 如果mongoDB是开放内网地址的话,不用担心外部链接 2 mongoDB添加用户(版本mongoDB 3.2.7) 授权方式启动服务 要让用户生效, 需要启动服务器时,就指定 --auth 选项. 操作mongoDB前先进行授权 db.auth('root',

mongodb之用户管理

Mongo 系统数据库介绍以及权限设置. 本文中只正对mongo2.61有效,较低版本中的命令在新版本中慢慢被替换掉了或是不推荐使用.例如,在mongo242版本中使用db.addUser()来创建用户,但是在mongo261中使用这个命令时,会提示不推荐使用这个命令. 1.系统数据库介绍. Mongo中只用两个系统数据,分别是admin  ,和 local .Admin主要用来存储的用户,角色,版本的相关信息.Local 主要存储本地服务器的相关信息(服务器的启动和关闭相关信息,副本集,复制的

mongodb 数据库用户管理

测试环境 centos 6.7(x64) mongodb-linux-x86_64-2.7.8.tgz 1.创建系统级别管理用户use admindb.createUser({user: "root",pwd: "123456",roles: [{role: "userAdminAnyDatabase",db:"admin"}]}) 2.创建正对具体数据库管理用户use abcdb.createUser({user: &quo

MongoDB的用户管理命令

1.给TD数据库添加用户使用  use TD 然后执行 db.addUser("名称","密码"); 即可添加: 2.启用用户使用 db.auth("名称","密码");即可: 3.一般在项目中我们要启用安全检查,在配置mongoDB的数据库路径的时候在后面加上 --auth  这样就启动了安全检查,不是该数据库的用户是不能操作该数据库的: 4.删除一个用户使用 db.system.users.remove({user:&qu

浅析MongoDB用户管理

1. 创建一个超级用户 use admin db.createUser( { user: "adminUserName", pwd: "userPassword", roles: [ { roles: "userAdminAnyDatabase", db: "admin" } ] } ) 超级用户的role有两种,userAdmin或者userAdminAnyDatabase(比前一种多加了对所有数据库的访问). db是指定数

mongodb用户管理

角色具体说明:Read:允许用户读取指定数据库readWrite:允许用户读写指定数据库dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建.删除,查看统计或访问system.profileuserAdmin:允许用户向system.users集合写入,可以找指定数据库里创建.删除和管理用户dbOwner:数据库拥有者,包含readWrite.dbAdmin.userAdminclusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限readAny

mongodb之用户/认证/角色/权限管理

前言 用户权限管理很重要,只给需要的权限,防止应用系统漏洞导致脱库 认证和授权 Authentication 认证识别,解决我是谁 Authorization 操作授权,我能做什么 认证机制 MONGODB-CR 官方自定义实现认证机制,通过用户名和密码,通过challenge-response方式,来识别和验证授权.SCRAM-SHA-1认证机制有更好的安全性,新版本默认使用SCRAM-SHA-1.不建议使用MONGODB-CR模式. SCRAM-SHA-1 3.0版本新加功能,Mongodb