Polkit-122

Introdução a 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 adequadamente usando uma plataforma LFS 11.3.

Informação do Pacote

Dependências do Polkit

Exigidas

GLib-2.74.5 e duktape-2.7.0

Recomendadas

[Nota]

Nota

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

Opcionais

GTK-Doc-1.33.2, JS-102.8.0 (pode ser usado no lugar de duktape) e dbusmock-0.28.7 (para os testes)

Dependências Exigidas em Tempo de Execução

Systemd-252

Dependências Opcionais em Tempo de Execução

Um agente de autenticação polkit para usar o polkit no ambiente gráfico: polkit-kde-agent em Plasma-5.26.5 para KDE, o agente construído em gnome-shell-43.3 para GNOME3, polkit-gnome-0.105 para XFCE e lxpolkit em LXSession-0.5.5 para LXDE

[Nota]

Nota

Se libxslt-1.1.37 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.37, mas não deseja instalar nenhum dos pacotes DocBook mencionados, [então] você precisará usar -Dman=false nas instruções abaixo.

Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/polkit

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 Polkit executando os seguintes comandos:

mkdir build &&
cd   build &&

meson --prefix=/usr                       \
      --buildtype=release                 \
      -Dman=true                          \
      -Dsession_tracking=libsystemd-login \
      -Dtests=true                        \
      -Djs_engine=duktape                 \
      ..                                  &&
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.28.7 estejam instalados. Em seguida, execute meson test -t3.

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.

-Dtests=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.

-Djs_engine=duktape: Essa chave permite usar o mecanismo do JavaScript duktape-2.7.0. Substitua por -Djs_engine=mozjs para usar o mecanismo do JavaScript JS-102.8.0.

-Dauthfw=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.

-Dintrospection=false: Use essa opção se tiver certeza de que não precisa dos arquivos gobject-introspection para o polkit ou não tiver o gobject-introspection instalado.

-Dman=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.

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

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

Configurando Polkit

Configuração PAM

[Nota]

Nota

Se não construiu o Polkit com suporte para Linux PAM, [então] você pode pular esta seção.

Se tiver construído o Polkit com suporte para Linux PAM, [então] você precisa modificar o arquivo padrão de configuração PAM que foi instalado por padrão para fazer o Polkit funcionar corretamente com o BLFS. Emita os seguintes comandos como o(a) usuário(a) root para criar o arquivo de configuração para Linux PAM:

cat > /etc/pam.d/polkit-1 << "EOF"
# Início /etc/pam.d/polkit-1

auth     include        system-auth
account  include        system-account
password include        system-password
session  include        system-session

# Fim /etc/pam.d/polkit-1
EOF

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