O que são o ConsoleKit e o PolicyKit? Como eles funcionam?

39

Eu vi que o GNU / Linux recente está usando o ConsoleKit e o PolicyKit. Para que servem? Como eles funcionam?

A melhor resposta deve explicar que tipo de problema cada um tenta resolver, e como eles conseguem resolvê-lo.

Sou um usuário de longa data do GNU / Linux, de uma época em que essas coisas não existiam. Eu tenho usado o Slackware e recentemente o Gentoo. Sou um usuário avançado / administrador / desenvolvedor, então a resposta pode (e deve!) Ser o mais detalhada e precisa possível. Eu quero entender como essas coisas funcionam, para que eu possa usá-las (como usuário ou desenvolvedor) da melhor maneira possível.

    
por Denilson Sá Maia 29.12.2010 / 16:20

1 resposta

22

Em suma, o consolekit é um serviço que rastreia as sessões do usuário (ou seja, onde um usuário está logado). Ele permite alternar usuários sem efetuar logout (muitos usuários podem estar logados no mesmo hardware ao mesmo tempo com um usuário ativo). Ele também é usado para verificar se uma sessão é "local", ou seja, se um usuário tiver acesso direto ao hardware (que pode ser considerado mais seguro que o acesso remoto). documentação do ConsoleKit .

O PolicyKit permite recursos aperfeiçoados em um ambiente de área de trabalho. Tradicionalmente, apenas um usuário privilegiado (root) tinha permissão para configurar a rede. No entanto, enquanto em um ambiente de servidor, é razoável supor que seria muito limitado não ser permitido conectar-se a um hotspot no laptop, por exemplo. No entanto, você ainda pode não querer dar privilégios totais a essa pessoa (como instalar programas) ou pode limitar as opções para algumas pessoas (por exemplo, em laptops de seus filhos apenas redes 'confiáveis' com filtros dos pais podem ser usadas). Tanto quanto me lembro, funciona como:

  • Programa envia mensagem ao daemon via dbus sobre ação
  • O daemon usa as bibliotecas / configurações do PolicyKit (na verdade, o daemon PolicyKit) para determinar se um usuário pode executar uma ação. Pode acontecer que certas condições sejam cumpridas (como inserir senha ou acesso ao hardware).
  • O daemon executa uma ação de acordo com ele (retorna o erro de autenticação ou executa uma ação)
Documentação do PolicyKit .

EDITAR atualmente, o ConsoleKit é largamente substituído por logind , que faz parte do systemd , embora exista uma versão autônoma elogind .

    
por 29.12.2010 / 17:08