NetworkManager: Permitir modificar conexiones de sistema en xUbuntu | Algo de Linux

domingo, 26 de junio de 2016

NetworkManager: Permitir modificar conexiones de sistema en xUbuntu

Al igual que hacía en Debian, mi intención es seguir utilizando un script que establezca la conexión wifi automáticamente antes de que el usuario inicie sesión en el sistema.

Preparando la imagen xUbuntu 14.04 de los miniportátiles, observé que en el centro se establecía la conexión sin ningún problema, pero si lo hacía en casa, no funcionaba. La diferencia entre establecer la conexión en el centro o fuera de él está en que:
  • El el centro se realiza la conexión al punto de acceso abierto con mayor señal (Uso pfsense con un portal cautivo y freeradius).
  • Fuera del centro se establece conexión con el punto de acceso con mayor señal que tenga configurado el usuario.
Analizando un poco el tema, me di cuenta de que el problema estaba en que network-manager almancenaba las conexiones en el directorio de conexiones de sistema /etc/NetworkManager/system-connections, pero guardaba las contraseñas en el anillo de claves del usuario. Como consecuencia, por alguna razón, al tratar de establecer la conexión (creada por el usuario) como root, daba un error y no se realizaba.

Para solucionar el problema, he definido una política que permite modificar las conexiones de sistema a los usuarios del grupo students (unix-group:students) y a los usuarios del grupo teachers (unix-group:teachers).

/etc/polkit-1/localauthority/50-local.d/50-network-manager.pkla
[Network Manager Permissions]
Identity=unix-group:students;unix-group:teachers
Action=org.freedesktop.NetworkManager.settings.modify.system
ResultAny=yes
ResultActive=yes
ResultInactive=no 
De este modo, cuando el usuario establece una conexión con una red por primera vez, se almacena en el directorio /etc/NetworkManager/system-connections y la contraseña se almacena dentro del archivo de la conexión.
Publicado por primera vez en http://enavas.blogspot.com.es

No hay comentarios: