cosa causa "systemd: errore nel passaggio USER spawning / usr / sbin / opendkim: nessun processo di questo tipo"


21

Come posso rimuovere il seguente errore:

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

Si verifica quando provo ad avviare il servizio opendkim su Centos.


Ho ricevuto questo errore perché ho inserito l'utente e il gruppo sbagliati. Su Debian, ha funzionato con l'utente nobodye il gruppo nogroup: stackoverflow.com/questions/4681067/...
baptx

Ciò può essere causato anche facendo riferimento a un utente che non esiste.
James Mills

Risposte:


18

Mi sono appena imbattuto in questo e nel mio caso è stato causato citando un nome utente nel mio file di servizio:

[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

L'avvio di questo servizio su Ubuntu 16.04.2 LTS (istanza Amazon EC2) fallirebbe con il seguente errore:

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

È interessante notare che su Ubuntu Gnome 17.04 (la mia macchina locale), il messaggio di errore è molto più utile:

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

La rimozione delle virgolette in entrambi gli ambienti ha risolto il problema:

[Service]
User=tadeusz

1
Grazie. Nel mio caso il nome era completamente sbagliato, e questo mi risolve molto bene questo problema
Aleks

1
Dopo essermi strappato i capelli per 4 ore, mi sono imbattuto in questo post e User=tomcatho rimosso quello che ho copiato dal post del blog. Ora funziona bene :)
Shashanth,

Ho riscontrato un problema simile, la correzione del nome utente non funziona, perché il file gunicorn non è presente in virtualenv. Ho installato usando sudo pip3 install gunicorn nel server Ubuntu AWS EC2. quale potrebbe essere la ragione possibile?
Reema Parakh,

5

Controllare se esiste il seguente record nel file di configurazione di opendkim:

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


3

Nel mio caso ho provato a utilizzare rootcome utente e gruppo.

Ho cancellato:

User=root
Group=root

2

Per me è stato un semplice problema utilizzare il nome utente errato, confermare che si sta utilizzando l'utente giusto [Service] User=tadeusz

quindi ricaricare SytemD sudo systemctl daemon-reload


1

Per me con quel messaggio di errore, ho scoperto che stavo specificando "Utente = root" ma non "Gruppo = xx", quindi quando ho specificato entrambi lo ha risolto:

User=root
Group=root

quindi l'aggiunta Group=rooto la rimozione di utenti e gruppi, come suggerito nella risposta di jmunsch, lo ha risolto. Si è verificato un tipo di problema di autorizzazione della directory senza specificare il gruppo.

Immagino che se specifichi un Utente, allora non utilizza il Gruppo predefinito, che presumo sia anche root? Un po 'di senso ha senso ...

Aggiorna, si è imbattuto di nuovo in questo messaggio, non correlato, ma solo all'avvio, avviandolo manualmente è stato avviato correttamente.

Il mio sospetto è che sia stato causato da "active directory" (dove questa particolare casella ottiene alcuni dei suoi nomi utente e gruppi) non ancora completamente avviata, quindi aggiungendo un

After=vasd.service

Sembra averlo corretto facendolo iniziare abbastanza tardi. After=mnt-share.mountsembrava anche aggirare il problema, ma penso probabilmente perché è capitato solo di "aspettare abbastanza" o qualcosa del genere.

systemctl status xxx disse:

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

È inoltre utile, indipendentemente dal messaggio, verificare la presenza journalctldi eventuali registri o indicazioni di ciò che potrebbe essere andato storto. Se è "217 / UTENTE", allora non mostrerà molto in là per la diagnosi, ma per tutto il resto può avere informazioni super utili.


0

Per me questo messaggio di errore è stato causato dal mancato ricaricamento di SystemD dopo l'aggiornamento di systemd. Quindi esegui # systemctl daemon-reloado riavvia il computer.


1
sudo systemctl daemon-reloaddovrebbe essere abbastanza
dvska il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.