Polkit-122

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.

This package is known to build and work properly using an LFS 11.3 platform.

Informations sur le paquet

Dépendances de Polkit

Requises

GLib-2.74.5 et duktape-2.7.0

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.33.2, JS-102.8.0 (peut être utilisé à la place de duktape) et dbusmock-0.28.7 (pour les tests)

Dépendances à l'exécution facultatives

Un agent d'authentification polkit pour utiliser polkit dans l'environnement graphique : polkit-kde-agent dans Plasma-5.26.5 pour KDE, l'agent construit dans gnome-shell-43.3 pour GNOME3, polkit-gnome-0.105 pour XFCE et lxpolkit dans LXSession-0.5.5 pour LXDE.

[Note]

Note

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

Notes utilisateur : https://wiki.linuxfromscratch.org/blfs/wiki/polkit

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

Installez Polkit en exécutant les commandes suivantes :

mkdir build &&
cd    build &&

meson --prefix=/usr                 \
      --buildtype=release           \
      -Dman=true                    \
      -Dsession_tracking=libelogind \
      -Dsystemdsystemunitdir=/tmp   \
      -Dtests=true                  \
      -Djs_engine=duktape           \
      ..                            &&
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.28.7 sont tous deux installés. Ensuite, lancez meson test -t3.

Maintenant, en tant qu'utilisateur root :

ninja install &&
rm -v /tmp/*.service

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.

-Dtests=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.

-Djs_engine=duktape : ce paramètre permet d'utiliser le moteur JavaScript duktape-2.7.0. Remplacez par -Djs_engine=mozjs pour utiliser le moteur JavaScript JS-102.8.0.

-Dauthfw=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.

-Dintrospection=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é gobject-introspection.

-Dman=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.

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

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

Configuration de Polkit

Configuration de PAM

[Note]

Note

Si vous n'avez pas construit Polkit avec le support Linux PAM, vous pouvez sauter cette section.

Si vous avez construit Polkit avec le support Linux PAM, vous devrez modifier le fichier de configuration de PAM qui a été installé par défaut pour que Polkit fonctionne correctement avec BLFS. Tapez les commandes suivantes en tant qu'utilisateur root pour créer le fichier de configuration pour Linux PAM :

cat > /etc/pam.d/polkit-1 << "EOF"
# Begin /etc/pam.d/polkit-1

auth     include        system-auth
account  include        system-account
password include        system-password
session  include        system-session

# End /etc/pam.d/polkit-1
EOF

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