【问题标题】:ArangoDB password doesn't seem to do anythingArangoDB 密码似乎没有任何作用
【发布时间】:2015-12-10 09:09:48
【问题描述】:

我正在为一个项目测试 ArangoDB。

我已经通过自制软件安装了 ArangoDB,我可以毫无问题地运行它,实际上它非常好。

我有一点关于安全的小问题,我正在尝试解决。

当我创建一个新数据库(我使用 Web 界面)时,系统会要求我提供数据库名称、用户名和密码。

我输入的用户名和密码似乎并不重要,我总是能够登录它而无需任何提示输入密码。

例如,我使用默认用户 root 和一些随机密码创建了一个数据库,我可以使用 arangosh 登录,没有任何问题。

arangosh --server.database test1

                                       _     
  __ _ _ __ __ _ _ __   __ _  ___  ___| |__  
 / _` | '__/ _` | '_ \ / _` |/ _ \/ __| '_ \ 
| (_| | | | (_| | | | | (_| | (_) \__ \ | | |
 \__,_|_|  \__,_|_| |_|\__, |\___/|___/_| |_|
                       |___/                 

arangosh (ArangoDB 2.7.1 [darwin] 64bit, using ICU 54.1, V8 4.3.61, OpenSSL 1.0.2d 9 Jul 2015)
Copyright (c) ArangoDB GmbH

Pretty printing values.
Connected to ArangoDB 'tcp://127.0.0.1:8529' version: 2.7.1 [standalone], database: 'test1', username: 'root'

我尝试使用不同的用户和密码创建另一个数据库(bob 是用户),但它仍然没有任何区别(并且仍然以 root 身份登录):

arangosh --server.database test2

                                       _     
  __ _ _ __ __ _ _ __   __ _  ___  ___| |__  
 / _` | '__/ _` | '_ \ / _` |/ _ \/ __| '_ \ 
| (_| | | | (_| | | | | (_| | (_) \__ \ | | |
 \__,_|_|  \__,_|_| |_|\__, |\___/|___/_| |_|
                       |___/                 

arangosh (ArangoDB 2.7.1 [darwin] 64bit, using ICU 54.1, V8 4.3.61, OpenSSL 1.0.2d 9 Jul 2015)
Copyright (c) ArangoDB GmbH

Pretty printing values.
Connected to ArangoDB 'tcp://127.0.0.1:8529' version: 2.7.1 [standalone], database: 'test2', username: 'root'

在这两种情况下,我都可以做任何我想做的事情,创建集合、添加文档等。

为什么凭证系统似乎没有做它应该做的事情? (保护系统)。

我在 OS X 上使用默认的homebrew 安装版本。

我不是 root(如系统 root),但我是从终端手动启动数据库实例的用户 - 所以在这方面我可能是内部数据库 root(启动系统的用户),但这只是一个胡思乱想。

我错过了什么吗?

【问题讨论】:

    标签: arangodb


    【解决方案1】:

    默认情况下,服务器将在禁用身份验证的情况下启动。这是为了尽可能轻松地试用 ArangoDB,但从安全的角度来看,它(至少)值得商榷。

    要使服务器对所有传入请求使用身份验证,您可以编辑服务器的配置文件 arangod.conf。使用 homebrew 时配置文件应位于/usr/local/etc/arangodb/arangod.conf

    配置文件中的以下指令可用于切换服务器上的身份验证:

    # disable authentication for the admin frontend
    disable-authentication = yes
    

    注意修改配置文件后需要重启arangod进程,否则修改无效。

    请注意,即使默认情况下禁用身份验证,服务器也会默认绑定到 127.0.0.1。因此不会接受来自其他主机的传入请求。为了使您的 ArangoDB 实例可用于来自其他 IP 地址的请求,您可能还希望将服务器的 endpoint 配置更改为 tcp://127.0.0.1:8529 以外的其他配置。 此选项位于同一配置文件中。

    【讨论】:

    • 谢谢,这正是问题所在。关于端点的信息也很好,接下来我可能会遇到这个问题。
    • homebrew conf 文件位于/usr/local/etc/arangodb/arangod.conf 顺便说一句
    • 感谢您发布文件位置。我会用它更新我的答案。
    猜你喜欢
    • 1970-01-01
    • 2018-11-29
    • 2021-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多