ConsoleKit과 PolicyKit은 무엇입니까? 그들은 어떻게 작동합니까?


42

최근 GNU / Linux가 ConsoleKit 및 PolicyKit을 사용하고 있음을 확인했습니다. 그들은 무엇입니까? 그들은 어떻게 작동합니까?

최선의 대답은 각자가 어떤 종류의 문제를 해결하려고하며 어떻게 해결해야하는지 설명해야합니다.

나는 그러한 것들이 존재하지 않았던 때부터 오랜 GNU / Linux 사용자입니다. 슬랙웨어와 최근 젠투를 사용하고 있습니다. 저는 고급 사용자 / 관리자 / 개발자이므로 답변은 최대한 상세하고 정확해야합니다. 이러한 것들이 어떻게 작동하는지 이해하고 싶기 때문에 (사용자 또는 개발자로서) 가장 좋은 방법으로 사용할 수 있습니다.

답변:


24

간단히 말해, 콘솔 킷은 사용자 세션 (예 : 사용자가 로그인 한 위치)을 추적하는 서비스입니다. 로그 아웃하지 않고 사용자를 전환 할 수 있습니다 (많은 사용자가 한 명의 사용자를 활성 상태로하여 동시에 동일한 하드웨어에 로그인 할 수 있음). 또한 세션이 "로컬"인지, 즉 사용자가 하드웨어에 직접 액세스 할 수 있는지 (원격 액세스보다 더 안전한 것으로 간주 될 수 있는지) 확인하는 데 사용됩니다. ConsoleKit 설명서 .

PolicyKit 은 데스크탑 환경에서 미세 조정 된 기능을 허용합니다. 전통적으로 권한있는 사용자 (root)만이 네트워크를 구성 할 수있었습니다. 그러나 서버 환경에서는 랩톱의 핫스팟에 연결할 수 없도록 제한하는 것이 합리적이라고 가정합니다. 그러나 프로그램 설치와 같이이 사람에게 모든 권한을 부여하고 싶지 않거나 일부 사람들의 옵션을 제한하고 싶을 수도 있습니다 (예 : 자녀의 랩탑에서는 부모 필터가있는 '신뢰할 수있는'네트워크 만 사용할 수 있음). 내가 기억하는 한 다음과 같이 작동합니다.

  • 동작에 대한 메시지를 dbus를 통해 데몬에 메시지 보내기
  • 데몬은 PolicyKit 라이브러리 / 구성 (실제로 PolicyKit 데몬)을 사용하여 사용자가 작업을 수행 할 수 있는지 확인합니다. 암호 또는 하드웨어 액세스 입력과 같은 특정 조건이 충족되어야 할 수 있습니다.
  • 데몬은 이에 따라 작업을 수행합니다 (인증 오류를 반환하거나 작업을 수행함)

PolicyKit 문서 .

EDIT 현재 ConsoleKit은 logind 로 대체되며 systemd의 일부 이지만 독립형 버전은 elogind 입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.