NetworkManager: Modificar políticas | Algo de Linux

lunes, 3 de octubre de 2011

NetworkManager: Modificar políticas

Recomendación. Modificar las políticas de este otro modo: http://enavas.blogspot.com.es/2012/10/networkmanager-modificar-politicas-ii.html

NetworkManager usa PolicyKit para ofrecer un control de acceso "de grano fino" a características específicas para asegurar que el administrador del sistema pueda controlar qué pueden hacer y que no pueden hacer los usuarios. Por ejemplo: Controlar que los usuarios puedan editar conexiones de sistema, crear redes adhoc abiertas, etc...

Como ya hablé en un artículo anterior, con NetworkManager podemos crear conexiones de sistema que se establezcan antes de que el usuario inicie sesión. Ver artículo: NetworkManager: Establecer conexión wifi antes de iniciar sesión en Debian

En el sistema de nuestro centro, nos interesa que los portátiles de alumnos y profesores establezcan la conexión inalámbrica antes de que el usuario inicie sesión para que puedan ejecutarse determinados procesos, como por ejemplo, la actualización de portátiles mediante puppet.

Para lograrlo, creé una conexión de sistema que permite realizar la conexión automática a la red del  centro, comprobé que estaba creada dentro del directorio: /etc/NetworkManager/system-connections/ y que funcionaba.

Pero me dí cuenta de que había un problema: Si creo una conexión inalámbrica, la guardo como conexión del sistema, marcando la casilla "Disponible para todos los usuarios" y el usuario cambia su clave de entrada al sistema (que es la misma para acceder a la wifi), el usuario no va a poder acceder a la wifi después de ello, porque para poder cambiar la clave, NetworkManager le pide la contraseña de administrador.

Para solucionar este problema, tendremos que cambiar la política de NetworkManager, modificando el fichero:

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

Concretamente, modificaremos la siguiente sección, que he acortado quitando las descripciones y mensajes de los diferentes idiomas para mostrarlo en este post:

<action id="org.freedesktop.network-manager-settings.system.modify">
    <description>Modify system connections</description>
    <description xml:lang="es">Modificar conexiones de sistema</description>
    <message xml:lang="es">Política de sistema evita modificación de configuración de sistema</message>
    <defaults>
      <allow_inactive>no</allow_inactive>
      <allow_active>auth_admin_keep</allow_active>
    </defaults>
  </action>

Para modificarlo no tenemos más que fijarnos en que es la sección que nos permite modificar conexiones de sistema (Modify system connections). Para ser más exactos, cambiaremos la línea que dice:

<allow_active>auth_admin_keep</allow_active>

por:

<allow_active>yes</allow_active>

Guardamos y listo. Ahora cuando el usuario tenga que cambiar los parámetros de conexión, como por ejemplo, su clave, NetworkManager no le pedirá la password de administrador.

Las posibles opciones son:
  • auth_admin
  • auth_admin_keep
  • yes
  • no
Un valor de "auth_admin" hará que se pida la password de administrador cada vez que un usuario quiera hacer cambios en la conexión.

Un valor de "auth_admin_keep" hará que se pida la password de administrador tan sólo una vez y se cacheará para no volver a pedírsela al usuario durante la misma sesión.

Un valor de "yes" hará que no se pida la password de administrador al usuario cuando éste quiera modificar la conexión. Éste es el valor que nosotros necesitamos usar en este caso.

Por último, un valor de "no" significa que se deniega el permiso completamente.

4 comentarios:

Hitmontop dijo...

Hola. Me gustaria saber si tienes alguna entrada referente a cómo cambiar el tamaño de la fuente de las consolas Ctl Alt F1, etc. Tengo ubuntu y las letras son demasiado chicas.
Saludos.

Esteban M. Navas dijo...

No, no he escrito nada al respecto.
A ver si te puedo ayudar:

Instala hwinfo y ejecútalo en un terminal para ver las resoluciones soportadas por tu tarjeta gráfica:

# hwinfo --framebuffer

Luego, con los datos, prueba a modificar grub para que cargue con una resolución más baja.

Anónimo dijo...

Gracias, uso varios escritorios pero el networkmanager porque el wicd a veces me daba problemas y en los escritorios que no son gtk como no puede pedirme con la ventana la contraseña no me la pedía y no me dejaba conectarme, sólo la primera vez.

Stox3 dijo...

Amigo, como voy al directorio donde cambiaré todo lo de network manager?