Linux服务器上未启用MongoDB身份验证

时间:2017-02-01 07:16:36

标签: linux mongodb authentication

我在Linux服务器上安装了mongodb - Ubuntu 16.04。它已启动并正在运行,因为我已通过putty对其进行了测试。所以,接下来我要做的就是在mongodb上设置身份验证。

我已在此blog之后创建了具有角色的用户。

这是我的etc/mongodb.conf

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1
security:
  authorization: enabled

我在db的{​​{1}}集合中为两个system.users角色设置了用户,并在服务器上重新启动dbs

这里是脚本test.sh来测试mongodb的身份验证状态。 Ref取自here

mongod

当我运行脚本时,我得到#!/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 。此外,我也没有插入或查看数据库表单shell的问题。

所以,我总结的问题是:

  1. 我在mongod auth is NOT enabled上进行身份验证的做法是否正确?如果不是什么可能是正确的方式?
  2. 如何测试MongoDb上是否启用了身份验证?
  3. P.S:如果有帮助的话,我从Azure创建了Linux服务器。

1 个答案:

答案 0 :(得分:1)

很抱歉,但这是我正在做的错误systemctl start mongodb,实际上是mongod

systemctl start mongod

启动并运行。我希望我用于在Mongodb和Bash脚本上启用authorization来检查授权是否正常的资源对于开始使用MongoDB进行开发的开发人员来说是一个很好的资源。