co powoduje „systemd: nie powiodło się w kroku USER spawn / usr / sbin / opendkim: Brak takiego procesu”

21

Jak mogę usunąć następujący błąd:

systemd: Failed at step USER spawning /usr/sbin/opendkim: No such process

Występuje, gdy próbuję uruchomić usługę opendkim na Centos.

Syed
źródło
Wystąpił ten błąd, ponieważ wprowadziłem niewłaściwego użytkownika i grupę. Na Debianie działało z użytkownikiem nobodyi grupą nogroup: stackoverflow.com/questions/4681067/...
baptx
Może to być również spowodowane odwołaniem się do użytkownika, który nie istnieje.
James Mills

Odpowiedzi:

18

Właśnie się na to natknąłem i w moim przypadku było to spowodowane cytowaniem nazwy użytkownika w pliku usługi:

[Unit]
Description=Demonstrate Failed at step USER spawning ...: No such process error when user name is quoted

[Service]
User="tadeusz"
ExecStart=/bin/echo hello

[Install]
WantedBy=multi-user.target

Uruchomienie tej usługi na Ubuntu 16.04.2 LTS (instancja Amazon EC2) zakończy się niepowodzeniem z następującym błędem:

user-example.service: Failed at step USER spawning /bin/echo: No such process

Co ciekawe, w Ubuntu Gnome 17.04 (mój komputer lokalny) komunikat o błędzie jest znacznie bardziej pomocny:

[/etc/systemd/system/user-example.service:5] Invalid user/group name or numeric ID, ignoring: "tadeusz"

Usunięcie cudzysłowów w obu środowiskach rozwiązało problem:

[Service]
User=tadeusz
Tad Lispy
źródło
1
Dzięki. W moim przypadku nazwa była całkowicie niepoprawna i to bardzo ładnie rozwiązuje ten problem
Aleks
1
Po 4 godzinach ciągnięcia włosów natknąłem się na ten post i właśnie go usunąłem, User=tomcatktóry skopiowałem z postu na blogu. Teraz działa dobrze :)
Shashanth
Mam podobny problem, poprawianie nazwy użytkownika nie działa, ponieważ plik gunicorn nie jest obecny w virtualenv. Zainstalowałem przy użyciu sudo pip3 install gunicorn na serwerze Ubuntu AWS EC2. jaki może być możliwy powód?
Reema Parakh
5

Sprawdź, czy następujący plik istnieje w pliku konfiguracyjnym opendkim:

## Attempt to become the specified user before starting operations. UserID opendkim:opendkim

użytkownik679441
źródło
3

W moim przypadku próbowałem użyć rootjako użytkownika i grupy.

Usunąłem:

User=root
Group=root
jmunsch
źródło
2

Dla mnie to był prosty problem z użyciem niewłaściwej nazwy użytkownika, potwierdź, że używasz właściwego użytkownika [Service] User=tadeusz

następnie ponownie załaduj SytemD sudo systemctl daemon-reload

StackEdd
źródło
1

Dla mnie z tym komunikatem o błędzie okazuje się, że określałem „User = root”, ale nie „Group = xx”, więc kiedy podałem oba, naprawiłem to:

User=root
Group=root

więc albo dodając, Group=rootalbo usuwając zarówno Użytkownika, jak i Grupę, jak zasugerowano w odpowiedzi jmunsch, naprawiono to. Wystąpił jakiś problem z uprawnieniami do katalogu bez podania grupy.

Zgaduję, że jeśli określisz użytkownika, to nie używa on domyślnej grupy, która, jak zakładam, jest również rootem? To ma sens ...

Zaktualizuj, ponownie napotkał ten komunikat, niezwiązany, ale tylko w czasie rozruchu, uruchamiając go ręcznie, zaczął dobrze.

Mam przeczucie, że było to spowodowane tym, że „active directory” (gdzie to konkretne pole otrzymuje niektóre nazwy użytkowników i grupy) nie zostało jeszcze w pełni zainicjowane, więc dodanie

After=vasd.service

Wydaje się, że to naprawiono, powodując, że wystartował wystarczająco późno. After=mnt-share.mountWydawało się również, że rozwiązuje ten problem, ale myślę, że prawdopodobnie dlatego, że po prostu zdarzyło się „czekać wystarczająco długo” lub coś w tym rodzaju.

systemctl status xxx powiedziany:

Process: 5017 ExecStart=/home/user/bin/xx (code=exited, status=217/USER)

Niezależnie od komunikatu pomocne jest również sprawdzanie journalctldzienników lub wszelkich oznak tego, co mogło pójść nie tak. Jeśli jest to „217 / UŻYTKOWNIK”, nie będzie tam wiele do diagnozowania, ale dla wszystkiego innego może mieć bardzo pomocne informacje.

rogerdpack
źródło
0

Dla mnie ten komunikat o błędzie został spowodowany nieprzeładowaniem SystemD po aktualizacji systemd. Więc uruchom # systemctl daemon-reloadlub uruchom ponownie komputer.

Babken Vardanyan
źródło
1
sudo systemctl daemon-reloadpowinno wystarczyć
dvska