使 systemd 服务以用户 xyz 运行

Erw*_*out 4 systemd

我创建了一个.service包含User=xyz在该[Service]部分中的文件。该服务仍以 root 身份运行。奎德?

[Unit]
Description=...
Requires=network-online.target

[Service]
ExecStart=/usr/bin/java ...
Type=simple
ExecStop=/usr/bin/java ...
User=siraprise

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

Erw*_*out 5

显然,如果在 ExecStart= 之前指定 User=,则行为会发生变化。

不知道这是一个功能还是意外,但作为一个功能,它非常愚蠢,而且它似乎没有记录,这很烦人。