Polkit-123
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 12.0
platform.
Informations sur le paquet
Dépendances de Polkit
Requises
GLib-2.76.4
Recommandées
duktape-2.7.0, gobject-introspection-1.76.1,
libxslt-1.1.38, Linux-PAM-1.5.3
et elogind-252.9
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.13.0 (peut
être utilisé à la place de duktape) et dbusmock-0.29.1 (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.27.7 pour KDE, l'agent
construit dans gnome-shell-44.3 pour GNOME3,
polkit-gnome-0.105 pour XFCE et
lxpolkit dans LXSession-0.5.5 pour LXDE.
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
Si vous utilisez JS-102.13.0, effectuez les changement
suivants (voir l'explication des commandes plus bas pour plus
d'informations) :
sed -e 's/JS_Init/JS::DisableJitBackend(); &/' \
-i src/polkitbackend/polkitbackendjsauthority.cpp
Installez Polkit en exécutant les
commandes suivantes :
mkdir build &&
cd build &&
meson setup .. \
--prefix=/usr \
--buildtype=release \
-Dman=true \
-Dsession_tracking=libelogind \
-Dtests=true &&
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.29.1 sont tous deux installés.
Ensuite, lancez ninja
test.
Maintenant, en tant qu'utilisateur root
:
ninja install
Explication des commandes
sed -e
's/JS_Init/JS::DisableJitBackend(); &/' ...
: la compilation JIT de JS102 nécessite les droits W+X ce qui
est dangereux et n'est pas permis par le fichier d'unité
systemd fournit das le paquet
polkit. Cette commande n'est pas vraiment nécessaire sur les
systèmes basés sur sysvinit mais elle améliore tout de même la
sécurité. Elle n'a pas d'effet si vous construisez polkit avec le
moteur Javascript recommandé, duktape-2.7.0.
--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=mozjs
: ce paramètre
permet d'utiliser le moteur JavaScript JS-102.13.0 au lieu
du moteur duktape-2.7.0.
-Dos_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.
-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.
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
|