ConsoleKit và PolicyKit là gì? Họ làm việc như thế nào?


42

Tôi đã thấy rằng GNU / Linux gần đây đang sử dụng ConsoleKit và PolicyKit. Họ để làm gì? Họ làm việc như thế nào?

Câu trả lời tốt nhất nên giải thích loại vấn đề mà mỗi người cố gắng giải quyết và cách họ quản lý để giải quyết nó.

Tôi là một người dùng GNU / Linux lâu năm, từ thời điểm những thứ đó không tồn tại. Tôi đã sử dụng Slackware và gần đây là Gentoo. Tôi là người dùng / quản trị viên / nhà phát triển nâng cao, vì vậy câu trả lời có thể (và nên!) Càng chi tiết và chính xác càng tốt. Tôi muốn hiểu làm thế nào những thứ này hoạt động, vì vậy tôi có thể sử dụng chúng (với tư cách là người dùng hoặc nhà phát triển) một cách tốt nhất có thể.

Câu trả lời:


24

Nói tóm lại, consolekit là một dịch vụ theo dõi các phiên của người dùng (tức là nơi người dùng đăng nhập). Nó cho phép chuyển đổi người dùng mà không cần đăng xuất (nhiều người dùng có thể đăng nhập trên cùng một phần cứng cùng lúc với một người dùng hoạt động). Nó cũng được sử dụng để kiểm tra xem một phiên có "cục bộ" hay không, nếu người dùng có quyền truy cập trực tiếp vào phần cứng (có thể được coi là an toàn hơn thì truy cập từ xa). Tài liệu ConsoleKit .

PolicyKit cho phép các khả năng tinh chỉnh trong môi trường máy tính để bàn. Theo truyền thống, chỉ người dùng đặc quyền (root) mới được phép định cấu hình mạng. Tuy nhiên, trong khi trong môi trường máy chủ, một giả định hợp lý rằng nó sẽ quá giới hạn để không được phép kết nối với một điểm phát sóng trên máy tính xách tay, ví dụ. Tuy nhiên, bạn vẫn có thể không muốn cung cấp đầy đủ đặc quyền cho người này (như cài đặt chương trình) hoặc có thể muốn giới hạn tùy chọn cho một số người (ví dụ: trên máy tính xách tay của con bạn chỉ có thể sử dụng mạng 'đáng tin cậy' với bộ lọc của phụ huynh). Theo như tôi nhớ thì nó hoạt động như sau:

  • Chương trình gửi tin nhắn đến daemon qua dbus về hành động
  • Daemon sử dụng các thư viện / cấu hình của Chính sách (trên thực tế là daemon Chính sách) để xác định xem người dùng có được phép thực hiện một hành động hay không. Nó có thể xảy ra rằng một số điều kiện phải được đáp ứng (như nhập mật khẩu hoặc truy cập phần cứng).
  • Daemon thực hiện hành động theo nó (trả về lỗi xác thực hoặc thực hiện hành động)

Tài liệu chính sách .

EDIT hiện tại ConsoleKit được thay thế phần lớn bằng logind , một phần của systemd , mặc dù có phiên bản độc lập elogind .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.