Estaba leyendo el manual de referencia escrito por David Z para pkexec en freedesktop.org:
https://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html
y
https://www.freedesktop.org/software/polkit/docs/latest/pkexec.1.html
El manual dice que usar la opción auth_admin_keep solo mantendrá su contraseña de 5 a 15 minutos y que si queremos establecer tiempos de espera personalizados, debemos escribir reglas personalizadas.
¿Alguien sabría cómo puedo escribir reglas personalizadas para el tiempo de espera? Traté de seguir el manual, pero no soy programador y no podía entender la sintaxis, no hubo ninguna mención de la sintaxis relacionada con el tiempo de espera.
Respuesta aceptada:
Desafortunadamente, el tiempo de espera parece estar codificado como 5 minutos en la fuente ascendente de PolicyKit, en el archivo src/polkitbackend/polkitbackendinteractiveauthority.c
.
En las líneas 3231-3236 dice:
/* 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;
Por lo tanto, el tiempo de espera se establece en 5 minutos en el código fuente y actualmente no existen disposiciones para cambiarlo sin volver a compilar las partes correspondientes de PolicyKit.
Por otro lado, OpenSuSE Leap 15 parece haber ampliado esta funcionalidad. Parece que han reinterpretado el ..._keep
acciones para significar "recordar la autenticación mientras se ejecuta el proceso de solicitud", y se agregó ..._keep_session
y ..._keep_always
acciones para significar "recordar la totalidad de esta sesión de inicio de sesión específica" y "recordar para siempre", respectivamente.