Algo de Linux: noviembre 2013

jueves, 28 de noviembre de 2013

Configurar Switch OvisLink FSH-2402GW por primera vez



La IP por defecto de este swich es 192.168.0.100. Por lo tanto, para configurarlo por primera vez, tendremos que conectarlo a un equipo y configurarlo con una IP dentro de dicho rango.

Una vez hecho ésto, abrimos el navegador y escribimos la IP del switch en la barra de direcciones:


El usuario administrador es 'admin' y su password por defecto 'ovislink'. Lo introducimos y entraremos en la configuración:


Una vez dentro, lo primero que debemos hacer es cambiar la password del administrador y configurar el switch con una IP fija dentro de nuestro rango para que podamos gestionarlo de forma remota:


Publicado por primera vez en http://enavas.blogspot.com.es

miércoles, 27 de noviembre de 2013

Matar procesos de usuario y limpiar archivos temporales en servidores LTSP

Cuando un usuario inicia sesión, a medida que va abriendo aplicaciones se van creando procesos y más procesos. Además, cuando inicia sesión en un thinclient, se crean archivos temporales en el directorio /tmp del servidor de terminales.  Si todo va bien, cuando cierre la sesión, todos sus procesos se cerrarán, aunque es posible que los archivos del directorio /tmp permanezcan por si el usuario vuelve a iniciar sesión. 

Pero, ¿qué sucede si el usuario apaga bruscamente el terminal desconectándolo de la corriente? ¿Y si el equipo se bloquea por algún motivo? En ese caso, lo más probable es que sus procesos queden abiertos en el servidor LTSP, creándonos casi seguro algún tipo de problema.

Para limpiar los procesos y los archivos temporales de un usuario que, en un momento determinado, no se encuentra activo en el sistema preparé el siguiente script que se ejecuta en el servidor de terminales:

#!/bin/bash
#
# Este script  elimina los ficheros temporales de los usuarios que no están activos en el sistema
# Esteban M. Navas Martín
# 20/06/2013

# Obtenemos la lista de usuarios que han iniciado sesión en terminales
w | grep '192.168.0' > /tmp/userstoclean

# Para cada usuario que haya iniciado sesión en un terminal...
while read SESION ; do

   USUARIO=`echo $SESION | cut -f1 -d" "`

   IP=`echo $SESION | cut -f3 -d" "`
   SESIONKO=`arp -i eth0 | grep 'incomplete' | grep $IP`

   if [ ! -z "$SESIONKO" ]; then
      # Borramos los temporales creados al iniciar sesión los usuarios en los terminales
      find /tmp -not -user root -user $USUARIO -exec rm -r {} \; 2>/dev/null

      # Matamos todos los procesos del usuario
      pkill -9 -u $USUARIO
   fi
done < /tmp/userstoclean

rm /tmp/userstoclean

Para que se ejecute de forma periódica cada cierto tiempo, no tenemos más que poner una tarea cron mediante puppet.

La idea de este script es examinar en la tabla ARP del servidor de terminales aquellas entradas que correspondan al interfaz que da servicio a los terminales, que en nuestro caso es eth0 y comprobar que en la entrada figura que la resolución IP - MAC está incompleta. Si no hay resolución y hay un usuario en el sistema que inició sesión en la red "192.168.0", podemos matar sus procesos porque el usuario no está logueado.

Dejo aquí el enlace del script, por si queréis descargarlo: cleantmpinactiveusers.

Publicado por primera vez en http://enavas.blogspot.com.es

Modificado el script apagaterminales.sh

He modificado el script que apaga los thinclients al apagar, reiniciar o cerrar sesión en el servidor LTSP y lo he cambiado en el artículo que ya publiqué en su día sobre este tema para que se muestre la versión actualizada:

http://enavas.blogspot.com.es/2013/05/apagar-automaticamente-thinclients-al.html

El motivo de la actualización ha sido añadir la siguiente mejora: Hacer limpieza en el servidor LTSP borrando los archivos temporales y matando los procesos de aquellos usuarios que hayan iniciado sesión en thinclients.

Publicado por primera vez en http://enavas.blogspot.com.es

lunes, 25 de noviembre de 2013

Personalizar el lanzador de aplicaciones de Google

Supongo que casi todo el mundo conoce el lanzador de aplicaciones de Google, ese icono que os aparece cuando iniciáis sesión y que está compuesto por una matriz de 3x3 cuadritos de color gris. En la siguiente imagen podéis ver a qué me refiero porque os lo he marcado con un círculo rojo:


Este lanzador es tremendamente útil porque, al hacerle un clic, nos va a servir para acceder directamente a otras aplicaciones de Google (También podemos hacer que se despliegue el menú de aplicaciones al pasar el cursor sobre él):

El problema de este lanzador de aplicaciones es que es fijo y no se puede modificar. 

Pues bien. Existe una extensión para Google Chrome, llamada App Launcher Customizer for Google, que nos va permitir cosas bastante interesantes como:
  • Modificar las aplicaciones que queremos mostrar, añadiendo y/o quitando aplicaciones.
  • Reordenarlas para que aparezcan en primer lugar las que más utilizamos.
  • Añadir nuevos lanzadores para otras aplicaciones y páginas web.

Publicado por primera vez en http://enavas.blogspot.com.es

Establecer un proxy en Firefox/Iceweasel

Si queréis configurar Firefox para que use vuestro proxy a la hora de salir a internet, no tenéis que crear un fichero de políticas, como ya vimos en el post http://enavas.blogspot.com.es/2013/11/definir-politicas-en-firefoxiceweasel.html y añadir las siguientes directivas al fichero de configuración:

// Forzar el uso de proxies 
lockPref("network.proxy.type", 1); 
lockPref("network.proxy.http", "172.19.144.3"); 
lockPref("network.proxy.http_port", 3128);

Con las tres directivas anteriores le estamos indicando a Firefox el proxy http que debe usar: 172.19.144.3 y el puerto del mismo: 3128.  Además, como estoy definiendo las directivas con lockPref, el usuario no podrá cambiarlas.

Si en lugar de obligar a usar un proxy, quiero desactivar el uso de proxies, y que se use la configuración por defecto que exista en la red, cambiaré las directivas anteriores por la siguiente:

// Desactivar el uso de proxies 
// lockPref("network.proxy.type", 0);

Publicado por primera vez en http://enavas.blogspot.com.es

viernes, 22 de noviembre de 2013

Recurso para limpiar reports de puppet en el servidor

A continuación os dejo un enlace a un recurso puppet para limpiar los reports de puppet en el servidor: cleanpuppetreports.pp

Éste es su contenido:

# Recurso para limpiar los reports de puppet en el servidor
# Modo de uso: puppet apply cleanpuppetreports.pp
# Es posible especificar segundos, minutos, horas, dias o semanas
# Esteban M. Navas Martín
# IES Valle del Jerte - Plasencia
# 22/11/2013

tidy { "/var/lib/puppet/reports":
age => "1w",
recurse => true,
}

Como podéis ver es muy sencillo y lo único que hace es eliminar los reports de puppet con más de una semana de antigüedad. 
Publicado por primera vez en http://enavas.blogspot.com.es

Definir políticas en Firefox/Iceweasel

Como todos sabéis, es posible modificar ajustes de Firefox o Iceweasel, escribiendo el "comando" about:config en la barra de direcciones de Firefox o Iceweasel. Pero, además, también es posible colocar todos los ajustes que queramos en un fichero de configuración. ¿Para qué? Bueno, pues simplemente para establecer una serie de preferencias para todo usuario que inicie sesión en la máquina donde hemos especificado dichas preferencias.

Veamos cómo hacerlo:

En Firefox, tendremos que colocar un fichero llamado local-settings.js dentro del directorio de preferencias. Por ejemplo, si tenemos instalado firefox en /opt/firefox, colocaremos el fichero en la siguiente ubicación: /opt/firefox/defaults/pref/.

Dentro de  este fichero (/opt/firefox/defaults/pref/local-settings.js) pondremos dos directivas:

# cat /opt/firefox/defaults/pref/local-settings.js

("general.config.obscure_value", 0);
pref("general.config.filename", "firefox.cfg");

Como estamos indicando a Firefox que el fichero de configuración se llama firefox.cfg, tendremos que crear un fichero llamado firefox.cfg dentro del directorio donde hayamos instalado firefox. Por ejemplo: /opt/firefox/firefox.cfg

Una vez hecho ésto, no tendremos más que añadir preferencias dentro de este fichero y se aplicarán a todos los usuarios de la máquina.

Veamos un ejemplo: Si añadimos las siguientes preferencias al fichero /opt/firefox/firefox.cfg le estaremos diciendo a firefox que debe usar como página de inicio la que nosotros le estamos indicando:

// Establecemos la página de inicio
pref("browser.startup.page", 1);
pref("browser.startup.homepage", "http://iesvallejertepla.juntaextremadura.net");

Decir que podemos usar dos tipos de preferencias: "pref" y "lockPref":
  • Si definimos una preferencia como "pref", permitiremos que el usuario pueda cambiarla.
  • Si definimos una preferencia como "lockPref", estará bloqueada y el usuario no podrá cambiarla.
Ejemplo: Podemos establecer como preferencia que se establezca que el papel a usar en el navegador es A4, y que el usuario no pueda cambiarla:

// Definimos como papel por defecto A4
lockPref("print.postscript.paper_size","A4");

Una cuestión importante que me ha dado problemas al actualizar Firefox a la versión 25: Antes podíamos escribir "pref" o "Pref" a la hora de establecer una preferencia. A partir de esta versión, tan sólo se puede escribir "pref" (en minúsculas). No sé si será un bug, pero me ha creado muchos problemas porque el navegador no se abría y mostraba un mensaje un error con el fichero de preferencias.

Si queréis establecer preferencias en Iceweasel, no tenéis más que colocarlas del mismo modo dentro del fichero /etc/iceweasel/pref/iceweasel.js

Publicado por primera vez en http://enavas.blogspot.com.es

miércoles, 20 de noviembre de 2013

Actualización del firmware 1.02 de la D5100

Recientemente, Nikon ha publicado una nueva versión del firmware para nuestra Nikon D5100. Esta actualización maximiza el rendimiento de la batería EN-EL14a, permitiendo capturar más imágenes. A continuación os dejo el enlace al artículo en español:


He podido descomprimir el archivo exe en linux sin ningún problema para extraer el firmware.

Publicado por primera vez en http://enavas.blogspot.com.es

martes, 19 de noviembre de 2013

Paquetes de firefox 25.0.1 para instalar en las máquinas de los IES

A continuación dejo dos enlaces para descargar los paquetes de 32 y 64 bits creados "de forma rápida" para instalar firefox 25.0.1 en el directorio /opt/firefox/ de las máquinas del instituto. 

Importante: Estos paquetes tan sólo colocan firefox en /opt/firefox/. No cambian el enlace de /usr/bin/iceweasel a /opt/firefox/firefox para que se siga pudiendo usar iceweasel como navegador por defecto. 

Para realizar el cambio de iceweasel a firefox o firefox a iceweasel, tengo dos tareas puppet:
  • activa-firefox 
  • activa-iceweasel 
De este modo, si quiero que los portátiles, los servidores ltsp o los workstation usen firefox, les pongo la tarea activa-firefox y si quiero que usen iceweasel, les pongo la tarea activa-iceweasel.
Publicado por primera vez en http://enavas.blogspot.com.es

domingo, 17 de noviembre de 2013

Copy: 15 GB iniciales de almacenamiento en la nube

Copy es uno de los servicios de almacenamiento en la nube que me gustaría recomendaros debido a que reúne una serie de características que le otorgan ciertas ventajas sobre otros. Veamos cuáles son:
  • Nos ofrece una capacidad inicial de almacenamiento de 15 GB en las cuentas gratuitas, lo que está francamente bien. Además, si te registras por invitación de otro usuario, conseguirás 5 GB extras. Por si alguien quiere registrarse mediante mi invitación, no tiene más que hacer clic sobre el siguiente enlace: https://copy.com?r=oPhrPU y ambos recibiremos 5 GB más de espacio en nuestra cuenta.
  • Algo que me parece muy importante para los que trabajamos con Linux: Tiene un cliente de sincronización de archivos para Linux, algo que muchos otros servicios de almacenamiento no tienen y que parece que no les interesa tener porque muchos usuarios lo demandan y da la impresión de que hacen caso omiso. Por supuesto tiene también cliente para Mac OS, Windows.
  • También dispone de apps para dispositivos móviles Android, iPhone y Windows Phone.
  • Toda comunicación con el almacenamiento es encriptada mediante SSL. Además los datos se almacenan encriptados con AES 256.
  • Nos permite compartir nuestros archivos de forma pública o privada de una manera muy sencilla. 
En cuanto a la instalación del cliente para linux es muy sencilla:

Descargamos Copy:
# wget http://copy.com/install/linux/Copy.tgz

Lo descomprimimos:
# tar xvzf Copy.tgz


Si nuestro sistema es de 32 bits, entramos dentro de la carpeta x86 e instalamos:
# cd copy/x86
# ./CopyAgent

Si nuestro sistema es de 64 bits, entramos dentro de la carpeta x86_64 e instalamos:

# cd copy/x86_64
# ./CopyAgent

Se nos abrirá una ventana de instalación:


Escribimos nuestro e-mail en el cuadro "User Email" y una contraseña en el campo "Password".

Si ya hemos creado nuestra cuenta, haremos clic en "Login".
Si queremos crear una nueva cuenta, haremos clic en "Create Account".

Una vez hecho ésto, veremos un icono en la barra de tareas como el que os muestro en el círculo de la siguiente imagen:

Además, se creará una carpeta "Copy" en nuestro directorio home, donde copiaremos los archivos para que se sincronicen con el servidor.

Y eso es todo.

Publicado por primera vez en http://enavas.blogspot.com.es

Cambiar display al Galaxy Mini/Galaxy Mini Pop Plus

Si tenéis que cambiar el display de vuestro Galaxy Mini (S5570) o Galaxy Mini Pop Plus (S5570i) os recomiendo ver el siguiente vídeo de José Torrano:

http://www.youtube.com/watch?v=o63q1d9Reu0

En él muestra paso a paso como cambiar el display del S5570. Puesto que ambos dispositivos tienen la misma pantalla, he cambiado el display del S5570i siguiendo sus instrucciones. Gracias por compartirlo!
Publicado por primera vez en http://enavas.blogspot.com.es

sábado, 16 de noviembre de 2013

Filtrar por usuario mediante squid + ldap

Lo más habitual es que utilicemos Squid en modo transparente para filtrar tráfico en nuestra organización y  supongo que se debe a que es la opción que menos trabajo da porque no nos obliga a configurar cada navegador de cada equipo para usar nuestro proxy. No obstante, en ocasiones puede ser muy interesante filtrar en modo no transparente o, si no tenemos posibilidad de cambiarlo todo, usar ambos mecanismos.

Así que, si pensáis en que queréis o necesitáis filtrar por usuario, es imprescindible que éste acceda a internet en modo no transparente. De otro modo, el filtrado por usuario no va a funcionar. ¿Y qué implica ésto? Que el usuario deberá introducir su login y su password cada vez que abra el navegador. Y os dirán que es muy incómodo tener que teclearlo una y otra vez. Bueno, pues les decís que dejen que el navegador guarde los datos de acceso.

Autenticación externa.- 
Para lograr que squid filtre por usuario vamos a utilizar un programa de autenticación externo. Si queréis, podéis escribir vuestro propio programa/script de autenticación externo, pero no os preocupéis porque squid ya nos proporciona unos cuantos.

En Debian, encontraréis los programas de autenticación externos que squid nos proporciona en el directorio /usr/lib/squid/. Como nuestra autenticación está basada en ldap, de todos los programas que hay, usaremos dos:
  • ldap_auth: Para validar usuarios.
  • squid_ldap_group: Para validar grupos.

Validación de usuarios.-
Antes de configurar squid, lo mejor que podemos hacer es utilizar el programa de autenticación externa desde un terminal para comprobar que funcionan las consultas que el programa va a realizar al servidor ldap. Veamos cómo:

Suponiendo que el nombre de nuestro servidor es "ldap", la base del árbol ldap donde se encuentran los usuarios es "ou=People,dc=instituto,dc=extremadura,dc=es" y utilizamos la versión 3 del protocolo LDAP, abrimos un terminal y ejecutamos el programa:

# /usr/lib/squid/ldap_auth -h ldap -b "ou=People,dc=instituto,dc=extremadura,dc=es" -v 3

Al ejecutarlo, el programa quedará esperando a que introduzcamos un usuario y su contraseña, separados por un espacio en blanco.

Si introducimos un usuario y un password válidos en ldap, nos devolverá OK:

root@ldap:~# /usr/lib/squid/ldap_auth -h ldap -b "ou=People,dc=instituto,dc=extremadura,dc=es" -v 3

profesor claveprofesor

OK

Si introducimos un usuario que no existe o el password introducido no es válido en ldap, nos devolverá ERR Success:

root@ldap:~# /usr/lib/squid/ldap_auth -h ldap -b "ou=People,dc=instituto,dc=extremadura,dc=es" -v 3

profesor claveerronea

ERR Success

Cuando terminemos de hacer comprobaciones, pulsamos Ctrl+C y saldremos del programa.

Validación de grupos.-
Además de establecer un control por usuario, puede que nos interese realizar también un control por grupos,  para establecer reglas en squid que controlen el acceso a los contenidos en función del grupo al que pertenece el usuario.
Al igual que en el caso anterior, lo mejor que podemos hacer es utilizar el programa de autenticación externa desde un terminal para comprobar que funcionan las consultas que el programa va a realizar al servidor ldap. Veamos cómo:

Suponiendo que el nombre de nuestro servidor es "ldap", la base del árbol ldap donde se encuentran los grupos es "ou=Group,dc=instituto,dc=extremadura,dc=es" y utilizamos la versión 3 del protocolo LDAP, abrimos un terminal y ejecutamos el programa:

# /usr/lib/squid/squid_ldap_group -h ldap -b "ou=Group,dc=instituto,dc=extremadura,dc=es" -f "(&(objectClass=posixGroup)(cn=%a)(memberuid=%v))" -B "ou=People,dc=instituto,dc=extremadura,dc=es" -v 3 -s sub

Como podéis ver, con el parámetro -f, indicamos el filtro para comprobar que un usuario es miembro de un grupo. Al ejecutarlo, el programa quedará esperando a que introduzcamos un usuario y un grupo, separados por un espacio en blanco.

Si introducimos un usuario y un grupo al que pertenece el usuario, nos devolverá OK:

# /usr/lib/squid/squid_ldap_group -h ldap -b "ou=Group,dc=instituto,dc=extremadura,dc=es" -f "(&(objectClass=posixGroup)(cn=%a)(memberuid=%v))" -B "ou=People,dc=instituto,dc=extremadura,dc=es" -v 3 -s sub

ponente teachers
OK

Si introducimos un usuario que no existe o existe pero no pertenece al grupo introducido, nos devolverá ERR:

# /usr/lib/squid/squid_ldap_group -h ldap -b "ou=Group,dc=instituto,dc=extremadura,dc=es" -f "(&(objectClass=posixGroup)(cn=%a)(memberuid=%v))" -B "ou=People,dc=instituto,dc=extremadura,dc=es" -v 3 -s sub

ponente students

ERR

Cuando terminemos de hacer comprobaciones, pulsamos Ctrl+C y saldremos del programa.

Configurar squid para autenticar usuarios.-
Bien, pues una vez que hemos visto cuáles son los programas de autenticación de usuarios y grupos mediante ldap que squid nos proporciona, ahora vamos a ver cómo configurar squid para autenticar usuarios.

Lo primero que haremos será editar el fichero /etc/squid/squid.conf:

# nano /etc/squid/squid.conf

Una vez abierto, buscamos el TAG: auth_param. Si no lo tenéis porque habéis quitado los comentarios de este fichero, buscadlo en el archivo squid.conf original, que viene completamente comentado, para saber en qué parte del squid.conf debéis insertar las siguientes líneas y las insertamos al final de la sección TAG: auth_param:

auth_param basic program /usr/lib/squid/ldap_auth -h ldap -b "ou=People,dc=instituto,dc=extremadura,dc=es" -v 3
auth_param basic children 5

Como podéis ver, básicamente estamos definiendo el programa que vamos a usar como autenticador y es el mismo que habíamos comprobado que funcionaba desde la línea de comandos.

A continuación nos vamos a la sección del documento donde se definen las ACL. Para ello buscamos el TAG: acl, nos desplazamos al final de esta sección e insertamos la siguiente línea:

# acl ldapauth proxy_auth REQUIRED

Por último, buscamos el TAG: http_access e insertamos una línea como la siguiente:

# http_access allow ldapauth

Esta vez no insertamos la línea al final de la sección. Tendremos que insertarla en el lugar que corresponda de acuerdo con las otras reglas que tengamos establecidas.

Una vez hecho ésto, reiniciamos squid para aplicar los cambios y listo:

# service squid restart

Configurar squid para restringir algunos usuarios.-
Por otra parte, en la sección donde se definen las ACL podríamos definir una nueva como la siguiente:

# acl usuariosrestringidos proxy_auth "/etc/squid/acl/deny_users"

Y en la sección de reglas definir reglas de filtrado para los usuarios que especifiquemos en el archivo /etc/squid/acl/deny_users

Configurar squid para autenticar grupos.-
Con lo expuesto anteriormente, todos aquellos usuarios registrados en el servidor ldap podrán navegar por internet. Eso sí, al abrir el navegador se les solicitará que introduzcan su usuario y contraseña.

Si ahora queremos ir un paso más allá y permitir o denegar que los usuarios de un cierto grupo naveguen o que lo hagan de forma limitada,  vamos a volver a modificar el fichero squid.conf.

# nano /etc/squid/squid.conf

Una vez abierto el fichero, buscamos la regla:

http_access allow ldapauth

Y la comentamos:

# http_access allow ldapauth

A continuación, buscamos el TAG: external_acl_type y al final de esta sección insertarmos lo siguiente:

external_acl_type group_auth %LOGIN /usr/lib/squid/squid_ldap_group -b "ou=Group,dc=instituto,dc=extremadura,dc=es" -f "(&(objectclass=posixGroup)(cn=%a)(memberuid=%v))" -h ldap -B "ou=People,dc=instituto,dc=extremadura,dc=es" -v 3 -s sub

Esta acl externa a la que hemos llamado group_auth, nos va a permitir lograr que squid compruebe si un usuario es miembro de un grupo.

A continuación nos vamos a la sección del documento donde se definen las ACL. Para ello buscamos el TAG: acl, nos desplazamos al final de esta sección e insertamos las acl que queramos. Por ejemplo, podemos especificar una acl para profesores:

# acl profesores external group_auth teachers

Donde, teachers es uno de los grupos registrados en nuestro servidor ldap.

También podríamos crear una acl para usar en reglas de filtrado para alumnos:

# acl alumnos external group_auth students

Por último, buscamos el TAG: http_access e insertamos reglas de filtrado:

http_access allow profesores

Esta vez no insertamos la línea al final de la sección. Tendremos que insertarla en el lugar que corresponda de acuerdo con las otras reglas que tengamos establecidas y dependiendo de cómo queráis filtrar.

Una vez hecho ésto, reiniciamos squid para aplicar los cambios y listo:

# service squid restart

Publicado por primera vez en http://enavas.blogspot.com.es

jueves, 14 de noviembre de 2013

Raspberry Pi como Servidor Radius

Aquí tenéis podéis ver el vídeo del proyecto "Raspberry Pi como Servidor Radius" que Sagrario y yo hemos realizado para el curso "Introducción a Raspberry Pi" de la Universidad Galileo de Guatemala.

Como podéis ver, hemos implementado el servidor freeradius en la Raspberry Pi, de manera que éste utilice los datos de los usuarios del servidor ldap. De este modo, tenemos un dispositivo de bajo coste y reducido consumo funcionando como servidor para proporcionar un acceso inalámbrico seguro a través de wifi.

El 50% de la evaluación depende de los "me gusta de YouTube. Así que, dadle a "me gusta" en YouTube. 



Publicado por primera vez en http://enavas.blogspot.com.es

martes, 12 de noviembre de 2013

Establecer un proxy en Google Chrome

Si queréis configurar el navegador Google Chrome para que use vuestro proxy para salir a internet, no tenéis más que crear un fichero en /etc/opt/chrome/policies/managed/, estableciendo dichas preferencias. 

Un ejemplo:

# cat /etc/opt/chrome/policies/managed/proxy_ies.json
{
   "ProxyMode": "fixed_servers",
   "ProxyServer": "172.19.144.3:3128",
}

Publicado por primera vez en http://enavas.blogspot.com.es

Añadir extensiones a Firefox en /opt/firefox/browser/extensions/

Si tenéis instalado Firefox en /opt/firefox como alternativa a iceweasel, podéis añadirle extensiones colocando los ficheros .xpi en el directorio /opt/firefox/browser/extensions/ 

En particular, tengo instaladas tres extensiones interesantes para optimizar el navegador y reducir el consumo de recursos y ancho de banda:
  • Adblock Plus, para bloquear publicidad.
  • FlashBlock, para evitar la autoreproducción de animaciones flash.
  • MaxTabs, para limitar el número de pestañas que los usuarios pueden abrir.
Publicado por primera vez en http://enavas.blogspot.com.es

jueves, 7 de noviembre de 2013

Definir aplicaciones por defecto en GNOME

En GNOME podemos asociar un tipo de archivo para que se abra con una aplicación determinada cuando el usuario haga clic sobre el archivo. Esta asociación podemos hacerla a nivel de usuarios o a nivel de máquinas. Personalmente, creo que es interesante para nosotros establecer aplicaciones por defecto en cada máquina y permitir que el usuario pueda cambiarlas.

Para establecer aplicaciones por defecto en cada equipo, podemos modificar el archivo /usr/share/applications/defaults.list

Este archivo contendrá una línea o entrada para cada asociación. Cada entrada está formada por un par:
mime-type=lanzador.desktop

donde:

  • mime-type será el tipo mime concreto que queremos asociar con la aplicación. 
  • lanzador.desktop debe ser uno de los lanzadores que hay en el directorio /usr/share/applications.

Para crear un archivo /usr/share/applications/defaults.list podemos tomar como modelo /etc/gnome/defaults, y personalizarlo a nuestro gusto.

Veamos un ejemplo:

Suponiendo que tenemos instalado libreoffice4.1, que queremos que las presentaciones de libreoffice se abran con el programa de presentaciones de libreoffice 4.1,  y que en el directorio /usr/share/applications tenemos un lanzador llamado libreoffice4.1-impress.desktop, para realizar la asociación, añadiríamos una entrada como la siguiente al archivo /usr/share/applications/defaults.list:

application/vnd.oasis.opendocument.presentation=libreoffice4.1-impress.desktop

De este modo, es muy sencillo establecer asociaciones entre tipos mime y aplicaciones para establecer aplicaciones por defecto a nivel de máquina.

Ahora bien, si lo que queremos es establecer una aplicación por defecto tan sólo para un usuario concreto, podríamos hacerlo, añadiendo las entradas al archivo .local/share/applications/mimeapps.list que encontraremos en el directorio HOME del usuario en  cuestión.


Publicado por primera vez en http://enavas.blogspot.com.es

lunes, 4 de noviembre de 2013

Última versión de Iceweasel para Squeeze del Debian Mozilla team: 24

Hasta ahora podíamos actualizar Iceweasel a la última versión desde los repositorios del Debian Mozilla team (http://mozilla.debian.net/) en Debian Squeeze, pero parece que ya no van a ofrecer nuevas actualizaciones más allá de la versión 24. Si a ésto le añadimos que tampoco tenemos actualizaciones de Google Chrome desde la versión 28 (la última fue la 27), parece que pronto tendremos que hacer el cambio a Debian Wheezy.

Publicado por primera vez en http://enavas.blogspot.com.es

Paquetes de firefox 25.0 para instalar en las máquinas de los IES

A continuación dejo dos enlaces para descargar los paquetes de 32 y 64 bits creados "de forma rápida" para instalar firefox 25.0 en el directorio /opt/firefox/ de las máquinas del instituto. 

Importante: Estos paquetes tan sólo colocan firefox en /opt/firefox/. No cambian el enlace de /usr/bin/iceweasel a /opt/firefox/firefox para que se siga pudiendo usar iceweasel como navegador por defecto. 

Para realizar el cambio de iceweasel a firefox o firefox a iceweasel, tengo dos tareas puppet:
  • activa-firefox 
  • activa-iceweasel 

De este modo, si quiero que los portátiles, los servidores ltsp o los workstation usen firefox, les pongo la tarea activa-firefox y si quiero que usen iceweasel, les pongo la tarea activa-iceweasel.

Publicado por primera vez en http://enavas.blogspot.com.es

Listas de control de acceso usadas habitualmente en Squid

Ya que en el post anterior vimos una introducción al control de acceso en Squid, veamos ahora algunas de las ACL que usamos habitualmente:

Para permitir el acceso a una serie de máquinas por su dirección IP especificamos una IP en cada línea del fichero /etc/squid/acl/allow_hosts:
acl allow_hosts src "/etc/squid/acl/allow_hosts"

Para denegar el acceso a una serie de máquinas por su dirección IP especificamos una IP en cada línea del fichero /etc/squid/acl/deny_hosts:
acl deny_hosts src "/etc/squid/acl/deny_hosts"

Para permitir el acceso a una serie de máquinas por su MAC especificamos una dirección MAC en cada línea del fichero /etc/squid/acl/allow_macs:
acl allow_macs arp "/etc/squid/acl/allow_macs"

Para denegar el acceso a una serie de máquinas por su MAC especificamos una dirección MAC en cada línea del fichero /etc/squid/acl/deny_macs:
acl deny_macs arp "/etc/squid/acl/deny_macs"

Para permitir el acceso a determinados nombres de dominio, indicamos el nombre del dominio a permitir comenzando por un punto. Ejemplo: .gobex.es 
acl allow_domains dstdomain "/etc/squid/acl/allow_domains"

Para denegar el acceso a determinados nombres de dominio:
acl deny_domains dstdomain "/etc/squid/acl/deny_domains"

Para permitir el acceso a determinados dominios por sus IP's, indicamos una ip/mascara del dominio en cada línea del archivo /etc/squid/acl/allow_dst. Ejemplo: 173.194.0.0/16
acl allow_dst dst "/etc/squid/acl/allow_dst"

Para denegar el acceso a determinados dominios por sus IP's:
acl deny_dst dst "/etc/squid/acl/deny_dst"

Para denegar el acceso a determinadas extensiones de archivos, como por ejemplo: .mp3$ .avi$ ...
acl deny_files urlpath_regex -i "/etc/squid/acl/deny_files"

Para denegar el acceso a determinadas palabras en las URL's:
acl deny_words url_regex -i "/etc/squid/acl/deny_words"

Para controlar el acceso en un determinado horario:
acl horariopermitido time MTWHF 08:00-15:15
acl horariodenegado time MTWHF 15:16-07:59

Una vez definidas todas las ACL's, el siguiente paso es buscar el TAG: http_access en el fichero /etc/squid/squid.conf e incluir las reglas que definan las restricciones que queramos aplicar, teniendo en cuenta el orden en que debamos aplicarlas.

Publicado por primera vez en http://enavas.blogspot.com.es