`

MongoDB的授权和权限

 
阅读更多

MongoDB的授权和权限
 
1. 在开启MongoDB 服务时不添加任何参数时,可以对数据库任意操作,而且可以远程访问数据库。如果启动的时候指定—auth参数,可以对数据库进行用户验证。  www.2cto.com  
           $ ./mongod --auth >> mongodb.log & 开启 
           ./mongo 
MongoDB shell version: 1.8.1 
connecting to: test 
>show dbs 
admin   (empty) 
local   (empty) 
 
2. 添加用户 
在刚安装完毕的时候MongoDB都默认有一个admin数据库,而admin.system.users中将会保存比在其它数据库中设置的用户权限更大的用户信息。 
当admin.system.users中一个用户都没有时,即使mongod启动时添加了--auth参数,如果没有在admin数据库中添加用户,此时不进行任何认证还是可以做任何操作,直到在admin.system.users中添加了一个用户。 
 
下面创建数据库tage,并给tage创建用户: 
> use tage   
switched to db tage 
> db.addUser("tage","123") 
         "user" : "tage", 
         "readOnly" : false, 
         "pwd" : "1f66d5c4223029536080d41febe0ec33" 
在admin库中创建root用户: 
> use admin 
switched to db admin 
> db.addUser("root","123456") 
         "user" : "root", 
         "readOnly" : false, 
         "pwd" : "34e5772aa66b703a319641d42a47d696" 
3. 验证用户: 
> db.auth("root","123") 
0                    密码错误,返回0,验证失败 
> db.auth("root","123456")  
1                                            验证成功,返回1 
 
下面试验用户权限设置: 
$ ./mongo       登录时不加用户名与密码 
MongoDB shell version: 1.8.1 
connecting to: test 
> use tage 
switched to db tage 
> db.system.users.find() 
error: { 
         "$err" : "unauthorized db:tage lock type:-1 client:127.0.0.1", 
         "code" : 10057 

 
4. 以上验证说明,登录时不指定用户名与密码,就会报错。下面指定用户与密码 
$ ./mongo -uroot -p123456  指定用户与密码,但是不指定库名 
MongoDB shell version: 1.8.1 
connecting to: test 
Wed Aug  3 21:30:42 uncaught exception: login failed 
exception: login failed 
mongodb登录时默认连接test库,如果登录时不指定库名,就会报错 
 
5. 下面以tage库的用户名登录进行验证: 
$ ./mongo tage -utage -p123 
MongoDB shell version: 1.8.1 
connecting to: tage 
> db.system.users.find()    对所属自己的库进行操作,有权限 
{ "_id" : ObjectId("4e394c696b50a56254359088"), "user" : "tage", "readOnly" : false, "pwd" : "1f66d5c4223029536080d41febe0ec33" } 
> use admin 
switched to db admin 
> db.system.users.find() 对其他库操作,没有权限 
error: { 
         "$err" : "unauthorized db:admin lock type:-1 client:127.0.0.1", 
         "code" : 10057 
6. 下面以admin库下的root用户登录进行验证: 
./mongo admin -uroot -p123456 
MongoDB shell version: 1.8.1 
connecting to: admin 
> db.system.users.find() 
{ "_id" : ObjectId("4e394caf6b50a56254359089"), "user" : "root", "readOnly" : false, "pwd" : "34e5772aa66b703a319641d42a47d696" } 
> use tage 
switched to db tage 
> db.system.users.find()   对其他库进行操作,有权限 
{ "_id" : ObjectId("4e394c696b50a56254359088"), "user" : "tage", "readOnly" : false, "pwd" : "1f66d5c4223029536080d41febe0ec33" } 
 
7. mongodb的远程用户连接 
语法结构:mongo –uusername –ppwd ServerIP:port/dbname 
其中port默认为27017 
$ ./mongo  -uroot -p123456 192.168.2.150/admin 
MongoDB shell version: 1.8.1 
connecting to: 192.168.2.150/admin 
> db.system.users.find() 
{ "_id" : ObjectId("4e394caf6b50a56254359089"), "user" : "root", "readOnly" : false, "pwd" : "34e5772aa66b703a319641d42a47d696" }
 
分享到:
评论

相关推荐

    Mysql与MongoDB的权限管理与申请_20180818_张煜杰1

    3. **权限申请与审批流程**:MongoDB的权限申请和审批流程相对简单,一般包括用户提交申请、项目负责人审批、DBA进行权限授予等步骤。这个过程确保了权限的合理分配和安全控制。 综上所述,无论是MySQL还是MongoDB...

    Mongodb权限管理

    MongoDB权限管理是数据库安全的重要组成部分,用于保护数据免受未经授权的访问和操作。在MongoDB中,权限管理主要涉及到用户、角色以及数据库级别的访问控制。这篇博客文章将深入探讨MongoDB权限系统的核心概念和...

    windows_mongodb安装权限.zip

    MongoDB是一种流行的开源、分布式文档型...正确配置管理员用户和角色权限,可以确保只有授权的用户能访问和操作数据,从而保护数据的安全。同时,遵循最佳安全实践,可以进一步增强MongoDB在Windows环境中的安全性。

    MongoDB 权限 角色 详细说明

    该角色拥有创建及修改数据库使用者及相应权限的权限,允许为数据库任何使用者添加任何操作授权。该角色还拥有 changeCustomData, changePassword, createRole, createUser, dropRole, dropUser, grantRole, ...

    Python-用于快速探测未授权MongoDB数据库结构

    然而,如果不设置适当的权限和安全措施,MongoDB数据库可能会暴露,成为攻击的目标。 描述中提到"取第一条内容,并统计数据数量",这意味着该Python脚本会连接到目标MongoDB服务器,读取每个数据库的第一个文档...

    NoSQL Manager for MongoDB图形化管理工具,便于对MongoDB数据库进行操作和维护(包含授权码)

    NoSQL Manager for MongoDB是一个图形化管理工具,它便于开发者和管理员对MongoDB数据库进行操作和维护。以下是对NoSQL Manager for MongoDB的详细介绍: ...可以管理MongoDB数据库的用户和权限,确保数据库的安全性。

    MongoDB-demo, 权限管理系统移植到MongoDB数据库.zip

    MongoDB是一种流行的开源、分布式文档型数据库,常用于构建现代Web应用和权限管理系统。这个"MongoDB-demo, 权限管理系统移植到MongoDB数据库.zip"压缩包文件显然包含了一个使用MongoDB作为数据存储的权限管理系统的...

    MongoDB 最佳安全配置.pdf

    在文件系统权限安全配置方面,必须确保数据文件和密钥文件的权限尽可能小,以防止未授权访问。例如,应确保数据文件权限为660,仅允许MongoDB用户和所属组访问,且拥有读写权限。MongoDB文件系统权限配置还包括密钥...

    mongodb.dll 下载.zip

    7. **安全特性**:MongoDB支持身份验证、授权和加密,确保数据安全。 8. **命令行工具**:MongoDB提供了一些实用的命令行工具,如`mongo` shell,用于交互式操作数据库,以及`mongodump`和`mongorestore`用于数据...

    Windows下MongoDB配置用户权限实例

    出于安全考虑,通常我们会对MongoDB数据库进行权限配置,以便只有授权的用户才能访问数据库。这一过程可以通过启用MongoDB的认证功能来实现。 在MongoDB中,系统表`system.users`是存放数据库用户信息的地方。一旦...

    Mongodb4.x介绍以及Mongodb账户权限配置1

    MongoDB 是一个流行的开源文档型数据库系统,设计用于处理大量数据并提供高可用性和灵活性。在 MongoDB 4.x 版本中,引入了许多增强的...遵循最佳实践,结合适当的权限分配,可以有效地管理和保护你的 MongoDB 集群。

    MongoDB常用命令批处理

    它可能会包含运行`mongod`命令的代码,可能需要指定配置文件和日志文件路径,并处理必要的权限和环境变量。 请注意,这些批处理脚本的具体内容需要查看才能了解详细的步骤和参数。在使用这些脚本之前,确保你理解...

    mongodb Windows7 64位

    - 网络安全:通过修改配置文件中的`bindIp`参数,限制MongoDB只监听特定的IP地址或接口,防止未授权的远程访问。 5. **备份与恢复** - 备份:MongoDB提供了`mongodump`工具,可以将数据库备份为JSON或BSON格式的...

    mongodb未授权漏洞加固.pdf

    ### MongoDB未授权访问漏洞及其加固方法 #### 一、MongoDB简介与安装 ...综上所述,对于MongoDB未授权访问漏洞的加固不仅包括了技术上的实施,还涉及到日常管理和监控,只有通过综合手段才能有效提高MongoDB的安全性。

    NoSQL Manager for MongoDB

    6. **安全管理**:用户可以使用此工具管理MongoDB的权限和认证,设置用户角色,控制对数据库的访问,确保数据的安全。 7. **导入导出数据**:"NoSQL Manager for MongoDB"支持从CSV、JSON、XML等格式导入数据到...

    MongoDB 3.0+安全权限访问控制详解

    通过以上步骤,你可以有效地管理和控制MongoDB 3.0及更高版本中的用户权限。安全访问控制是数据库管理的关键部分,确保数据安全的同时,还能防止未经授权的访问和操作。正确配置这些设置有助于保护你的MongoDB实例免...

    MongoDB应用设计模式:MongoDB Applied Design Patterns

    - **身份验证和授权**:了解如何设置用户权限,保护数据库免受未经授权的访问。 - **加密**:MongoDB支持数据传输和存储加密,保障数据安全。 - **备份与恢复**:理解不同备份策略(如Oplog、快照等),并学习...

    MongoDB安装包.zip

    - MongoDB支持身份验证、授权和加密,确保数据安全。 - 创建用户和角色,通过`db.createUser()`和`db.grantRolesToUser()`进行权限管理。 - 启用网络加密和访问控制,可在mongod.conf中配置。 总之,MongoDB是一...

Global site tag (gtag.js) - Google Analytics