간단히 말해, 콘솔 킷은 사용자 세션 (예 : 사용자가 로그인 한 위치)을 추적하는 서비스입니다. 로그 아웃하지 않고 사용자를 전환 할 수 있습니다 (많은 사용자가 한 명의 사용자를 활성 상태로하여 동시에 동일한 하드웨어에 로그인 할 수 있음). 또한 세션이 "로컬"인지, 즉 사용자가 하드웨어에 직접 액세스 할 수 있는지 (원격 액세스보다 더 안전한 것으로 간주 될 수 있는지) 확인하는 데 사용됩니다. ConsoleKit 설명서 .
PolicyKit 은 데스크탑 환경에서 미세 조정 된 기능을 허용합니다. 전통적으로 권한있는 사용자 (root)만이 네트워크를 구성 할 수있었습니다. 그러나 서버 환경에서는 랩톱의 핫스팟에 연결할 수 없도록 제한하는 것이 합리적이라고 가정합니다. 그러나 프로그램 설치와 같이이 사람에게 모든 권한을 부여하고 싶지 않거나 일부 사람들의 옵션을 제한하고 싶을 수도 있습니다 (예 : 자녀의 랩탑에서는 부모 필터가있는 '신뢰할 수있는'네트워크 만 사용할 수 있음). 내가 기억하는 한 다음과 같이 작동합니다.
- 동작에 대한 메시지를 dbus를 통해 데몬에 메시지 보내기
- 데몬은 PolicyKit 라이브러리 / 구성 (실제로 PolicyKit 데몬)을 사용하여 사용자가 작업을 수행 할 수 있는지 확인합니다. 암호 또는 하드웨어 액세스 입력과 같은 특정 조건이 충족되어야 할 수 있습니다.
- 데몬은 이에 따라 작업을 수행합니다 (인증 오류를 반환하거나 작업을 수행함)
PolicyKit 문서 .
EDIT 현재 ConsoleKit은 logind 로 대체되며 systemd의 일부 이지만 독립형 버전은 elogind 입니다.