ฉันจะลบข้อผิดพลาดต่อไปนี้ได้อย่างไร:
systemd: Failed at step USER spawning /usr/sbin/opendkim: No such process
มันเกิดขึ้นเมื่อฉันพยายามเริ่มบริการ opendkim บน Centos
ฉันจะลบข้อผิดพลาดต่อไปนี้ได้อย่างไร:
systemd: Failed at step USER spawning /usr/sbin/opendkim: No such process
มันเกิดขึ้นเมื่อฉันพยายามเริ่มบริการ opendkim บน Centos
คำตอบ:
ฉันเพิ่งพบเจอปัญหานี้และในกรณีของฉันมันเกิดจากการอ้างชื่อผู้ใช้ในไฟล์บริการของฉัน:
[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
User=tomcatที่ฉันคัดลอกมาจากโพสต์บล็อก ตอนนี้ก็ทำงานได้ดี :)
ตรวจสอบว่าบันทึกต่อไปนี้มีอยู่ในไฟล์กำหนดค่าของopendkim:
## Attempt to become the specified user before starting operations.
UserID opendkim:opendkim
ในกรณีของฉันฉันพยายามใช้rootเป็นผู้ใช้และกลุ่ม
ฉันลบไปแล้ว:
User=root
Group=root
สำหรับฉันมันเป็นปัญหาง่ายๆในการใช้ชื่อผู้ใช้ที่ไม่ถูกต้องยืนยันว่าคุณกำลังใช้ผู้ใช้ที่ถูกต้อง
[Service]
User=tadeusz
จากนั้นโหลด SytemD ของคุณอีกครั้ง sudo systemctl daemon-reload
สำหรับฉันที่มีข้อความแสดงข้อผิดพลาดปรากฎว่าฉันกำลังระบุ "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" ก็จะไม่แสดงมากนักในการวินิจฉัย แต่สำหรับทุกสิ่งอื่น ๆ จะมีข้อมูลที่เป็นประโยชน์มาก
สำหรับฉันข้อผิดพลาดนี้เกิดจากการไม่โหลด SystemD หลังจากอัปเดต systemd ดังนั้นเรียกใช้# systemctl daemon-reloadหรือรีบูตเครื่องคอมพิวเตอร์ของคุณ
sudo systemctl daemon-reloadควรจะเพียงพอ
nobodyและกลุ่มnogroup: stackoverflow.com/questions/4681067/…