如何查看哪些用户帐户可供 systemd 在系统启动时启动服务?

如何查看哪些用户帐户可供 systemd 在系统启动时启动服务?

我有一个 systemd 服务无法在系统启动时启动并出现错误代码status=217/USER(见下文),这意味着根据此 D001615(AD 用户)不存在回答

但是,如果我使用 root 手动重新启动该服务,则它可以正常运行,如 D001615:

[[email protected] SYST:~]# ps -Af --forest | grep runsvc
root      1439  1293  0 09:52 pts/0    00:00:00                          \_ grep --color=auto runsvc
d001615   1340     1  0 09:51 ?        00:00:00 /bin/bash /opt/azagent/runsvc.sh

我不是系统管理员,我只知道 Linux 服务器配置为使用 Active Directory。

我如何查看哪些用户帐户可供 systemd 在启动时运行服务?我已经尝试过getent passwd,但除了 中的帐户之外,它没有列出其他帐户/etc/passwd- 特别是,没有显示来自 LDAP 服务器的 POSIX 条目。

如何配置 systemd 在系统启动时将服务运行为 D001615

注意:我能够su d001615从 root 更改为 D001615,因此 D001615 确实作为主机上的用户存在。

systemctl status -l 'vsts.agent.azuredevops.Application\x20Security\x2dsds.host.example.net.service' 
● vsts.agent.azuredevops.Application\x20Security\x2dsds.host.example.net.service - Azure Pipelines Agent (azuredevops.Application Security-sds.host.example.net)
   Loaded: loaded (/etc/systemd/system/vsts.agent.azuredevops.Application\x20Security\x2dsds.host.example.net.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Tue 2020-11-24 06:17:35 CET; 3h 13min ago
  Process: 2071 ExecStart=/opt/azagent/runsvc.sh (code=exited, status=217/USER)
 Main PID: 2071 (code=exited, status=217/USER)

cat /etc/systemd/system/vsts.agent.azuredevops.Application\x20Security\x2dsds.host.example.net.service
[Unit]
Description=Azure Pipelines Agent (azuredevops.Application Security-sds.host.example.net)
After=network.target

[Service]
ExecStart=/opt/azagent/runsvc.sh
User=d001615
WorkingDirectory=/opt/azagent
KillMode=process
KillSignal=SIGTERM
TimeoutStopSec=5min

[Install]
WantedBy=multi-user.target

相关内容