systemd Units
Purpose
Identify the units an operator starts, who they run as, and how they fail.
Exact units
Scroll sideways to see the full table. Use the arrow keys when focused.
| Unit | Role | User | ExecStart (from unit) | Reload |
|---|---|---|---|---|
zwall-manager.service | Manager | zwall-manager | /opt/zwall-manager/bin/zwall-manager -config /etc/zwall-manager/manager.yml | ExecReload=/bin/kill -HUP $MAINPID |
zwall-agent.service | Virtualization Agent | root | /opt/zcs/bin/zwall-agent --config /etc/zcs/agent.yml | none in unit |
zwall-hosting-agent.service | Hosting Agent (v1 path) | zwall-hosting | /opt/zwall-hosting/bin/zwall-agent --config /etc/zwall-hosting/agent.yml | none |
zwall-hosting-agent-v2.service | Hosting Agent v2 | zwall-hosting | /opt/zwall-hosting/bin/zwall-agent --config /etc/zwall-hosting/agent-v2.yml | none |
zwall-hosting-ebpf-loader.service | pass-only observer loader | root | /opt/zwall-hosting/bin/zwall-hosting-ebpf-loader --object /opt/zwall-hosting/ebpf/hosting_observe.o --sha256 ${ZWALL_HOSTING_EBPF_SHA256} --interfaces ${ZWALL_HOSTING_INTERFACES} --run-user zwall-hosting --run-group zwall-hosting | ExecStop=... --detach |
Templates present in tree (release-specific, not daily ops): zwall-hosting-agent-upgrade-preflight.service.in, zwall-manager-migrate-v58*.service.in. Community scripts/setup.sh may write zwall-manager and zwall-agent with Community paths.
Do not copy any Hosting unit Documentation= URL (lab host). This page omits it on purpose.
Ordering
- Manager:
After=network-online.target postgresql.service - Virt Agent:
After=network-online.target - Hosting v2 Agent:
After=network-online.target zwall-hosting-ebpf-loader.service;Wants=the loader - Loader:
Before=zwall-hosting-agent-v2.service
Hardening that is product-enforced in the unit (not a certified standard)
- Manager:
NoNewPrivileges,PrivateTmp,ProtectSystem=strict,ProtectHome, emptyCapabilityBoundingSet,UMask=0077,Restart=on-failure,RestartSec=5. - Virtualization Agent: root with
CapabilityBoundingSet=CAP_DAC_READ_SEARCH CAP_IPC_LOCK CAP_NET_ADMIN CAP_NET_RAW CAP_SYS_ADMIN CAP_SYS_RESOURCE,ReadWritePathsincluding/sys/fs/bpf. - Hosting Agent: empty capabilities, unprivileged user,
SupplementaryGroupsv1adm psaserv/ v2admonly. v2 comments that Plesk/site sources staypermission_blockeduntil operator ACLs. - Loader:
CapabilityBoundingSet=CAP_CHOWN CAP_SYS_ADMIN CAP_NET_ADMINfor pass-only attach and detach. Unprivileged Agent gets no capability.
Restart / reload
Scroll sideways to see the full table. Use the arrow keys when focused.
| Action | Manager | Virt Agent | Hosting |
|---|---|---|---|
systemctl start/stop/restart | yes | yes | start loader then Agent; stop Agent then loader |
systemctl reload | HUP on Manager only | no | no |
HUP is not a certified live-apply of every YAML key. zwallctl start/stop are not remote power control.