我有一个 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