Harden server install restart path

This commit is contained in:
DuProcess
2026-06-28 09:31:06 -04:00
parent 255f584545
commit 51247576f3
2 changed files with 13 additions and 2 deletions
+1
View File
@@ -14,6 +14,7 @@ clippy:
release-check: release-check:
cargo fmt --check cargo fmt --check
sh -n install.sh scripts/*.sh
cargo clippy --all-targets -- -D warnings cargo clippy --all-targets -- -D warnings
cargo test cargo test
$(MAKE) tui-harness $(MAKE) tui-harness
+12 -2
View File
@@ -410,7 +410,7 @@ write_systemd_service() {
else else
cat >"$systemd_user_dir/dosh-server.service" <<EOF cat >"$systemd_user_dir/dosh-server.service" <<EOF
[Unit] [Unit]
Description=Dosh server Description=dosh dormant shell server
After=network-online.target After=network-online.target
Wants=network-online.target Wants=network-online.target
@@ -420,6 +420,15 @@ ExecStart=$bindir/dosh-server serve
Restart=on-failure Restart=on-failure
RestartSec=1 RestartSec=1
KillMode=process KillMode=process
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=strict
ProtectHome=read-only
ReadWritePaths=$config_dir $data_dir
RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX
RestrictRealtime=true
LockPersonality=true
MemoryDenyWriteExecute=true
[Install] [Install]
WantedBy=default.target WantedBy=default.target
@@ -479,7 +488,8 @@ EOF
mkdir -p "$systemd_user_dir" mkdir -p "$systemd_user_dir"
write_systemd_service write_systemd_service
if [ "$start_server" -eq 1 ] && systemctl --user daemon-reload >/dev/null 2>&1; then if [ "$start_server" -eq 1 ] && systemctl --user daemon-reload >/dev/null 2>&1; then
systemctl --user enable --now dosh-server.service systemctl --user enable dosh-server.service
systemctl --user restart dosh-server.service
fi fi
elif [ "$start_server" -eq 1 ]; then elif [ "$start_server" -eq 1 ]; then
nohup "$bindir/dosh-server" serve >"$data_dir/dosh-server.log" 2>&1 & nohup "$bindir/dosh-server" serve >"$data_dir/dosh-server.log" 2>&1 &