$HOME
ชี้ไปที่โฮมไดเร็กตอรี่ของผู้ใช้ที่กำลังเรียกใช้สคริปต์ บริการ Systemd /root/theFolder/run.sh
จะเริ่มต้นกับรากดังนั้นจึงมีแนวโน้มที่จะพยายามที่จะ ใช้พา ธ สัมบูรณ์ในไฟล์บริการ
คุณยังมีforking
ชุดตัวเลือก สิ่งนี้จำเป็นสำหรับโปรแกรมที่พื้นหลังของตัวเองสคริปต์ของคุณทำสิ่งนี้หรือไม่? ส่วนใหญ่ทำไม่ได้และหากคุณไม่ได้คุณควรลบตัวเลือกนี้มิฉะนั้น systemd จะรอให้สคริปต์ของคุณเสร็จสิ้นเพื่ออ้างสิทธิ์เมื่อเริ่มต้น
นอกจากนี้ยังมีไฟล์บริการระบบที่ชี้ไปที่สคริปต์ในไดเรกทอรีหลักของคุณและอาจเป็นปัญหาด้านความปลอดภัย เนื่องจากมันถูกเรียกใช้ในฐานะรูทใครก็ตามที่สามารถปรับเปลี่ยนมันอาจจะสามารถเข้าถึงรูทคอมพิวเตอร์ของคุณได้ เป็นการดีกว่าที่จะคัดลอกสคริปต์ไปยัง/usr/local/bin
และตรวจสอบให้แน่ใจว่าเป็นเจ้าของและสามารถเขียนได้โดย root เพื่อหยุดสิ่งนี้ เป็นความคิดที่ดีที่จะเรียกใช้สคริปต์ในฐานะผู้ใช้ที่ไม่มีสิทธิใช้งานUser=
และใช้Group=
ตัวเลือกในไฟล์บริการ
หากคุณต้องการเรียกใช้ในฐานะผู้ใช้ของคุณจะเป็นการดีกว่าที่จะวางไฟล์บริการใน~/.config/systemd/user/
และเริ่ม / เปิดใช้งานด้วยsystemctl --user enable yourservice && systemctl --user start yourservice
(หมายเหตุให้เรียกใช้ในฐานะผู้ใช้ของคุณไม่ใช่รูท) ดูสิ่งนี้สำหรับข้อมูลเพิ่มเติมเกี่ยวกับไฟล์บริการผู้ใช้
systemctl daemon-reload
หลังจากสร้างไฟล์หน่วยของคุณหรือไม่