สิ่งที่ทำให้“ systemd: ล้มเหลวในขั้นตอนที่ USER วางไข่ / usr / sbin / opendkim: ไม่มีกระบวนการดังกล่าว”


21

ฉันจะลบข้อผิดพลาดต่อไปนี้ได้อย่างไร:

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

มันเกิดขึ้นเมื่อฉันพยายามเริ่มบริการ opendkim บน Centos


ฉันได้รับข้อผิดพลาดนี้เนื่องจากฉันป้อนผู้ใช้และกลุ่มผิด บน Debian มันทำงานกับผู้ใช้nobodyและกลุ่มnogroup: stackoverflow.com/questions/4681067/…
baptx

สิ่งนี้อาจเกิดจากการอ้างอิงผู้ใช้ที่ไม่มีอยู่
James Mills

คำตอบ:


18

ฉันเพิ่งพบเจอปัญหานี้และในกรณีของฉันมันเกิดจากการอ้างชื่อผู้ใช้ในไฟล์บริการของฉัน:

[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

การเริ่มบริการนี้บน Ubuntu 16.04.2 LTS (อินสแตนซ์ Amazon EC2) จะล้มเหลวโดยมีข้อผิดพลาดดังต่อไปนี้:

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

ที่น่าสนใจบน Ubuntu Gnome 17.04 (เครื่องท้องถิ่นของฉัน) ข้อความแสดงข้อผิดพลาดมีประโยชน์มากขึ้น:

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

การลบเครื่องหมายคำพูดในทั้งสองสภาพแวดล้อมช่วยแก้ไขปัญหาได้:

[Service]
User=tadeusz

1
ขอบคุณ ในกรณีของฉันชื่อผิดอย่างสมบูรณ์และสิ่งนี้แก้ปัญหานี้ให้ฉันได้เป็นอย่างดี
Aleks

1
หลังจากดึงผมมา 4 ชั่วโมงฉันก็เจอโพสต์นี้และเพิ่งลบUser=tomcatที่ฉันคัดลอกมาจากโพสต์บล็อก ตอนนี้ก็ทำงานได้ดี :)
Shashanth

ฉันมีปัญหาคล้ายกันการแก้ไขชื่อผู้ใช้ไม่ทำงานเพราะไฟล์ gunicorn ไม่ปรากฏใน virtualenv ฉันติดตั้งโดยใช้ sudo pip3 ติดตั้ง gunicorn ในเซิร์ฟเวอร์ AWS EC2 Ubuntu สิ่งที่อาจเป็นเหตุผลที่เป็นไปได้?
Reema Parakh

5

ตรวจสอบว่าบันทึกต่อไปนี้มีอยู่ในไฟล์กำหนดค่าของopendkim:

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


3

ในกรณีของฉันฉันพยายามใช้rootเป็นผู้ใช้และกลุ่ม

ฉันลบไปแล้ว:

User=root
Group=root

2

สำหรับฉันมันเป็นปัญหาง่ายๆในการใช้ชื่อผู้ใช้ที่ไม่ถูกต้องยืนยันว่าคุณกำลังใช้ผู้ใช้ที่ถูกต้อง [Service] User=tadeusz

จากนั้นโหลด SytemD ของคุณอีกครั้ง sudo systemctl daemon-reload


1

สำหรับฉันที่มีข้อความแสดงข้อผิดพลาดปรากฎว่าฉันกำลังระบุ "User = root" แต่ไม่ใช่ "Group = xx" ดังนั้นเมื่อฉันระบุทั้งสองอย่างมันก็แก้ไขได้:

User=root
Group=root

ดังนั้นการเพิ่มGroup=rootหรือกำจัดทั้ง User และ Group ดังที่แนะนำในคำตอบของ jmunsch, แก้ไขมัน มีปัญหาสิทธิ์การใช้งานไดเรกทอรีบางประเภทโดยไม่ระบุกลุ่ม

ฉันเดาว่าถ้าคุณระบุผู้ใช้แล้วมันไม่ได้ใช้กลุ่มเริ่มต้นซึ่งฉันคิดว่าเป็นราก? ทำให้รู้สึก ...

อัปเดตพบข้อความนี้อีกครั้งไม่เกี่ยวข้อง แต่ในเวลาบูตเท่านั้นเริ่มด้วยตนเองมันเริ่มต้นได้ดี

ลางสังหรณ์ของฉันคือว่ามันเกิดจาก "active directory" (ที่ช่องนี้โดยเฉพาะได้รับชื่อผู้ใช้และกลุ่มของมัน) ยังไม่ได้เริ่มต้นอย่างสมบูรณ์ดังนั้นการเพิ่ม

After=vasd.service

ดูเหมือนว่าจะมีการแก้ไขโดยทำให้มันเริ่มช้าพอ After=mnt-share.mountดูเหมือนว่าจะแก้ปัญหาด้วย แต่ฉันคิดว่าอาจเป็นเพราะมันเพิ่งเกิดขึ้นกับ "รอนานพอ" หรือบางอย่าง

systemctl status xxx กล่าวว่า:

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

นอกจากนี้ยังมีประโยชน์โดยไม่คำนึงถึงข้อความเพื่อตรวจสอบjournalctlบันทึกหรือข้อบ่งชี้ของสิ่งที่อาจผิดพลาด หากเป็น "217 / USER" ก็จะไม่แสดงมากนักในการวินิจฉัย แต่สำหรับทุกสิ่งอื่น ๆ จะมีข้อมูลที่เป็นประโยชน์มาก


0

สำหรับฉันข้อผิดพลาดนี้เกิดจากการไม่โหลด SystemD หลังจากอัปเดต systemd ดังนั้นเรียกใช้# systemctl daemon-reloadหรือรีบูตเครื่องคอมพิวเตอร์ของคุณ


1
sudo systemctl daemon-reloadควรจะเพียงพอ
dvska
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.