Eu modifiquei o pkexec para funcionar como o sudo, de modo que ele mantenha meu token de autenticação por um período de 5 minutos e me autentique como eu:
cat /etc/polkit-1/rules.d/40-wheel.rules
//https://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html
polkit.addRule(function(action, subject) {
if (subject.isInGroup("wheel") && subject.active) {
return "yes";
//return "auth_self_keep";
//return polkit.RESULT.AUTH_SELF_KEEP;
}
});
Por algum motivo, se eu usar a constante declarada no polkit, parece que não funciona, mas se eu passar o valor da string que ele deve ser, ele faz e me avisa de acordo.
Nos meus registros, vejo isso:
Operator of unix-process FAILED to authenticate to gain authorization for action org.freedesktop.policykit.exec for unix-process [/bin/zsh] ...
E a stdout / stderr é:
polkit-agent-helper-1: error response to PolicyKit daemon: GDBus.ERROR:org.freedesktop.PolicyKit1.Error.Failed: No session for cookie
Eu tenho o google authenticator configurado em pam para autenticação do sistema, mas mesmo depois de desabilitar isso (em pam) ele produz o mesmo resultado.
Tags polkit