如何在neo4j中设置权限?

how to set up permissions in neo4j?

最近用导入工具成功新建了一个neo4j数据库。现在,我想实际访问我的 Ubunutu 笔记本电脑上的数据库。

为此,我适当地编辑了 conf/neo4j-server.properties,以指向正确的位置。

尝试 sudo service neo4j-service start 时,出现错误

WARNING: Max 1024 open files allowed, minimum of 40 000 recommended. See the Neo4j manual.
Starting Neo4j Server...WARNING: not changing user
process [10810]... waiting for server to be ready.. Failed to start within 120 seconds.
Neo4j Server may have failed to start, please check the logs.  

我查看了日志,发现有很多关于权限的抱怨。

根据日志,

2016-05-15 01:58:31.143-0700 ERROR Failed to start Neo4j: Starting Neo4j failed: Component 'org.neo4j.server.database.LifecycleManagingDatabase@1b68b9a4' was successfully initialized, but failed to start. Please see attached cause exception.  
...  
Caused by: java.lang.RuntimeException: java.io.FileNotFoundException: /home/monica/new_database_directory/messages.log (Permission denied)  
...  
Caused by: java.lang.RuntimeException: java.io.FileNotFoundException: /home/monica/new_database_directory/messages.log (Permission denied)  
Caused by: java.lang.RuntimeException: java.io.FileNotFoundException: /home/monica/new_database_directory/messages.log (Permission denied)

谷歌搜索,我看到其他一些人遇到了这个问题。

但是,我不确定如何继续,因为我不完全理解这个问题。我不明白 neo4j 期望如何使用。指定用户的时间和地点?我是否需要在某处更改 Neo4J 配置文件以允许自己获得许可?或者我是否需要更改我刚刚创建的目录的权限...如果需要,我如何知道将其更改为哪个用户?

我有兴趣了解更多有关在这种情况下如何配置 neo4j 的信息,而不仅仅是如何让它为我工作。非常感谢任何建议。

你能把你的日志也贴在这里吗?

如果我不得不猜测它不是在谈论 neo4j 权限,而是在谈论文件权限。你能检查哪个帐户是 运行 neo4j 服务器(可能是 neo4j 用户)对数据路径有正确的权限吗?

Neo4j,运行作为一项服务,必须拥有您放置数据库的文件夹的所有权(例如/var/lib/neo4j/data)。您的数据库在其他地方,目前只有您可以访问(因为您是登录用户,创建了该数据库文件夹)。

尝试更改对整个数据文件夹的权限(递归),方法是:

sudo chown -R neo4j:adm /home/monica/new_database_directory

如果您查看现有的 /var/lib/neo4j 文件夹,所有权应该与该 (neo4j:adm) 匹配。在 运行 chown 命令之后,您的新数据文件夹应该具有相同的所有权。

然后尝试重新启动服务。