如何在shell脚本中查找Mongodb是否以auth模式运行?

2023-11-21

我正在运行一个 mongodb 实例,它在我的服务器计算机上运行身份验证模式。目前我正在使用 shell scipt 来获取 mongodb 实例是否正在运行。如何检查 mongodb 是否在身份验证模式或非身份验证模式下运行。


如果您只是想测试是否可以通过以下方式连接到 MongoDB 服务器而无需身份验证bash,您可以使用类似于以下内容的脚本:

#!/bin/bash

# Connect to MongoDB address (host:port/dbname) specified as first parameter
# If no address specified, `mongo` default will be localhost:27017/test
isAuth=`mongo --eval "db.getUsers()" $1 | grep "not auth"`

if [ -z "$isAuth" ] ;
then
   echo "mongod auth is NOT enabled"
   exit 1
else
   echo "mongod auth is ENABLED"
   exit 0
fi

输出示例:

$ ./isAuthEnabled.sh localhost:27017
mongod auth is ENABLED

$ ./isAuthEnabled.sh localhost:27777
mongod auth is NOT enabled

该脚本的唯一参数是要连接的可选 MongoDB 地址(主机:端口/数据库名称);这mongoshell 默认使用localhost:27017/test.

该脚本对是否可以在未经许可的情况下列出用户进行简单检查。

如果正确启用了身份验证,db.getUsers()命令应该返回如下错误:

  "Error: not authorized on test to execute command { usersInfo: 1.0 }"

新版本

请注意,错误消息在较新版本的 MongoDB 中已更改,因此您可能需要grep "requires authentication"代替not auth

注意:本地主机异常

默认情况下(在 MongoDB 3.0 中)有一个localhost exception这使您可以创建第一个用户管理员通过连接进行部署localhost。一旦添加了至少一个用户,本地主机例外就会自动禁用。

如果您想检查部署的完整安全性,那么绝对值得查看MongoDB 安全检查表.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在shell脚本中查找Mongodb是否以auth模式运行? 的相关文章

  • Node.js 和 Passport 对象没有 validPassword 方法

    我正在使用 Node js Express Passport 创建一个简单的身份验证 本地 到目前为止我所达到的效果是 当输入错误的用户名或密码时 用户将被重定向到错误页面 但是当用户输入正确的用户名和密码时 我收到此错误 node mod
  • 如何以管理员身份在 rake 任务中运行 shell 命令?

    我有一个简短的 cmd 文件 我想将其作为部署过程的一部分运行 不幸的是 cmd 文件需要管理员权限 是否可以从 rake 中获得管理员权限 或者我是否需要以管理员身份启动 shell 您可以尝试runas http ss64 com nt
  • 从 UNIX 命令行向串行端口发送字节?

    我想使用命令行将字节流发送到串行端口 这可能吗 我的串口位于 dev cu usbserial A700dYoR在我的 Mac 上 例如 如果我想将整数 50 或字符串 data 发送到该串行端口 我该怎么做 我对 UNIX 的了解非常有限
  • 使用 KeystoneJs 的 Mongoose 二级种群 [重复]

    这个问题在这里已经有答案了 我需要用 Mongoose Keystone 填充两层 但遇到了障碍 我有 3 个模型 地区 国家和城市 地区包含国家 国家包含城市 我的模型 型号区域 var Region new keystone List
  • 如何在 mongoid 中使用 or 条件进行查询

    如何在 Mongoid 中使用 or 条件进行查询 这是 OR 在 mongoid 中查询 如果你想要像下面这样的查询 select from user where id 10 or name hitesh 在带有 mongoid 的 Ra
  • 如何使用对象数组创建猫鼬模式

    我有这个 json data id 1 name Sample test description this is a sample test category tests points 100 startDate 2018 02 15 00
  • 分叉/多线程进程|重击

    我想让我的代码的一部分更加高效 我正在考虑让它分叉成多个进程 并让它们一次执行 50 100 次 而不是只执行一次 例如 伪 for line in file do foo foo2 foo3 done 我希望这个 for 循环运行多次 我
  • Mongoose 和 Promise:如何获取查询结果数组?

    使用猫鼬从数据库和 Q 中查询结果以获取承诺 但发现很难只获取可用用户列表 目前我有一些这样的东西 var checkForPerson function person people mongoose model Person Person
  • 表情符号未正确保存在 mongodb 中

    我正在将 Twitter 和 Instagram 上的表情符号保存到我的 mongodb 数据库中 但是当我显示从数据库中提取的数据时 表情符号看起来像这样破损了 在将数据保存到 mongodb 期间我需要做一些不同的事情吗 我是 mong
  • 通过 sed 使用 unix 变量将数据附加到每行末尾[重复]

    这个问题在这里已经有答案了 我有一个文件 我想使用 SED 将值附加到每行末尾的 unix 变量中 我已经通过 AWK 实现了这一点 但我想在 SED 中实现 像这样的东西 我已经尝试过以下命令 但它不起作用 sed i s BATCH R
  • 在两次之间每分钟执行一次 Cronjob

    我需要在 crontab 中每分钟运行一个 bash 脚本8 45am and 9 50am每天的 Code 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 8 home pull sh gt ho
  • 如何在unix中移动或复制“find”命令列出的文件?

    我有使用下面的命令看到的某些文件的列表 但是如何将列出的这些文件复制到另一个文件夹 例如 test 中 find mtime 1 exec du hc 添加到 Eric Jablow 的答案中 这是一个可能的解决方案 它对我有用 linux
  • 第二次ftruncate失败

    我试图在首次成功执行 shm open 和 ftruncate 后超出共享内存对象 这是代码 char uuid GenerateUUID int fd shm open uuid O RDWR O CREAT O EXCL S IRUSR
  • MongoDB:计算数组中的项目数

    我有一个集合 其中集合中的每个文档都有一个名为的数组foo包含一组嵌入文档 目前 MongoDB shell 中是否有一种简单的方法来计算其中有多少个实例foo 就像是 db mycollection foos count or db my
  • 从 mongodb 集合中查找前 20 个文档

    我想在一个 Jframe 上显示集合中的前 20 条记录 在另一个框架上显示接下来的 20 条记录 我是 MongoDB 的新手 请提出查询以查找前 20 个和后 20 个文档 在 MongoDB shell 上您可以执行以下操作 db c
  • 在 C# 中读取/写入命令行程序

    我正在尝试与 C 的命令行程序进行对话 它是一个情绪分析器 它的工作原理如下 CMD gt java jar analyser jar gt Starting analyser 这是我想从我的 C 程序插入内容的地方 例如 I love y
  • 在 shell 脚本中将一个子字符串替换为另一个字符串

    我有 我爱苏子并结婚 我想将 苏子 更改为 萨拉 firstString I love Suzi and Marry secondString Sara 期望的结果 firstString I love Sara and Marry 要更换
  • 在 MongoDB 和 Apache Solr 之间同步数据的简单方法

    我最近开始使用 MongoDB 和 Apache Solr 我使用 MongoDB 作为数据存储 并且希望 Apache Solr 为我的数据创建索引 以实现应用程序中的搜索功能 经过一些研究 我发现 基本上有两种方法可以在 MongoDB
  • Gearman,php 扩展问题:使用终端在 .. 中找不到类“GearmanWorker”,但可以在浏览器上使用

    我最近在 ubuntu 10 04 上安装了 gearman 并安装了它的 pecl 扩展 现在 当我在浏览器中运行一个 php 文件时 其中包含 client new GearmanWorker die var Dump client I
  • 猫鼬中的数组过滤器

    将查询转换为节点 arrayfilter 在 mongoose 中工作的版本或者如何在节点应用程序中运行它们 db getCollection student update id ObjectId 5a377d62d21a3025a3c3a

随机推荐

  • 在 jQuery UI 自动完成中使用 HTML

    Before jQuery用户界面1 8 4 我可以使用HTML在我为使用自动完成功能而构建的 JSON 数组中 我能够做类似的事情 row array label span style color red font family cour
  • 将多个 TensorFlow 数据集交错在一起

    当前的 TensorFlow 数据集交错功能基本上是一个交错平面地图 将单个数据集作为输入 考虑到当前的 API 将多个数据集交错在一起的最佳方法是什么 假设它们已经建成 并且我有一份清单 我想交替地从它们中生成元素 并且我想支持具有超过
  • 如何从 Powershell 运行 MSBuild 而不生成 msbuild.exe 进程?

    我正在考虑通过直接点击 MSBuild 程序集从 Powershell 脚本运行 MSBuild 而不是查找 MSBuild 安装路径并将 msbuild exe 作为子进程启动 有人这样做过吗 运行构建的最简单 最直接的方法是什么 您想指
  • .net core 3依赖注入服务作为“配置”的参数

    我刚刚将 net core 应用程序从版本 2 2 升级到 3 在startup cs 的ConfigureServices 方法中 我需要解析身份验证服务使用的服务 我正在使用 services BuildServiceProvider
  • Keycloak https auth页面无法访问

    我生成了自签名域证书 然后启动了Keycloak docker run name keycloak e KEYCLOAK ADMIN admin e KEYCLOAK ADMIN PASSWORD password e KC HTTPS C
  • 通过更改 C++ 内存来损坏计算机的风险

    我了解一些 Java 现在正在尝试 C 显然在 C 中 您可以执行诸如声明大小为 6 的 int 数组之类的操作 然后更改该数组的第 10 个元素 我理解它只是后面的第 4 个字节为 6 整数数组分配的内存部分的末尾 所以我的问题是 如果我
  • 计算字符串中每个字母的频率

    这是来自 pyschools 的问题 我确实做对了 但我猜会有一个更简单的方法 这是最简单的方法吗 def countLetters word letterdict for letter in word letterdict letter
  • 为单独的 g_main_loop 添加回调

    我对如何做有一些误解GMainLoop工作 主要的事情 添加一些回调的 APIg main loop like g timeout add seconds 不要将指针指向要添加该回调的循环 看来您为所有人添加了回调g main loop实例
  • 我如何处理承诺的错误?

    作为节点程序员 我习惯使用 nodebacks 来处理代码中的错误 myFn param function err data if err error handling logic else business logic 编写该函数时 我可
  • 如何在 Windows 8 上的 Web 视图中捕获导航事件?

    我的应用程序中有一个 Webview 我想拦截任何点击并在 IE 中打开链接 而不是在应用程序的 Webview 内 我只能看到 NavigationFailed 和 LoadingComplete 事件 没有任何关于我可以拦截的 即将导航
  • 如何防止在打开特定链接时从 Ubuntu chrome 弹出 xdg-open 对话框?

    我正在尝试使用桌面网络 Whatsapp chrome ubuntu 加入 Whatsapp 群组 当我单击 加入组 时 它会显示下面的对话 我想从 chrome 中永远删除此对话 在关闭 xdg open 对话框后 我可以通过再次单击加入
  • 验证关联对象的最大数量

    我有一个帐户模型和一个用户模型 class Account lt ActiveRecord Base has many users end class User lt ActiveRecord Base belongs to account
  • 如何解决 RTCIceServer.url 已弃用!使用网址代替?

    我用socket io安装了node js 想要在服务器节点 server js 上测试这段代码 var static require node static var http require http Create a node stat
  • echo $PATH 与 .bash_profile 不匹配

    我正在尝试在 Mountain Lion 上安装自制程序 以便可以安装 Ruby 1 9 3 经过多年只使用 PHP 编程后 我终于开始转向 Rails Git 等 无论如何 我使用的是别人给我的笔记本电脑 因此 我的登录账号不是原来的账号
  • 复制 Ruby 字符串数组

    arr red green yellow arr2 arr clone arr2 0 replace blue puts arr inspect puts arr2 inspect 产生 blue green yellow blue gre
  • 如何从 Tensorflow 中预取的数据集中提取类以获得混淆矩阵

    我试图使用以下代码为图像分类器绘制混淆矩阵 但收到错误消息 PrefetchDataset 对象没有属性 classes Y pred model predict validation dataset y pred np argmax Y
  • Eclipse Juno 中没有“运行”菜单或工具栏按钮

    我正在尝试遵循 Android 开发教程 此页面 http developer android com training basics firstapp running app html 我被卡住了 我无法运行该应用程序 说明显示 打开项目
  • 如何使用 PyCrypto 添加/更改 RSA 私钥的密码

    也许有人能帮助我 我正在使用 PyCrypto 生成一对 RSA 密钥 公钥和 私钥 我尝试添加 更改私钥密码 但我不知道如何操作 做吧 这是我的一段代码 encoding utf 8 from Crypto PublicKey impor
  • Android Listview 每行有不同的布局?

    我想创建列表视图 其中我希望所有不同的行都有不同的布局 那么如何创建自定义适配器来为不同的行设置不同的布局 任何帮助将不胜感激 先感谢您 你需要延长你的Adapter 并覆盖其getView method Override public V
  • 如何在shell脚本中查找Mongodb是否以auth模式运行?

    我正在运行一个 mongodb 实例 它在我的服务器计算机上运行身份验证模式 目前我正在使用 shell scipt 来获取 mongodb 实例是否正在运行 如何检查 mongodb 是否在身份验证模式或非身份验证模式下运行 如果您只是想