ConsoleKit และ PolicyKit คืออะไร พวกเขาทำงานอย่างไร


42

ฉันเห็นว่า GNU / Linux ล่าสุดใช้ ConsoleKit และ PolicyKit สิ่งที่พวกเขาสำหรับ? พวกเขาทำงานอย่างไร

คำตอบที่ดีที่สุดควรอธิบายว่าแต่ละปัญหาพยายามแก้ปัญหาอย่างไรและพวกเขาจัดการเพื่อแก้ปัญหาอย่างไร

ฉันเป็นผู้ใช้ GNU / Linux มาเป็นเวลานานจากสิ่งที่ไม่มีอยู่จริง ฉันใช้ Slackware และ Gentoo เร็ว ๆ นี้ ฉันเป็นผู้ใช้ขั้นสูง / ผู้ดูแลระบบ / นักพัฒนาดังนั้นคำตอบสามารถ (และควร!) มีรายละเอียดและแม่นยำที่สุดเท่าที่จะทำได้ ฉันต้องการเข้าใจว่าสิ่งเหล่านี้ทำงานอย่างไรฉันจึงสามารถใช้พวกเขา (ในฐานะผู้ใช้หรือในฐานะนักพัฒนา) วิธีที่ดีที่สุด

คำตอบ:


24

ในระยะสั้น consolekit เป็นบริการที่ติดตามเซสชันผู้ใช้ (เช่นที่ผู้ใช้เข้าสู่ระบบ) ช่วยให้ผู้ใช้สามารถสลับโดยไม่ต้องออกจากระบบ (ผู้ใช้หลายคนสามารถเข้าสู่ระบบบนฮาร์ดแวร์เดียวกันในเวลาเดียวกันกับผู้ใช้หนึ่งคนที่ใช้งานอยู่) นอกจากนี้ยังใช้เพื่อตรวจสอบว่าเซสชั่นเป็น "ท้องถิ่น" คือถ้าผู้ใช้มีการเข้าถึงโดยตรงกับฮาร์ดแวร์ (ซึ่งอาจพิจารณาความปลอดภัยมากขึ้นแล้วการเข้าถึงระยะไกล) เอกสาร ConsoleKit

PolicyKitอนุญาตให้ปรับความสามารถในสภาพแวดล้อมเดสก์ทอป ตามเนื้อผ้าผู้ใช้ที่มีสิทธิใช้งาน (รูท) เท่านั้นที่ได้รับอนุญาตให้กำหนดค่าเครือข่าย อย่างไรก็ตามในขณะที่อยู่ในสภาพแวดล้อมเซิร์ฟเวอร์มันเป็นข้อสันนิษฐานที่สมเหตุสมผลว่ามันจะมีข้อ จำกัด เกินกว่าที่จะไม่ได้รับอนุญาตให้เชื่อมต่อกับฮอตสปอตบนแล็ปท็อปเป็นต้น อย่างไรก็ตามคุณอาจยังไม่ต้องการให้สิทธิ์แบบเต็มกับบุคคลนี้ (เช่นการติดตั้งโปรแกรม) หรืออาจต้องการ จำกัด ตัวเลือกสำหรับบางคน (ตัวอย่างเช่นบนแล็ปท็อปลูกของคุณแล็ปท็อปเฉพาะเครือข่ายที่ไว้ใจได้ เท่าที่ฉันจำได้มันทำงานเหมือน:

  • โปรแกรมส่งข้อความไปยัง daemon ผ่าน dbus เกี่ยวกับการกระทำ
  • Daemon ใช้ไลบรารี / การกำหนดค่า PolicyKit (อันที่จริง PolicyKit daemon) เพื่อตรวจสอบว่าผู้ใช้ได้รับอนุญาตให้ดำเนินการหรือไม่ อาจเกิดขึ้นได้ว่าต้องปฏิบัติตามเงื่อนไขบางประการ (เช่นการป้อนรหัสผ่านหรือการเข้าถึงฮาร์ดแวร์)
  • Daemon ทำการดำเนินการตาม (คืนข้อผิดพลาดการรับรองความถูกต้องหรือทำการดำเนินการ)

เอกสาร PolicyKit

แก้ไขปัจจุบัน ConsoleKit จะถูกแทนที่โดยส่วนใหญ่logindซึ่งเป็นส่วนหนึ่งของsystemdถึงแม้จะมีรุ่นแบบสแตนด์อโลนelogind

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.