Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
policykit [Le 10/10/2021, 12:40] 86.215.34.61 [Créer ou modifier des "policy"] Mise à jour lien freedesktop.org |
policykit [Le 05/08/2023, 15:08] (Version actuelle) Coeur Noir [Exemples] |
||
|---|---|---|---|
| Ligne 17: | Ligne 17: | ||
| Parmi les programmes capables d'utiliser PolKit, on peut citer : | Parmi les programmes capables d'utiliser PolKit, on peut citer : | ||
| * [[:gnome-packagekit|GNOME Paquets]] | * [[:gnome-packagekit|GNOME Paquets]] | ||
| - | * [[:flatpak]] | ||
| * [[:gnome-software|GNOME Logiciels]] | * [[:gnome-software|GNOME Logiciels]] | ||
| + | * [[:gnome-disk-utility|GNOME Disques]] | ||
| + | * [[gparted|GParted : éditeur de partitions]] | ||
| + | * [[:flatpak]] | ||
| * [[:plasma-discover|Plasma Discover]] | * [[:plasma-discover|Plasma Discover]] | ||
| * [[:Nautilus]] | * [[:Nautilus]] | ||
| * Les paramètres système (concernant l'ajout d'utilisateur par exemple) | * Les paramètres système (concernant l'ajout d'utilisateur par exemple) | ||
| - | * [[:gnome-disk-utility|GNOME Disques]] | ||
| * etc. | * etc. | ||
| Ligne 29: | Ligne 30: | ||
| === L'exemple de Nautilus === | === L'exemple de Nautilus === | ||
| - | À partir d'Ubuntu [[:17.10]], dans l'explorateur de fichiers [[:Nautilus]], on peut faire précéder l'adresse (accessible en faisant "''Ctrl L''") par le préfixe ''admin:/''''/''''/'' (exemple : ''admin:/''''/''''/''''/usr/share/applications/''), le mot de passe sera alors demandé, et l'emplacement en question sera ouvert avec les droits d'administration. Vous pourrez notamment y modifier des fichiers avec [[:gedit]]. | + | À partir d'Ubuntu [[:17.10]], dans le gestionnaire de fichiers [[:Nautilus]], on peut faire précéder l'adresse (accessible en faisant "''Ctrl L''") par le préfixe <code>admin://</code> exemple : <code>admin:///usr/share/applications/</code> le mot de passe sera alors demandé, et l'emplacement en question sera ouvert avec les droits d'administration. Vous pourrez notamment y modifier des fichiers avec [[:gedit]]. |
| Pourtant, remarquez que Nautilus conserve la configuration de l'utilisateur courant (signets, thèmes, ...) : **PolKit** agit comme un filtre très précis, qui ne prend à //root// que ses privilèges de lecture et d'écriture dans les dossiers, sans prendre sa configuration. | Pourtant, remarquez que Nautilus conserve la configuration de l'utilisateur courant (signets, thèmes, ...) : **PolKit** agit comme un filtre très précis, qui ne prend à //root// que ses privilèges de lecture et d'écriture dans les dossiers, sans prendre sa configuration. | ||
| Ligne 35: | Ligne 36: | ||
| ===== Installation ===== | ===== Installation ===== | ||
| - | Le paquet qui installe PolKit est [[apt>policykit-1]], **il est déjà installé** par défaut sur le système. | + | Le paquet qui installe PolKit est [[apt>policykit-1]], **il est déjà installé** par défaut sur Ubuntu Gnome, Mate, Xfce et Cinnamon |
| + | Pour voir la configuration à partir d'une interface graphique, installer [[https://github.com/scarygliders/Polkit-Explorer|polkit-explorer]] | ||
| ===== Utilisation ===== | ===== Utilisation ===== | ||
| ==== Créer ou modifier des "policy" ==== | ==== Créer ou modifier des "policy" ==== | ||
| - | Pour gérer les règles il faut donc [[:tutoriel:comment_modifier_un_fichier|éditer les fichiers]] de configuration à la main avec [[:sudo|les droits d'administration]] présent dans le dossier **/var/lib/polkit-1/**. | + | Pour gérer les règles il faut donc [[:tutoriel:comment_modifier_un_fichier|éditer les fichiers]] de configuration à la main avec [[:sudo|les droits d'administration]]. La configuration se fait avec des règles et des actions : |
| + | * Les Actions sont définies dans des fichiers XML .policy situés dans **/usr/share/polkit-1/actions** | ||
| + | * Les règles d'autorisation sont définies dans les fichiers .rules JavaScript. On les trouve à deux endroits : | ||
| + | * **/usr/share/polkit-1/rules.d** pour les paquets tiers peuvent utiliser (bien que peu, voire aucun, ne le fasse) | ||
| + | * **/etc/polkit-1/rules.d** pour la configuration locale. | ||
| La documentation vous aidant à écrire les jolies règles personnalisées pour donner "juste ce qu'il faut" de droits à vos utilisateurs, tapez dans un [[:terminal]] : | La documentation vous aidant à écrire les jolies règles personnalisées pour donner "juste ce qu'il faut" de droits à vos utilisateurs, tapez dans un [[:terminal]] : | ||
| Ligne 49: | Ligne 56: | ||
| + | La page [[https://askubuntu.com/questions/383747/how-to-configure-pkexec-to-not-ask-for-password|How to configure pkexec to not ask for password ?]] donne également un exemple intéressant de comment demander à pkexec d'arreter de demander un mot de passe. A configurer avec prudence pour des raisons de sécurité ! | ||
| + | |||
| + | |||
| + | ==== Exemple simple ==== | ||
| + | |||
| + | === /etc/polkit-1/rules.d/MaRegle.rules === | ||
| + | <code> | ||
| + | [Allow monApplication] | ||
| + | Identity=unix-group:sudo | ||
| + | Action=org.freedesktop.policykit.exec | ||
| + | ResultActive=yes | ||
| + | </code> | ||
| + | |||
| + | |||
| + | === /usr/share/polkit-1/actions === | ||
| + | <code> | ||
| + | |||
| + | <?xml version="1.0" encoding="UTF-8"?> | ||
| + | <!DOCTYPE policyconfig PUBLIC | ||
| + | "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN" | ||
| + | "http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd"> | ||
| + | <policyconfig> | ||
| + | |||
| + | <action id="com.ubuntu.pkexec.monApplication"> | ||
| + | <message gettext-domain="monApplication">Authentication is required to execute actions</message> | ||
| + | <icon_name>configurator</icon_name> | ||
| + | <defaults> | ||
| + | <allow_any>yes</allow_any> | ||
| + | <allow_inactive>yes</allow_inactive> | ||
| + | <allow_active>yes</allow_active> | ||
| + | </defaults> | ||
| + | <annotate key="org.freedesktop.policykit.exec.path">maCommandeALaquelleJeVeuxDesAutorisationsSpeciales</annotate> | ||
| + | <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate> | ||
| + | </action> | ||
| + | |||
| + | </policyconfig> | ||
| + | </code> | ||
| + | |||
| + | Ici, vous remplacerez monApplication et maCommandeALaquelleJeVeuxDesAutorisationsSpeciales | ||
| + | Ex : | ||
| + | * monApplication = gparted | ||
| + | * maCommandeALaquelleJeVeuxDesAutorisationsSpeciales = /usr/sbin/gparted | ||
| ===== La commande pkexec ===== | ===== La commande pkexec ===== | ||
| Ligne 70: | Ligne 119: | ||
| ---- | ---- | ||
| - | //Contributeurs : [[utilisateurs:Tshirtman]], [[utilisateurs:l_africain|L'Africain]], [[utilisateurs/roschan]], | + | //Contributeurs : [[utilisateurs:Tshirtman]], [[utilisateurs:l_africain|L'Africain]], [[utilisateurs/roschan]], |
| , ...// | , ...// | ||