
¿Alguien sabe cómo configurar polkit-gnome-authentication-agent-1 para que inicialmente utilice de forma predeterminada el usuario actual al manejar una solicitud o, alternativamente, si uno de los otros agentes de polkit tiene esta capacidad?
Al autenticarme para realizar una acción de polkit con un agente como polkit-gnome-authentication-agent-1
, debido a que tengo varios usuarios en el wheel
grupo, se me proporciona un menú desplegable para seleccionar con qué usuario autenticarme.
Este es un paso adicional irritante, cuando en la mayoría de los casos el usuario con el que quiero autenticarme es el usuario actualmente conectado*. Mi comportamiento preferido es que el usuario que ha iniciado sesión actualmente esté preseleccionado y se me lleve directamente a ingresar la contraseña, con la opción de cambiar a otro usuario si eso es lo que quiero.
Soy consciente de que es posible restringir los usuarios que aparecen en la lista mediante reglas de polkit, pero mi ingenuo entendimiento de esas reglas es que cambian quién es.permitidopara autenticarse para ciertas acciones, y que este comportamiento está en el ámbito del agente GUI de polkit. ¿O me equivoco y la selección predeterminada es algo que se puede configurar mediante reglas de polkit?
ReiterarNo deseo cambiar qué usuarios/grupos pueden autenticarse para realizar acciones de polkit, pero simplemente hacer que la interfaz de usuario sea un poco más rápida para moverse con un mínimo de pulsaciones de teclas y definitivamente sin roedores.
* Reconozco plenamente que este podría ser el comportamiento más sensato para la mayoría de las implementaciones, pero para mí es incómodo.
Respuesta1
La forma en que logré resolver este problema es agregando un archivo personalizado con /etc/polkit-1/rules.d/
el nombre 00-custom.rules
de las siguientes líneas, para anular 50-default.rules
:
polkit.addAdminRule(function(action, subject) {
if( subject.isInGroup("wheel") ) {
return ["unix-user:"+subject.user];
}
else {
return [polkit.Result.NO];
}
});
De esta manera, al usuario actual, si está presente en el wheel
grupo, se le solicitará su contraseña; en caso contrario, se le solicitará la contraseña de root.