cross-posted from: https://reddthat.com/post/21668140
I have a VPN daemon that needs to run before the client will work. Normally, this would have been set up automatically by its install script, but the system is immutable.
I’ve created the systemd service via
sysyemctl edit --force --full daemon.service
with the following parameters:
[Unit] Description=Blah After=network-online.target [Service] User=root Group=root ExecStart=/usr/bin/env /path/to/daemon [Install] WantedBy=multi-user.target
I’ve verified that the daemon is actually executable, and it runs fine when I manually call it via
sudo daemon
. When I try to run it withsudo systemctl enable --now daemon.service
, it exits with error code 126.What am I missing?
Edit: Typo, and added the relevant user and group to the Service section. Still throwing a 126.
Solution: the system wanted /usr/bin/env
in ExecStart to launch the binary. The .service file above has been edited to show the working solution.
I added the relevant user and group, and it’s still throwing a 126. I checked the daemon itself, and it looks like it’s a pre-compiled binary. Manually running
/bin/bash /path/to/daemon
gives the same error, butsudo /path/to/daemon
starts the daemon.