NetworkManager: Modificar políticas II | Algo de Linux

lunes, 1 de octubre de 2012

NetworkManager: Modificar políticas II

Como ya vimos en el artículo "NetworkManager: Modificar políticas", si creamos una conexión inalámbrica y la guardamos como conexión del sistema, marcando la casilla "Disponible para todos los usuarios", cuando el usuario quiera cambiar su clave de entrada al sistema (que es la misma para acceder a la wifi), no va a poder hacerlo porque NetworkManager le pide la contraseña de administrador.

Para solucionar este problema, tendremos que cambiar la política de NetworkManager.

En el artículo "NetworkManager: Modificar políticas", lo hicimos modificando el fichero:

/usr/share/polkit-1/actions/org.freedesktop.network-manager-settings.system.policy

El problema de hacerlo así es que, si se produce una actualización del paquete  network-manager, se modificará dicho archivo y perderemos las modificaciones que hubiéramos realizado.

Otra opción es utilizar pklocalauthority, que nos va a permitir crear una política local para nuestro caso. No voy a entrar en detalles sobre pklocalauthority ahora. Tan sólo voy a contar la solución al problema.

Creamos un fichero, dentro de /etc/polkit-1/localauthority/50-local.d/ y le llamamos, por ejemplo: 50-network-manager.pkla

# nano /etc/polkit-1/localauthority/50-local.d/50-network-manager.pkla

Y le añadimos el siguiente contenido:

[Network Manager Permissions]
Identity=unix-group:students;unix-group:teachers
Action=org.freedesktop.network-manager-settings.system.modify
ResultAny=yes
ResultActive=yes
ResultInactive=no

Básicamente estamos definiendo que se permita realizar modificaciones en los ajustes de network-manager (Action=org.freedesktop.network-manager-settings.system.modify), sin solicitar contraseña de administrador a los usuarios de los grupos students y teachers (Identity=unix-group:students;unix-group:teachers)