Polkit-123
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.0.
Informação do Pacote
Dependências do Polkit
Exigidas
GLib-2.76.4
Recomendadas
duktape-2.7.0, gobject-introspection-1.76.1,
libxslt-1.1.38 e,
Linux-PAM-1.5.3
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.13.0 (pode
ser usado no lugar de duktape) e dbusmock-0.29.1 (para os testes)
Dependências Exigidas em Tempo de Execução
Systemd-254
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.27.7 para KDE, o agente
construído em gnome-shell-44.3 para GNOME3,
polkit-gnome-0.105 para XFCE e
lxpolkit em LXSession-0.5.5 para LXDE
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
Se usar JS-102.13.0, faça a seguinte mudança (veja-se as
Explicações dos Comandos abaixo para mais informações):
sed -e 's/JS_Init/JS::DisableJitBackend(); &/' \
-i src/polkitbackend/polkitbackendjsauthority.cpp
Instale o Polkit executando os
seguintes comandos:
mkdir build &&
cd build &&
meson setup .. \
--prefix=/usr \
--buildtype=release \
-Dman=true \
-Dsession_tracking=libsystemd-login \
-Dtests=true &&
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.29.1 estejam instalados. Em
seguida, execute ninja
test.
Agora, como o(a) usuário(a) root
:
ninja install
Explicações do Comando
sed -e
's/JS_Init/JS::DisableJitBackend(); &/' ... : A
compilação JIT do JS102 precisa do mapeamento W+X, o que é perigoso
e não é permitido pelo arquivo de unidade do systemd fornecido com o pacote polkit. Esse
comando não é estritamente necessário em sistemas baseados em
sysvinit, mas ainda melhora a segurança. Ele não tem efeito se
construir-se o polkit com o mecanismo Javascript duktape-2.7.0 recomendado.
--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=mozjs
: Essa chave permite
usar o mecanismo JavaScript JS-102.13.0 em vez
do mecanismo JavaScript duktape-2.7.0.
-Dos_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.
-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.
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
|