this post was submitted on 04 Jul 2024
6 points (87.5% liked)

Linux Questions

1057 readers
7 users here now

Linux questions Rules (in addition of the Lemmy.zip rules)

Tips for giving and receiving help

Any rule violations will result in disciplinary actions

founded 1 year ago
MODERATORS
 

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 with sudo 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.

you are viewing a single comment's thread
view the rest of the comments
[–] nhowell77@sh.itjust.works 3 points 4 months ago* (last edited 4 months ago) (18 children)

If that is your full .service file you are missing the directive to tell the daemon what user to run under. Under service try adding

User=root

Group=root

Before the ExecStart command line.

[–] Successful_Try543@feddit.org 4 points 4 months ago* (last edited 4 months ago) (4 children)

Is that necessary for processes running as root? AfaIk, root is default.

Keywords should be in CamelCase format, thus the space in Wanted By is wrong.

[–] nhowell77@sh.itjust.works 3 points 4 months ago (1 children)

Honestly can't believe I completely missed the space in Wanted By. This is likely the bigger culprit to the failed to run error. Poster above me is correct should read

WantedBy

[–] Telorand@reddthat.com 2 points 4 months ago (1 children)

It's an autocorrect typo. It's actually WantedBy in the file.

[–] Successful_Try543@feddit.org 2 points 4 months ago

Would have been nice if this would have been the error.

load more comments (2 replies)
load more comments (15 replies)