Je lisais juste le manuel de référence écrit par David Z pour pkexec sur freedesktop.org :
https://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html
et
https://www.freedesktop.org/software/polkit/docs/latest/pkexec.1.html
Le manuel indique que l'utilisation de l'option auth_admin_keep ne conservera votre mot de passe que pendant 5 à 15 minutes et que si nous voulons définir des délais d'expiration personnalisés, nous devons écrire des règles personnalisées.
Est-ce que quelqu'un saurait comment je peux écrire des règles personnalisées pour le délai d'attente ? J'ai essayé de suivre le manuel mais je ne suis pas un codeur et je n'étais pas capable de comprendre la syntaxe, aucune mention n'a été faite de la synthaxe liée au délai d'attente.
Réponse acceptée :
Malheureusement, le délai d'attente semble être codé en dur à 5 minutes dans la source amont de PolicyKit, dans le fichier src/polkitbackend/polkitbackendinteractiveauthority.c
.
Aux lignes 3231-3236, il est écrit :
/* TODO: right now the time the temporary authorization is kept is hard-coded - we
* could make it a propery on the PolkitBackendInteractiveAuthority class (so
* the local authority could read it from a config file) or a vfunc
* (so the local authority could read it from an annotation on the action).
*/
expiration_seconds = 5 * 60;
Ainsi, le délai d'expiration est défini sur 5 minutes dans le code source, et il n'existe actuellement aucune disposition permettant de le modifier sans recompiler les parties appropriées de PolicyKit.
En revanche, OpenSuSE Leap 15 semble avoir étendu cette fonctionnalité. Ils semblent avoir réinterprété le ..._keep
actions pour signifier "se souvenir de l'authentification pendant que le processus de demande est en cours d'exécution", et ajout de ..._keep_session
et ..._keep_always
actions signifient "se souvenir de l'intégralité de cette session de connexion spécifique" et "se souvenir pour toujours", respectivement.