Polkit-125

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.2.

Informação do Pacote

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

  • Transferência (FTP):

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

  • Tamanho da transferência: 444 KB

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

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

Dependências do Polkit

Exigidas

GLib-2.80.4 (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, dbusmock-0.32.1 (exigido para testes) e SpiderMonkey oriundo de Firefox-115.14.0 (pode ser usado no lugar do duktape)

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.1.4 para KDE, o agente construído em gnome-shell-46.4 para GNOME3, polkit-gnome-0.105 para XFCE e lxqt-policykit-2.0.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 espaço de nomes de usuário(a). Se executar a suíte de testes, habilite-o:

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

Primeiro, corrija um problema de construção para sistemas baseados em sysV:

sed -i '/systemd_sysusers_dir/s/^/#/' meson.build

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 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.32.1 estejam instalados. Em seguida, execute ninja test.

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

ninja install

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 js_engine=mozjs: Essa chave permite usar o mecanismo JavaScript SpiderMonkey oriundo de Firefox-115.14.0 em vez do mecanismo JavaScript duktape-2.7.0.

-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.80.4 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