如何在neo4j中设置权限?

时间:2016-05-15 08:15:41

标签: neo4j user-permissions

我最近用导入工具成功创建了一个新的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在这种情况下的配置方式,而不仅仅是如何让它适合我。任何建议都非常感谢。

2 个答案:

答案 0 :(得分:6)

作为服务运行的Neo4j必须拥有放置数据库的文件夹的所有权(例如/var/lib/neo4j/data)。您的数据库位于其他位置,并且只有您当前具有访问权限(因为您是登录用户,因此创建了该数据库文件夹)。

尝试使用以下命令(递归)更改整个数据文件夹的权限:

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

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

然后再次尝试启动服务。

答案 1 :(得分:0)

你也可以在这里粘贴你的日志吗?

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