polkit ação de sessão inativa / regras nunca entram em vigor

2

Eu tenho diferentes problemas com o polkit não funcionando para sessões inativas. Como acho que eles compartilham o mesmo problema, postarei um exemplo primeiro.

Eu tenho um novo servidor ubuntu 14.04 com o pacote lubuntu-desktop e xrdp instalado. Quando eu faço o login com o xrdp eu deveria ter as restrições normais como o polkit foi definido. Primeiro, achei que simplesmente não tenho permissão suficiente para determinadas ações. Então eu mudei algumas configurações para as minhas necessidades. Aqui está um exemplo: Doubleclicking um pacote .deb que eu quero instalar, o software-center abre e clico em instalar lá:

  

org.freedesktop.PolicyKit.Error.Failed: ('system-bus-name', {'nome': ': 1.121'}): org.debian.apt.install-file

(algo como: você não tem permissão para fazer essa ação. Você não possui as permissões certas.)

Antes disso, configurei o polkit para permitir isso para minha sessão inativa (mas, para mim, o auth_admin seria suficiente). Um extrato pkaction --verbose :

org.debian.apt.install-file:
  description:       Install package file
  message:           To install this package, you need to authenticate.
  vendor:            Apt Daemon
  vendor_url:        http://launchpad.net/aptdaemon/
  icon:              package-x-generic
  implicit any:      auth_admin
  implicit inactive: auth_admin_keep
  implicit active:   auth_admin_keep

Enfim, estou pensando que o polkit (agente?) não é executado, porque recebo um erro logo após o login com o xrdp:

  

GDBus.Error: org.freedesktop.PolicyKit1.Error.Failed: Não é possível determinar o usuário do assunto

Eu suponho que ele não me encontre como usuário? Como posso verificar se o agente do policykit está sendo executado na minha sessão xrdp? Posso começar manualmente? Isso é talvez um bug?

Edit: Sim, este usuário está no grupo admin, este usuário foi criado durante a instalação do Ubuntu. Também tem direitos de sudo.

    
por Dionysius 28.10.2014 / 02:20

1 resposta

0
  • Não parece obter o nome de usuário do processo do usuário, verifique suas variáveis de ambiente. O xrdp pode diferir da sessão regular:

    env | grep -i "user\|logname"
    
  • Para verificar se o agente polkit está em execução, use o terminal e execute o seguinte:

    ~$ ps aux | grep polkit
    root       855  0.0  0.9 281224  7192 ?        Sl   06:34   0:00 /usr/lib/policykit-1/polkitd --no-debug
    user      2060  0.0  1.5 331764 11604 ?        Sl   06:37   0:00 /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
    user      2419  0.0  0.1  15944   952 pts/12   S+   06:38   0:00 grep --color=auto polkit
    

    Você deve encontrar dois processos polkitd em execução por raiz e polkit-*-authentication-agent-1 pelo mesmo usuário da sessão.

  • Sim, você pode processá-los manualmente, eu tenho o Ubuntu desktop, então pode ser diferente. Chegar onde está:

    ~$ ls /etc/xdg/autostart/polkit-*
    /etc/xdg/autostart/polkit-gnome-authentication-agent-1.desktop
    
    ~$ grep -i exec= /etc/xdg/autostart/polkit-gnome-authentication-agent-1.desktop
    Exec=/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
    

    Execute:

    /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
    
por user.dz 04.07.2016 / 07:58