ArangoDB密码不';我好像什么也没做

ArangoDB密码不';我好像什么也没做,arangodb,Arangodb,我正在为一个项目测试ArangoDB 我已经通过自制软件安装了ArangoDB,我可以毫无问题地运行它,实际上它相当不错 我正试图解决一个关于安全的小问题 当我创建一个新的数据库(我使用的是Web界面)时,会要求我输入数据库名、用户名和密码 我在用户名和密码中输入了什么似乎并不重要,我总是能够在不提示输入密码的情况下登录到它 例如,我用默认用户root和一些随机密码创建了一个数据库,我可以使用arangosh登录fine,不需要任何问题 arangosh --server.database te

我正在为一个项目测试ArangoDB

我已经通过自制软件安装了ArangoDB,我可以毫无问题地运行它,实际上它相当不错

我正试图解决一个关于安全的小问题

当我创建一个新的数据库(我使用的是Web界面)时,会要求我输入数据库名、用户名和密码

我在用户名和密码中输入了什么似乎并不重要,我总是能够在不提示输入密码的情况下登录到它

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

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用户身份登录):

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

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

我在OS X上使用默认的
自制
安装版本

我不是root(在系统root中),但我是从终端手动启动DB实例的用户——因此在这方面,我可能是内部DB root(启动系统的用户),但这只是一个猜测


我遗漏了什么吗?

默认情况下,服务器将在禁用身份验证的情况下启动。这是为了使ArangoDB的试用尽可能容易,但从安全角度来看,(至少)这是有争议的

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

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

# disable authentication for the admin frontend
disable-authentication = yes
请注意,更改配置文件后需要重新启动arangod进程,否则更改将无效

请注意,即使默认情况下禁用了身份验证,服务器也仅在默认情况下绑定到127.0.0.1。因此,来自其他主机的传入请求将不被接受。为了使ArangoDB实例可用于来自其他IP地址的请求,您可能还需要将服务器的
端点
配置更改为
tcp://127.0.0.1:8529

此选项位于同一配置文件中。

谢谢,这正是问题所在。关于端点的信息也很好,我接下来可能会遇到这个问题。自制conf文件位于
/usr/local/etc/arangodb/arangod.conf
,顺便说一句,谢谢您发布文件位置。我会用它更新我的答案。
# disable authentication for the admin frontend
disable-authentication = yes