การเริ่มต้นสคริปต์เป็นผู้ใช้อื่น
ฉันได้สร้างสคริปต์ใน /etc/init.d/ ซึ่งจะต้องเรียกใช้สคริปต์อื่น ๆ จากผู้ใช้ (ไม่ใช่ผู้ใช้ที่มีสิทธิ์รูท) จากโฮมไดเรกทอรีของพวกเขาราวกับว่าพวกเขาเริ่มต้นมัน ฉันเปิดใช้งานสคริปต์เหล่านี้ด้วย: sudo -b -u <username> <script_of_a_particular_user> และมันใช้งานได้ แต่สำหรับสคริปต์ของผู้ใช้ทุกคนที่ยังคงทำงานอยู่ (ตัวอย่างเช่นสุนัขเฝ้าบ้านบางคน) ฉันเห็นกระบวนการ sudo หลักที่เกี่ยวข้องยังมีชีวิตอยู่และทำงานเป็นรูท สิ่งนี้สร้างความยุ่งเหยิงในรายการกระบวนการที่ใช้งานอยู่ ดังนั้นคำถามของฉันคือ: ฉันจะเปิดตัว (แยก) สคริปต์อื่นจากสคริปต์ทุบตีที่มีอยู่ในฐานะผู้ใช้รายอื่นและปล่อยให้เป็นกระบวนการกำพร้า (ยืนอยู่คนเดียว) ได้อย่างไร คำอธิบายโดยละเอียดเพิ่มเติม: โดยทั่วไปฉันพยายามให้ผู้ใช้รายอื่นบนเครื่องมีวิธีการรันสิ่งต่าง ๆ เมื่อระบบเริ่มต้นหรือปิดระบบโดยการเรียกใช้ไฟล์ปฏิบัติการที่พบในไดเรกทอรีย่อยตามลำดับที่พบในไดเรกทอรีบ้านของพวกเขา เนื่องจากฉันไม่พบวิธีอื่นใดที่ฉันเขียนสคริปต์ทุบตีของฉันที่ทำอย่างนั้นและฉันได้กำหนดค่าเป็นสคริปต์บริการ (โดยทำตามตัวอย่างโครงกระดูก) ใน /etc/init.d/ ดังนั้นเมื่อมันทำงาน ด้วยอาร์กิวเมนต์เริ่มต้นมันจะเปิดตัวทุกอย่างจากไดเรกทอรีเริ่มต้นขึ้นและเมื่อมันถูกเรียกใช้ด้วยอาร์กิวเมนต์หยุดมันจะเปิดตัวทุกอย่างจากไดเรกทอรี. shutDown ของผู้ใช้ทั้งหมดเช่นเดียวกับพวกเขา หรือฉันก็สนใจถ้าฉันสามารถใช้วิธีแก้ปัญหาที่มีอยู่เพื่อแก้ปัญหานี้ได้ อัปเดต ฉันดูรอบ ๆ แล้วฉันพบคำถามนี้: /unix/22478/detach-a-daemon-using-sudo คำตอบที่ยอมรับได้มีการใช้: ใช้sudo -u user sh -c …