Score:0

อนุญาตให้โปรแกรม Python ทำงานโดยไม่มีสิทธิ์ root เพื่อรีสตาร์ท Elasticsearch

ธง tr

มีคำแนะนำสองสามข้อพร้อมเบาะแสเกี่ยวกับวิธีการบรรลุผลสำเร็จ สำหรับฉันแล้วดูเหมือนว่า เริ่มต้นใหม่ คำสั่งของ Elasticsearch ไม่ควรต้องการสิทธิ์รูท อย่างน้อยก็ในกรณีการใช้งานของฉัน

โดยทั่วไป ในกรณีที่บริการ ES หยุดทำงาน ฉันไม่ต้องการให้ผู้ใช้โปรแกรมมีหน้าที่รับผิดชอบในการรีสตาร์ทโปรแกรม และหลังจากตรวจพบว่าบริการไม่ได้ใช้งาน/ไม่ทำงานด้วยเหตุผลบางประการ ควรลองเริ่มต้นใหม่

ดูเหมือนจะมีวิธีปรับแต่งการอนุญาตเหล่านี้โดยใช้ไฟล์ ซูโด วิซูโดแต่ฉันยังไม่ชัดเจนว่าต้องทำอย่างไร: ฉันต้องการอนุญาตให้ผู้ใช้ทุกคนทำคำสั่งเดียวของ systemctl:

systemctl รีสตาร์ท elasticsearch

ไฟล์ /etc/sudoers.tmp ซึ่งขึ้นมาหลังจากนั้น ซูโด วิซูโด ประการแรกกล่าวว่า "โปรดพิจารณาเพิ่มเนื้อหาในเครื่องใน /etc/sudoers.d/ แทนที่จะแก้ไขไฟล์นี้โดยตรง" ไฟล์ทั้ง 3 ไฟล์ที่อยู่ในไดเร็กทอรีนั้นดูเหมือนจะเป็นไฟล์ไบนารี

ประการที่สอง มันแบ่งออกเป็นส่วนต่างๆ ซึ่งฉันค่อนข้างงง: "ข้อมูลจำเพาะนามแฝงของโฮสต์/ผู้ใช้/Cmnd" ฯลฯ ฉันได้ดูที่หน้าคนสำหรับ SUDOERS แล้ว แต่สิ่งนี้ส่วนใหญ่ทำให้ฉันทุกคนตระหนักดีว่าฉันโง่เขลาเพียงใด .


มีอย่างอื่น: เมื่อคำสั่งที่ต้องการ ซูโด (แม้ว่าคำสั่งจะไม่ได้ขึ้นต้นด้วยคำว่า "sudo" ก็ตาม) รันโดยใช้ subprocess.runไดอะล็อกจะปรากฏขึ้นใน Linux ว่า ​​"กรุณาป้อนรหัสผ่าน" หากปรากฎว่าระบบไม่ได้รับการกำหนดค่าให้อนุญาต systemctl รีสตาร์ท elasticsearch เพื่อดำเนินการโดยใครก็ตาม ฉันต้องการตรวจจับสิ่งนั้นและส่งข้อความที่เหมาะสม แทนที่จะให้กล่องโต้ตอบนี้ปรากฏขึ้นเพื่อขอรหัสผ่านสิทธิ์รูท มีวิธีตรวจจับสิ่งนั้นหรือไม่? ...หรืออาจสกัดกั้นระบบก่อนที่จะถามรหัสผ่านของสิทธิ์รูท

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา