如何在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
命令之后,您的新数据文件夹应该具有相同的所有权。
然后尝试重新启动服务。
最近用导入工具成功新建了一个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
命令之后,您的新数据文件夹应该具有相同的所有权。
然后尝试重新启动服务。