gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 10:41:33 25 4
gpt4 key购买 nike

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

我已经创建了具有以下角色的用户 blog .

这是我的etc/mongodb.conf

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

我在 system.users 集合中的 db 中为两个具有角色的 dbs 设置了用户,并重新启动了 mongod在服务器上。

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

#!/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

当我运行脚本时,我得到了 mongod auth is NOT enabled。此外,我在插入或查看数据库表单 shell 时也没有问题。

所以,我的问题总结如下:

  1. 我在 /etc/mongodb.conf 上进行的身份验证是否正确?如果不是,什么是正确的方法?
  2. 如何测试 MongoDb 是否启用了身份验证?

附言:如果有帮助,我从 Azure 创建了 Linux 服务器。

最佳答案

很抱歉,我在做 systemctl start mongodb 时打错了,实际上是 mongod

systemctl start mongod

让它运行起来。我希望我用于在 Mongodb 和 Bash 脚本上启用authorization 以检查授权是否有效的资源,对于开始使用 MongoDB 进行开发的开发人员来说将是一个很好的资源。

关于linux - Linux 服务器上未启用 MongoDB 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41973998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com