Polkit-126

Introdução ao Polkit

Polkit é um kit de ferramentas para definir e para manusear autorizações. Ele é usado para permitir que processos não privilegiados se comuniquem com processos privilegiados.

Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.3.

Informação do Pacote

  • Transferência (HTTP): https://github.com/polkit-org/polkit/archive/126/polkit-126.tar.gz

  • Transferência (FTP):

  • Soma de verificação MD5 da transferência: db4ce0a42d5bf8002061f8e34ee9bdd0

  • Tamanho da transferência: 448 KB

  • Espaço em disco estimado exigido: 7,4 MB (com testes)

  • Tempo de construção estimado: 0,2 UPC (com testes; usando paralelismo=4)

Dependências do Polkit

Exigidas

duktape-2.7.0 e GLib-2.82.5 (GObject Introspection recomendado)

Recomendadas

[Nota]

Nota

Como elogind usa PAM para registrar sessões de usuário(a), é uma boa ideia construir Polkit com suporte a PAM, de forma que elogind possa rastrear sessões Polkit.

Opcionais

GTK-Doc-1.34.0 e dbusmock-0.34.3 (exigido para testes)

Dependências Opcionais em Tempo de Execução

Um agente de autenticação polkit para usar polkit no ambiente gráfico: polkit-kde-agent em Plasma-6.3.2 para KDE, o agente construído em gnome-shell-47.4 para GNOME3, polkit-gnome-0.105 para XFCE e lxqt-policykit-2.1.0 para LXQt

[Nota]

Nota

Se libxslt-1.1.42 estiver instalado, então docbook-xml-4.5 e docbook-xsl-nons-1.79.2 serão exigidos. Se você tiver instalado libxslt-1.1.42, mas não deseja instalar nenhum dos pacotes DocBook mencionados, você precisará usar -D man=false nas instruções abaixo.

Configuração do Núcleo

Alguns testes precisam de suporte a espaços de nome de usuário(a). Se você for executar a suíte de teste, habilite o suporte e recompile o núcleo se necessário:

General setup --->
  -*- Namespaces support --->                                       [NAMESPACES]
    [*] User namespace                                                 [USER_NS]

Instalação do Polkit

Deveria existir um(a) usuário(a) e um grupo dedicado(a) para assumir o controle do processo de segundo plano polkitd depois que ele for iniciado. Emita os seguintes comandos como o(a) usuário(a) root:

groupadd -fg 27 polkitd &&
useradd -c "Dono(a) do Processo de Segundo Plano do PolicyKit" -d /etc/polkit-1 -u 27 \
        -g polkitd -s /bin/false polkitd

Instale o Polkit executando os seguintes comandos:

mkdir build &&
cd    build &&

meson setup ..                     \
      --prefix=/usr                \
      --buildtype=release          \
      -D man=true                  \
      -D session_tracking=elogind  \
      -D systemdsystemunitdir=/tmp \
      -D tests=true

Construa o pacote:

ninja

Para testar os resultados, primeiro certifique-se de que o processo de segundo plano D-Bus do sistema esteja executando e que D-Bus Python-1.3.2 e dbusmock-0.34.3 estejam instalados. Em seguida, execute ninja test.

Agora, como o(a) usuário(a) root:

ninja install

Remova alguns arquivos que não são úteis em um sistema SysV como o(a) usuário(a) root:

rm -v /tmp/*.service                 &&
rm -rf /usr/lib/{sysusers,tmpfiles}.d 

Explicações do Comando

--buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados.

-D tests=true: Essa chave permite executar a suíte de teste deste pacote. Como Polkit é usado para autorizações, a integridade dele pode afetar a segurança do sistema. Portanto, é recomendado executar a suíte de teste construindo este pacote.

-D os_type=lfs: Use essa chave se você não criou o arquivo /etc/lfs-release ou a detecção automática da distribuição falhará e você estará inapto(a) a usar o Polkit.

-D authfw=shadow: Essa chave habilita o pacote a usar o Shadow em vez da estrutura de autenticação Linux PAM. Use-a se você não tiver instalado Linux PAM.

-D introspection=false: Use essa opção se você tiver certeza de que não precisa de arquivos do gobject-introspection para polkit ou não tiver instalado GLib-2.82.5 com GObject Introspection.

-D man=false: Use essa opção para desabilitar a geração e a instalação das páginas de manual. Isso é útil se libxslt não estiver instalado.

-D examples=true: Use essa opção para construir os aplicativos de exemplo.

-D gtk_doc=true: Use essa opção para habilitar a construção e a instalação da documentação da API.

Conteúdo

Aplicativos Instalados: pkaction, pkcheck, pkexec, pkttyagent e polkitd
Bibliotecas Instaladas: libpolkit-agent-1.so e libpolkit-gobject-1.so
Diretórios Instalados: /etc/polkit-1, /usr/include/polkit-1, /usr/lib/polkit-1, /usr/share/gtk-doc/html/polkit-1 e /usr/share/polkit-1

Descrições Curtas

pkaction

é usado para obter informação relativa às ações registradas do PolicyKit

pkcheck

é usado para verificar se um processo está autorizado para ação

pkexec

permite que um(a) usuário(a) autorizado(a) execute um comando como outro(a) usuário(a)

pkttyagent

é usado para iniciar um agente textual de autenticação para o assunto

polkitd

fornece o serviço D-Bus do org.freedesktop.PolicyKit1 no barramento de mensagem do sistema

libpolkit-agent-1.so

contém as funções de API do agente de autenticação Polkit

libpolkit-gobject-1.so

contém as funções da API de autorização Polkit