Como ver o que um software usa

4

Então, eu tenho um software que sempre pede senha ao iniciar. E eu quero rodar este software sem esse prompt de senha gksu aparecendo toda vez.

A primeira coisa que tentei foi adicionar seu caminho para os sudoers. No entanto, isso não funcionou. Mais tarde, descobri que existe uma coisa chamada policykit e, se algum programa quiser usar algumas das ações do policykit, ele sempre solicitará a senha do usuário (os sudoers não têm efeito sobre ele).

Eu segui um guia em Como evitar PolicyKit de pedir uma senha? , mas ainda não funciona, então eu acho que poderia ter adicionado uma ação errada.

Pergunta: Como posso ver que pkaction meu programa usa para que eu possa inseri-lo no meu arquivo .pkla?

    
por PKM 25.08.2016 / 23:31

2 respostas

2

Pergunte ao Ubuntu esta resposta ( Como configurar o pkexec para não pedir senha? ) que está mais perto do que você precisa do que o link que você encontrou anteriormente.

Como um exemplo rápido para encontrar o aplicativo, ilustrarei usando meu próprio script. Eu queria substituir gksu , que está sendo reprovado com pkexec , então escrevi um script de wrapper chamado gsu .

Eu invoco gsu na linha de comando com:

Observe a seta suspensa Detalhes . Clique e isso é revelado:

No meu exemplo, o pkla é controlado por org.gnome.gedit . Vou usar isso no próximo exemplo, que você substituiria por seu próprio:

Se você deseja executar o prompt sem senha, defina o seguinte:

  <allow_any>yes</allow_any>
  <allow_inactive>yes</allow_inactive>
  <allow_active>yes</allow_active>

Em uma nota pessoal, não gosto de digitar a senha repetidamente, mas não altero gedit para nunca solicitar senha ao alterar arquivos raiz usando pkexec . No entanto, eu gostaria que ele não pedisse repetidamente a senha ao executá-lo muitas vezes em determinada sessão. Você pode fazer isso com sudo e pode estender o período de 10 minutos a 120 minutos, como fiz no meu sistema. Gostaria de funcionalidade semelhante para kits de políticas.

    
por WinEunuuchs2Unix 25.02.2017 / 18:21
2

Parece contraintuitivo ignorar a segurança de um conjunto de políticas autorização. Na ausência de mais detalhes, meu melhor conselho é não faça isso.

Seja como for,

Um mecanismo precisa declarar um conjunto de ações para usar o polkit. Ações correspondem a operações que os clientes podem solicitar que o mecanismo execute e são definidos em arquivos que o mecanismo instala no diretório / usr / share / polkit-1 / actions.

pkaction --verbose

produzirá resultados detalhados sobre todas as ações do policykit. Isso será útil ao revisar arquivos de configuração locais. Você pode redirecionar essa saída para um arquivo de texto para revisão posterior da maneira usual >later.review.txt

Esses arquivos de configuração são encontrados nos diretórios listados quando você emite o comando sudo ls /var/lib/polkit-1/localauthority/

10-vendor.d  20-org.d  30-site.d  50-local.d  90-mandatory.d

procure e encontre o arquivo .pkla que corresponde a seu software não identificado . Ausente de qualquer informação útil, eu vou fingir que é o Saudador da Unidade, por exemplo. Podemos revisar as linhas que começam com Action= com o comando sudo grep "Action=" /var/lib/polkit-1/localauthority/10-vendor.d/unity-greeter.pkla , que resulta em

Action=org.freedesktop.NetworkManager.enable-disable-network;org.freedesktop.NetworkManager.enable-disable-wifi;org.freedesktop.NetworkManager.enable-disable-wwan;org.freedesktop.NetworkManager.enable-disable-wimax;
Action=org.freedesktop.NetworkManager.sleep-wake
Action=org.freedesktop.NetworkManager.wifi.share.protected;org.freedesktop.NetworkManager.wifi.share.open
Action=org.freedesktop.NetworkManager.settings.modify.own;org.freedesktop.NetworkManager.settings.modify.system;org.freedesktop.NetworkManager.settings.modify.hostname
Action=org.freedesktop.NetworkManager.use-user-connections
Action=org.freedesktop.NetworkManager.network-control

Para mais informações, o último manual de referência do polkit pode ser encontrado aqui e informações relacionadas sobre o systemd podem ser encontrado aqui

Como @muru aponta, há também um Q & A relacionado a aqui

Fontes:

link

Como faço para evitar que o PolicyKit solicite uma senha?

    
por Elder Geek 24.02.2017 / 23:55