Polkit-121

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.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if dependencies have been updated since the most recent stable versions of the book.

Informations sur le paquet

Dépendances de Polkit

Requises

GLib-2.72.3 et JS-91.12.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

D-Bus Python-1.2.18 and dbusmock-0.28.4 (both needed for tests), GTK-Doc-1.33.2, and duktape

Dépendances à l'exécution facultatives

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

[Note]

Note

Si libxslt-1.1.35 est installé, alors docbook-xml-4.5 et docbook-xsl-nons-1.79.2 sont requis. Si vous avez installé libxslt-1.1.35, 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=mozjs             \
      ..                            &&
ninja

To test the results, first ensure that the system D-Bus daemon is running, and both D-Bus Python-1.2.18 and dbusmock-0.28.4 are installed. Then run 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: This switch allows to run the test suite of this package. As Polkit is used for authorizations, its integrity can affect system security. So it's recommended to run the test suite building this package.

-Djs_engine=mozjs: This switch allows using the Mozilla JavaScript engine instead of Duktape.

-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

Last updated on