ฉันใช้แพคเกจระบบอัตโนมัติในบ้านชื่อ HomeSeer บนเซิร์ฟเวอร์ Ubuntu 15.04 ฉันได้กำหนดค่าให้ทำงานด้วยบัญชีบริการ (เรียกว่า "_homeseer") และฉันได้ chown'd ไดเรกทอรีแอปไปที่ _homeseer: _homeseer
ในการติดตั้งการอัปเดตแพ็คเกจนี้ฉันดาวน์โหลดไฟล์ tar.gz จากนั้นเรียกใช้สคริปต์ "update.sh" ที่ผู้จำหน่ายระบุ สคริปต์นี้แยกไฟล์ที่ถูกบีบอัดซึ่งเกิดขึ้นกับการเขียนทับตัวเอง (update.sh) ... ดังนั้นฉันคิดว่าฉันไม่สามารถเปลี่ยนสคริปต์นั้นได้เว้นแต่ว่าฉันจะคัดลอกออกไปยังโฟลเดอร์อื่น
ในฐานะส่วนหนึ่งของ update.sh มีบรรทัดที่เรียกว่า "sudo update_extra.sh" เนื่องจากฉันใช้ update.sh เป็นบัญชีบริการบรรทัด sudo นี้จะแจ้งรหัสผ่านของบัญชีบริการ ... ซึ่งฉันจำไม่ได้ (หรือฉันคิดว่าฉันไม่ต้องการ)
ฉันไม่ต้องการให้สิทธิ์บัญชี sudo แบบเต็มโดยไม่ต้องใช้รหัสผ่านเนื่องจากเป็นความเสี่ยงด้านความปลอดภัยที่สำคัญ (เช่นแอปพลิเคชันทำงานบนเว็บเซิร์ฟเวอร์) ฉันยังลังเลที่จะให้สิทธิ์แบบเต็มแก่ sudo ในการเรียกใช้ไฟล์ update_extra.sh ในฐานะรูทเนื่องจากไฟล์ดังกล่าวสามารถอัปเดตได้ด้วยบัญชีบริการเดียวกัน
คำถามของฉัน:
เป็นไปได้หรือไม่ที่จะกำหนดค่า sudo (เช่น visudo) ดังนั้นหากบัญชี _homeseer พยายามใช้ sudo มันจะขอรหัสผ่านบัญชีส่วนตัวของฉันแทนและทำงานด้วยสิทธิ์ sudo ที่ฉันมีอยู่หรือไม่ ฉันไม่ควรตั้งรหัสผ่านรูทหากฉันสามารถหลีกเลี่ยงได้ ... แต่รูปลักษณ์เบื้องต้นดูเหมือนว่าบ่งบอกว่าฉันอาจมีตัวเลือกไม่มากนักถ้าฉันต้องการไปเส้นทางนี้
หรือฉันจำเป็นต้องแก้ไขสคริปต์ update.sh นั้นกำหนดค่าการอนุญาตกลุ่มเพื่อให้ฉันสามารถใช้การอัปเดตเป็นตัวฉันเองและ chown กับบัญชีบริการในภายหลังได้หรือไม่