首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >bitcoind.service:无法打开PID文件/run/bitcoind/bitcoind.pid (还没有?)开始后:不允许操作

bitcoind.service:无法打开PID文件/run/bitcoind/bitcoind.pid (还没有?)开始后:不允许操作
EN

Ask Ubuntu用户
提问于 2021-06-20 15:32:39
回答 2查看 2.7K关注 0票数 0

在Ubuntu20.04LTS上,我为bitcoind创建了一个服务/ systemd单元,但是当我启动它时,我会得到以下错误:

Can't open PID file /run/bitcoind/bitcoind.pid (yet?) after start: Operation not permitted

哪一个听起来像是权限问题(?),但我的理解是,包含它的PID文件和/或文件夹是短暂的,就像只在服务运行时才出现一样,那么您将如何为来来往往的东西分配持久的权限呢?此外,似乎还需要为此修改权限。我该怎么做才能让这个单位正常运转?

代码语言:javascript
运行
复制
● bitcoind.service - Bitcoin daemon
     Loaded: loaded (/etc/systemd/system/bitcoind.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Sun 2021-06-20 09:46:57 CDT; 14s ago
    Process: 104861 ExecStart=/usr/local/bin/bitcoind -daemon -pid=/run/bitcoind/bitcoind.pid -conf=/home/first/.bitcoin/bitcoin.conf -datadir=/blockchain/.bitcoin/data (code=exited, status=0/SUCCESS)
   Main PID: 104866 (code=exited, status=1/FAILURE)

Jun 20 09:46:57 server systemd[1]: Starting Bitcoin daemon...
Jun 20 09:46:57 server systemd[1]: bitcoind.service: Can't open PID file /run/bitcoind/bitcoind.pid (yet?) after start: Operation not permitted
Jun 20 09:46:57 server systemd[1]: Started Bitcoin daemon.
Jun 20 09:46:57 server systemd[1]: bitcoind.service: Main process exited, code=exited, status=1/FAILURE
Jun 20 09:46:57 server systemd[1]: bitcoind.service: Failed with result 'exit-code'.

我正在使用这个bitcoind.service文件,该文件来自于斯塔迪克斯拉斯皮波特安装指南

代码语言:javascript
运行
复制
# RaspiBolt: systemd unit for bitcoind
# /etc/systemd/system/bitcoind.service

[Unit]
Description=Bitcoin daemon
After=network.target

[Service]

# Service execution
###################

ExecStart=/usr/local/bin/bitcoind -daemon \
                                  -pid=/run/bitcoind/bitcoind.pid \
                                  -conf=/home/first/.bitcoin/bitcoin.conf \
                                  -datadir=/blockchain/.bitcoin/data


# Process management
####################
Type=forking
PIDFile=/run/bitcoind/bitcoind.pid
#ExecStartPost=/bin/sh -c 'chown first:first /run/bitcoind/bitcoind.pid'
#Restart=on-failure
#TimeoutSec=300
#RestartSec=30


# Directory creation and permissions
####################################

# Run as bitcoin:bitcoin
User=first
Group=first

# /run/bitcoind
RuntimeDirectory=bitcoind
RuntimeDirectoryMode=0710

# Hardening measures
####################

# Provide a private /tmp and /var/tmp.
PrivateTmp=true

# Mount /usr, /boot/ and /etc read-only for the process.
ProtectSystem=full

# Deny access to /home, /root and /run/user
ProtectHome=true

# Disallow the process and all of its children to gain
# new privileges through execve().
NoNewPrivileges=true

# Use a new /dev namespace only populated with API pseudo devices
# such as /dev/null, /dev/zero and /dev/random.
PrivateDevices=true

# Deny the creation of writable and executable memory mappings.
MemoryDenyWriteExecute=true

[Install]
WantedBy=multi-user.target

您可以看到,我尝试将其添加到bitcoind.service文件中:

代码语言:javascript
运行
复制
ExecStartPost=/bin/sh -c 'chown first:first /run/bitcoind/bitcoind.pid'

但是它没有工作,似乎是在bitcoind.pid文件存在之前执行的。

EN

回答 2

Ask Ubuntu用户

发布于 2021-06-20 18:49:49

两项调查结果:

  1. 我的bitcoin.service文件中的“硬化措施”部分包含:
代码语言:javascript
运行
复制
# Deny access to /home, /root and /run/user
ProtectHome=true

/home/.位币是我拥有bitcoin.conf文件的地方,所以这就是问题所在。将bitcoin.conf重新定位到其他地方,或者禁用ProtectHome,可以在这种特殊情况下成功启动服务。

  1. 以下错误消息与服务失败无关:
代码语言:javascript
运行
复制
Can't open PID file /run/bitcoind/bitcoind.pid (yet?) after start: Operation not permitted

这个消息是偶尔出现的,即使在服务正常启动时也是如此,因此,显然,在这种情况下,它根本不是一个问题。

票数 0
EN

Ask Ubuntu用户

发布于 2021-07-26 11:38:39

无法打开PID文件/运行/bitcoind/bitcoind.pid

/run/run/bitcoid/run/bitcoind/bitcoind.pid不存在,如果存在,则不属于需要它的组的用户。

User=first将假设用户是“第一”,当pid文件被另一个用户(/group)拥有时,然后"first“,您也会得到一个”拒绝的权限“。

以比特币形式运行的:比特币User=first Group=first

请注意,该条规定:

以比特币形式运行的:比特币User=bitcoin Group=bitcoin

而不是“先”。

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1347064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档