Polkit-125

Introduction à Polkit

Polkit est une trousse à outils pour définir et gérer les autorisations. Il est utilisé pour permettre aux processus non privilégiés de communiquer avec des processus privilégiés.

Ce paquet est connu pour pouvoir être construit et fonctionner correctement avec une plateform 12.2.

Informations sur le paquet

  • Téléchargement (HTTP) : https://github.com/polkit-org/polkit/archive/125/polkit-125.tar.gz

  • Téléchargement (FTP) :

  • Somme de contrôle MD5 du téléchargement : 8e9f2377fc7b4010bd29b97d2e288b4f

  • Taille du téléchargement : 444 Ko

  • Estimation de l'espace disque requis : 7,2 Mo (avec les tests)

  • Estimation du temps de construction : 0,3 SBU (avec les tests, avec parallélisme = 4)

Dépendances de Polkit

Requises

GLib-2.80.4 (GObject Introspection est recommandé)

Recommandées

[Note]

Note

Comme elogind utilise PAM pour enregistrer les sessions utilisateurs, il serait bien de construire Polkit avec la prise en charge de PAM pour que elogind puisse suivre les sessions Polkit.

Facultatives

GTK-Doc-1.34.0, dbusmock-0.32.1 (requis pour les tests) et SpiderMonkey de Firefox-115.14.0 (peut être utilisé à la place de duktape)

Dépendances à l'exécution facultatives

Un agent d'authentification polkit pour utiliser polkit dans l'environnement graphique : polkit-kde-agent dans Plasma-6.1.4 pour KDE, l'agent construit dans gnome-shell-46.4 pour GNOME3, polkit-gnome-0.105 pour XFCE et lxqt-policykit-2.0.0 pour LXQt

[Note]

Note

Si libxslt-1.1.42 est installé, alors docbook-xml-4.5 et docbook-xsl-nons-1.79.2 sont requis. Si vous avez installé libxslt-1.1.42, mais que vous ne voulez installer aucun des paquets DocBook mentionnés, vous devez utiliser -D man=false dans les instructions qui suivent.

Configuration du noyau

Certains tests nécessitent les espaces de nom utilisateurs. Si vous exécutez la suite de tests, activez-les :

General setup --->
  -*- Namespaces support --->                                       [NAMESPACES]
    [*] User namespace                                                 [USER_NS]

Installation de Polkit

Il doit y avoir un utilisateur et un groupe dédiés pour prendre le contrôle du démon polkitd après son démarrage. Tapez les commandes suivantes en tant qu'utilisateur root :

groupadd -fg 27 polkitd &&
useradd -c "PolicyKit Daemon Owner" -d /etc/polkit-1 -u 27 \
        -g polkitd -s /bin/false polkitd

Tout d'abord, corrigez un problème de construction pour les systèmes basés sur sysV :

sed -i '/systemd_sysusers_dir/s/^/#/' meson.build

Installez Polkit en exécutant les commandes suivantes :

mkdir build &&
cd    build &&

meson setup ..                    \
      --prefix=/usr               \
      --buildtype=release         \
      -D man=true                 \
      -D session_tracking=elogind \
      -D tests=true

Construisez le paquet :

ninja

Pour tester les résultats, assurez-vous d'abord que le démon D-Bus du système tourne et que D-Bus Python-1.3.2 et dbusmock-0.32.1 sont tous deux installés. Ensuite, lancez ninja test.

Maintenant, en tant qu'utilisateur root :

ninja install

Explication des commandes

--buildtype=release : spécifie le type de construction convenant aux versions stables de ce paquet, comme la valeur par défaut produit des binaires non optimisés.

-D tests=true : ce paramètre permet de lancer la suite de tests de ce paquet. Comme Polkit est utilisé pour les autorisation, son intégrité peut affecter la sécurité du système. Il est donc recommandé de lancer la suite de tests en construisant ce paquet.

-D js_engine=mozjs : ce paramètre permet d'utiliser le moteur JavaScript SpiderMonkey de Firefox-115.14.0 au lieu du moteur duktape-2.7.0.

-D os_type=lfs : utilisez ce paramètre si vous n'avez pas créé le fichier /etc/lfs-release ou l'auto-détection de la distribution échouera et vous ne pourrez pas utiliser Polkit.

-D authfw=shadow : Ce paramètre configure le paquet pour utiliser le système d'authentification Shadow au lieu de Linux-PAM. Utilisez-le si vous n'avez pas installé Linux-PAM.

-D introspection=false : utilisez cette option si vous êtes certain que vous n'avez pas besoin des fichiers gobject-introspection pour polkit, ou que vous n'avez pas installé GLib-2.80.4 avec GObject Introspection.

-D man=false : utilisez cette option pour désactiver la génération et l'installation des pages de manuel. C'est utile si vous n'avez pas installé libxslt.

-D examples=true : utilisez cette option pour construire les programmes d'exemple.

-D gtk_doc=true : utilisez cette option pour activer la construction et l'installation de l'API de la documentation.

Contenu

Programmes installés: pkaction, pkcheck, pkexec, pkttyagent et polkitd
Bibliothèques installées: libpolkit-agent-1.so et libpolkit-gobject-1.so
Répertoires installés: /etc/polkit-1, /usr/include/polkit-1, /usr/lib/polkit-1, /usr/share/gtk-doc/html/polkit-1 et /usr/share/polkit-1

Descriptions courtes

pkaction

est utilisé pour obtenir des informations sur les actions PolicyKit enregistrées

pkcheck

est utilisé pour vérifier si un processus est autorisé à faire une action

pkexec

permet à un utilisateur autorisé d'exécuter une commande en tant qu'utilisateur différent

pkttyagent

est utilisé pour démarrer un l'agent d'authentification en mode texte

polkitd

fournit le service D-Bus org.freedesktop.PolicyKit1 sur le bus de message du système

libpolkit-agent-1.so

contient les fonctions de l'API de Polkit pour l'authentification

libpolkit-gobject-1.so

contient les fonctions de l'API d'authentification Polkit