设置 Neo4j 服务以使用不同的服务 ID 运行
默认情况下,当 neo4j 通过 yum 或 apt-get 作为 RPM 包安装时,它会创建用户 neo4j
和组 neo4j
,并以 neo4j
用户身份运行。但是,可能需要将 Neo4j 服务以 neo4j
以外的其他服务 ID 运行。因此,在本文中,我们将探讨如何配置服务 ID 来运行 Neo4j 服务。
为简单起见,我们假设此操作在 Redhat Release 7.x 上执行
按照 Neo4j 操作手册文档中指定的说明安装 Neo4j Enterprise。 https://neo4j.ac.cn/docs/operations-manual/current/installation/linux/rpm/
安装 Neo4j 服务后,将创建一个名为 neo4j
的新用户和组。使用 sudo systemctl start neo4j
启动 Neo4j 服务时,服务将由用户 neo4j
启动。
要将 Neo4j 服务设置为以不同用户身份启动,我们必须遵循以下步骤。
我们将使用用户 testuser
和组 testuser
来设置 neo4j 服务。
第一步是编辑 neo4j.service
并将用户和组更改为 testuser
,以便服务可以以该用户和组的身份启动。
sudo vi /usr/lib/systemd/system/neo4j.service
如下所示进行编辑,更改 User
和 Group
。
[Unit]
Description=Neo4j Graph Database
After=network-online.target
Wants=network-online.target
[Service]
ExecStart=/home/rohan_kharwar/neo4j-enterprise-3.5.5/bin/neo4j console
Restart=on-failure
User=testuser
Group=testuser
Environment="NEO4J_CONF=/home/rohan_kharwar/neo4j-enterprise-3.5.5/conf" "NEO4J_HOME=/home/rohan_kharwar/neo4j-enterprise-3.5.5"
LimitNOFILE=60000
TimeoutSec=120
[Install]
WantedBy=multi-user.target
第二步是将以下文件的所有权更改为 testuser:testuser
。对于 RPM 安装
/etc/neo4j /etc/neo4j/jmx.access /etc/neo4j/jmx.password /etc/neo4j/neo4j.conf /var/lib/neo4j /var/lib/neo4j/data /var/lib/neo4j/data/databases /var/lib/neo4j/import /var/lib/neo4j/plugins /var/log/neo4j /var/run/neo4j
记录的步骤为
$ sudo chown testuser:testuser -R /etc/neo4j
$ sudo chown testuser:testuser -R /var/lib/neo4j
$ sudo chown testuser:testuser -R /var/log/neo4j
$ sudo chown testuser:testuser -R /var/run/neo4j
完成以上步骤后,文件所有权应已更改为 testuser
。然后启动 neo4j 服务,如下所示
$ sudo systemctl start neo4j
服务应以设置的服务用户身份启动。
要验证 neo4j 服务是否已以用户 testuser
身份启动,请执行 ps -ef | grep -i neo4j
输出应如下所示显示 testuser
testuser 3296 1 26 18:00 ? 00:00:19 /usr/bin/java -cp /var/lib/neo4j/plugins:/etc/neo4j:/usr/share/neo4j/lib/*:/var/lib/neo4j/plugins/* -server -XX:+UseG1GC -XX:-OmitStackTraceInFastThrow -XX:+AlwaysPreTouch -XX:+UnlockExperimentalVMOptions -XX:+TrustFinalNonStaticFields -XX:+DisableExplicitGC -Djdk.tls.ephemeralDHKeySize=2048 -Djdk.tls.rejectClientInitiatedRenegotiation=true -Dunsupported.dbms.udc.source=rpm -Dfile.encoding=UTF-8 com.neo4j.server.enterprise.CommercialEntryPoint --home-dir=/var/lib/neo4j --config-dir=/etc/neo4j
此页面有帮助吗?