web-dev-qa-db-fra.com

l'action / les règles de session inactive de polkit n'entrent jamais en vigueur

J'ai différents problèmes avec polkit qui ne fonctionne pas du tout pour les sessions inactives. Parce que je pense qu'ils partagent le même problème, je vais d'abord poster un exemple.

J'ai un nouveau serveur Ubuntu 14.04 avec le paquet lubuntu-desktop et xrdp installé. Lorsque je me connecte avec xrdp, je devrais avoir les restrictions normales car polkit a été défini. J'ai d'abord pensé que je n'avais tout simplement pas assez de permission pour certaines actions. J'ai donc changé certaines configurations selon mes besoins. Voici un exemple: double-cliquer sur un package .deb que je veux installer, le centre logiciel s'ouvre et je clique sur installer là:

polkit error message

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

(Quelque chose comme: vous n'êtes pas autorisé à effectuer cette action. Vous ne possédez pas les bonnes autorisations.)

Avant cela, j'ai configuré polkit pour autoriser cela pour ma session inactive (mais pour ma compréhension, auth_admin serait suffisant cependant). Un pkaction --verbose extrait:

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

Quoi qu'il en soit, je pense que polkit (agent?) Ne fonctionne pas du tout, car j'obtiens l'erreur suivante juste après la connexion avec xrdp:

polkit error message logged through xrdp

GDBus.Error: org.freedesktop.PolicyKit1.Error.Failed: impossible de déterminer l'utilisateur du sujet

Je suppose qu'il ne me trouve pas en tant qu'utilisateur? Comment puis-je vérifier si l'agent policykit s'exécute dans ma session xrdp? Puis-je le démarrer manuellement? Est-ce peut-être un bug?

Edit: Oui, cet utilisateur est dans le groupe admin, cet utilisateur a été créé lors de l'installation d'ubuntu. Il a également des droits Sudo.

2
Dionysius
  • Il ne semble pas obtenir le nom d'utilisateur du processus utilisateur, vérifiez vos variables d'environnement. xrdp peut différer de la session régulière:

    env | grep -i "user\|logname"
    
  • Pour vérifier si l'agent polkit est en cours d'exécution, utilisez terminal et exécutez ceci:

    ~$ 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
    

    Vous devriez trouver deux processus polkitd exécutés par root et polkit-*-authentication-agent-1 par le même utilisateur de la session.

  • Oui, vous pouvez les tartiner manuellement, j'ai un bureau Ubuntu donc ça peut différer. Obtenez où il 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
    

    Exécuter:

    /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
    
0
user.dz