设置 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
此页面有帮助吗?