mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-01-21 07:55:00 +00:00
privileged: Add systemd units for socket activating the daemon
Tests:
- Daemon starts up with uid/gid set to root.
- Daemon does not run by default if a request is not received. Socket file is
created with 666 permissions and root:root ownership. Socket file parent directory
is created with 755 permissions and root:root ownership.
- Daemon starts if a request is sent to the socket using nc.
- If there an exception in daemon starting, then restart is done every second to
5 seconds, forever.
- Build a Debian package.
- Install it on fresh trixie Debian VM. Ensure that setup works and privileged
daemon is auto-enabled.
- Start a fresh trixie Debian VM and install freedombox from Debian repos.
Upgrade to the built package. Privileged daemon works and is auto-enabled.
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Joseph Nuthalapati <njoseph@riseup.net>
This commit is contained in:
parent
a6089664eb
commit
71a50e6d19
21
data/usr/lib/systemd/system/freedombox-privileged.service
Normal file
21
data/usr/lib/systemd/system/freedombox-privileged.service
Normal file
@ -0,0 +1,21 @@
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
[Unit]
|
||||
Description=FreedomBox Privileged Service
|
||||
Documentation=https://wiki.debian.org/FreedomBox/
|
||||
# Don't hit the start rate limiting.
|
||||
StartLimitIntervalSec=0
|
||||
|
||||
[Service]
|
||||
Type=notify
|
||||
ExecStart=/usr/bin/freedombox-privileged
|
||||
TimeoutSec=300s
|
||||
User=root
|
||||
Group=root
|
||||
NotifyAccess=main
|
||||
PrivateTmp=yes
|
||||
Restart=on-failure
|
||||
# Don't restart too fast
|
||||
RestartSec=1
|
||||
RestartSteps=3
|
||||
RestartMaxDelaySec=5
|
||||
16
data/usr/lib/systemd/system/freedombox-privileged.socket
Normal file
16
data/usr/lib/systemd/system/freedombox-privileged.socket
Normal file
@ -0,0 +1,16 @@
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
[Unit]
|
||||
Description=FreedomBox Privileged Service Socket
|
||||
Documentation=https://wiki.debian.org/FreedomBox/
|
||||
|
||||
[Socket]
|
||||
Accept=no
|
||||
ListenStream=/run/freedombox/privileged.socket
|
||||
SocketUser=root
|
||||
SocketGroup=root
|
||||
SocketMode=0666
|
||||
DirectoryMode=755
|
||||
|
||||
[Install]
|
||||
WantedBy=sockets.target
|
||||
3
debian/rules
vendored
3
debian/rules
vendored
@ -34,4 +34,5 @@ override_dh_installsystemd:
|
||||
# (as of debhelper 13.5.2) that still has hardcoded search path of
|
||||
# /lib/systemd/system for searching systemd services. See #987989 and
|
||||
# reversion of its changes.
|
||||
dh_installsystemd --tmpdir=debian/tmp/usr --package=freedombox plinth.service
|
||||
dh_installsystemd --tmpdir=debian/tmp/usr --package=freedombox \
|
||||
plinth.service freedombox-privileged.socket
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user