mirror of
https://github.com/dashpay/dash.git
synced 2024-12-25 12:02:48 +01:00
Merge #12255: Update bitcoin.service to conform to init.md
bad1716c6d30fdf4be6d5050a04e1211f920bbd6 init: Modify docs and add release note for 12255 (Carl Dong) b0c7b54d0c2e116d61e686b1adfdea6a1f7f02fe init: Use systemd automatic directory creation (Carl Dong) Pull request description: - `-datadir` option specified. - Ask systemd to create and set the right mode for PID directory, configuration directory, and data directory. - Tell systemd our group so it will set the right owner for aforementioned directories. More information: https://www.freedesktop.org/software/systemd/man/systemd.exec.html Tree-SHA512: a6fad1efa2be433c1fdd863df3ff232736ed709a9e281f51a003b40987d8c213dc64a52bc13a19c85bf85680e78f0be112ecaf32ac274b1ff93bac84a1208845
This commit is contained in:
parent
aefeef25b8
commit
7c3c6ef71f
@ -5,21 +5,45 @@
|
|||||||
# See "man systemd.service" for details.
|
# See "man systemd.service" for details.
|
||||||
|
|
||||||
# Note that almost all daemon options could be specified in
|
# Note that almost all daemon options could be specified in
|
||||||
# /etc/dash/dash.conf
|
# /etc/dash/dash.conf, except for those explicitly specified as arguments
|
||||||
|
# in ExecStart=
|
||||||
|
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Dash daemon
|
Description=Dash daemon
|
||||||
After=network.target
|
After=network.target
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
ExecStart=/usr/bin/dashd -daemon -conf=/etc/dash/dash.conf -pid=/run/dashd/dashd.pid
|
ExecStart=/usr/bin/dashd -daemon \
|
||||||
# Creates /run/dash owned by dashcore
|
-pid=/run/dashd/dashd.pid \
|
||||||
RuntimeDirectory=dashd
|
-conf=/etc/dash/dash.conf \
|
||||||
User=dashcore
|
-datadir=/var/lib/dashd
|
||||||
|
|
||||||
|
# Process management
|
||||||
|
####################
|
||||||
|
|
||||||
Type=forking
|
Type=forking
|
||||||
PIDFile=/run/dashd/dashd.pid
|
PIDFile=/run/dashd/dashd.pid
|
||||||
Restart=on-failure
|
Restart=on-failure
|
||||||
|
|
||||||
|
# Directory creation and permissions
|
||||||
|
####################################
|
||||||
|
|
||||||
|
# Run as dash:dash
|
||||||
|
User=dashcore
|
||||||
|
Group=dashcore
|
||||||
|
|
||||||
|
# /run/dashd
|
||||||
|
RuntimeDirectory=dashd
|
||||||
|
RuntimeDirectoryMode=0710
|
||||||
|
|
||||||
|
# /etc/dash
|
||||||
|
ConfigurationDirectory=dash
|
||||||
|
ConfigurationDirectoryMode=0710
|
||||||
|
|
||||||
|
# /var/lib/dashd
|
||||||
|
StateDirectory=dashd
|
||||||
|
StateDirectoryMode=0710
|
||||||
|
|
||||||
# Hardening measures
|
# Hardening measures
|
||||||
####################
|
####################
|
||||||
|
|
||||||
|
18
doc/init.md
18
doc/init.md
@ -56,7 +56,7 @@ All three configurations assume several paths that might need to be adjusted.
|
|||||||
Binary: `/usr/bin/dashd`
|
Binary: `/usr/bin/dashd`
|
||||||
Configuration file: `/etc/dashcore/dash.conf`
|
Configuration file: `/etc/dashcore/dash.conf`
|
||||||
Data directory: `/var/lib/dashd`
|
Data directory: `/var/lib/dashd`
|
||||||
PID file: `/var/run/dashd/dashd.pid` (OpenRC and Upstart) or `/var/lib/dashd/dashd.pid` (systemd)
|
PID file: `/var/run/dashd/dashd.pid` (OpenRC and Upstart) or `/run/dashd/dashd.pid` (systemd)
|
||||||
Lock file: `/var/lock/subsys/dashd` (CentOS)
|
Lock file: `/var/lock/subsys/dashd` (CentOS)
|
||||||
|
|
||||||
The configuration file, PID directory (if applicable) and data directory
|
The configuration file, PID directory (if applicable) and data directory
|
||||||
@ -65,6 +65,22 @@ reasons to make the configuration file and data directory only readable by the
|
|||||||
dashcore user and group. Access to dash-cli and other dashd rpc clients
|
dashcore user and group. Access to dash-cli and other dashd rpc clients
|
||||||
can then be controlled by group membership.
|
can then be controlled by group membership.
|
||||||
|
|
||||||
|
NOTE: When using the systemd .service file, the creation of the aforementioned
|
||||||
|
directories and the setting of their permissions is automatically handled by
|
||||||
|
systemd. Directories are given a permission of 710, giving the dashcore user and group
|
||||||
|
access to files under it _if_ the files themselves give permission to the
|
||||||
|
dashcore user and group to do so (e.g. when `-sysperms` is specified). This does not allow
|
||||||
|
for the listing of files under the directory.
|
||||||
|
|
||||||
|
NOTE: It is not currently possible to override `datadir` in
|
||||||
|
`/etc/dash/dash.conf` with the current systemd, OpenRC, and Upstart init
|
||||||
|
files out-of-the-box. This is because the command line options specified in the
|
||||||
|
init files take precedence over the configurations in
|
||||||
|
`/etc/dash/dash.conf`. However, some init systems have their own
|
||||||
|
configuration mechanisms that would allow for overriding the command line
|
||||||
|
options specified in the init files (e.g. setting `BITCOIND_DATADIR` for
|
||||||
|
OpenRC).
|
||||||
|
|
||||||
### macOS
|
### macOS
|
||||||
|
|
||||||
Binary: `/usr/local/bin/dashd`
|
Binary: `/usr/local/bin/dashd`
|
||||||
|
17
doc/release-notes/release-notes-pr12255.md
Normal file
17
doc/release-notes/release-notes-pr12255.md
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
systemd init file
|
||||||
|
=========
|
||||||
|
|
||||||
|
The systemd init file (`contrib/init/dashd.service`) has been changed to use
|
||||||
|
`/var/lib/dashd` as the data directory instead of `~dash/.dash`. This
|
||||||
|
change makes Dash Core more consistent with other services, and makes the
|
||||||
|
systemd init config more consistent with existing Upstart and OpenRC configs.
|
||||||
|
|
||||||
|
The configuration, PID, and data directories are now completely managed by
|
||||||
|
systemd, which will take care of their creation, permissions, etc. See
|
||||||
|
[`systemd.exec (5)`](https://www.freedesktop.org/software/systemd/man/systemd.exec.html#RuntimeDirectory=)
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
When using the provided init files under `contrib/init`, overriding the
|
||||||
|
`datadir` option in `/etc/dash/dash.conf` will have no effect. This is
|
||||||
|
because the command line arguments specified in the init files take precedence
|
||||||
|
over the options specified in `/etc/dash/dash.conf`.
|
Loading…
Reference in New Issue
Block a user