Stavo appena leggendo il manuale di riferimento scritto da David Z per pkexec su freedesktop.org:
https://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html
e
https://www.freedesktop.org/software/polkit/docs/latest/pkexec.1.html
Il manuale dice che l'uso dell'opzione auth_admin_keep manterrà la tua password solo per 5-15 minuti e che se vogliamo impostare timeout personalizzati dobbiamo scrivere regole personalizzate.
Qualcuno sa come posso fare per scrivere regole personalizzate per il timeout? Ho provato a seguire il manuale ma non sono un programmatore e non ero in grado di capire la sintassi, non c'erano menzioni fatte di sintassi relativi al timeout.
Risposta accettata:
Sfortunatamente il timeout sembra essere codificato come 5 minuti nel sorgente a monte di PolicyKit, nel file src/polkitbackend/polkitbackendinteractiveauthority.c
.
Alle righe 3231-3236 c'è scritto:
/* 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;
Pertanto, il timeout è impostato su 5 minuti all'interno del codice sorgente e al momento non ci sono disposizioni per modificarlo senza ricompilare le parti appropriate di PolicyKit.
D'altra parte, OpenSuSE Leap 15 sembra aver esteso questa funzionalità. Sembra che abbiano reinterpretato il ..._keep
azioni che significano "ricorda l'autenticazione mentre il processo di richiesta è in esecuzione" e aggiunto ..._keep_session
e ..._keep_always
azioni significano "ricorda per l'intera sessione di accesso specifica" e "ricorda per sempre", rispettivamente.