Leyendo archivos CHM en Linux

Hacía tiempo que no tenía que leer algo en formato CHM. Este es un formato inventado por Microsoft (Compressed HTML, HTML comprimido), ya que ellos parece que no podían coger la ayuda en HTML normal y comprimirla con WinZip. No, tenían que ser distintos y entregarlo en un formato que nadie fuera de los S.O. Windows puede leer.

Aunque no es del todo cierto. En Linux, con gnochm, se leen estos textos en GNOME de maravilla. Yo creía que este formato había desaparecido ante el PDF, pero parece que hay quien lo sigue utilizando.

j j j

Debian 3.1 con el Mundo, el Viernes 11

Lo escuché anoche en la radio y hoy me he abalanzado sobre www.elmundo.es/imasd/servicios/mpm/2006/

El Mundo ofrece aparte de su periódico, en un único DVD, la Debian 3.1 Sarge con las actualizaciones de seguridad hasta el 14 de Octubre. Además pondrán la ISO disponible para descarga, aunque, la verdad, tal como ellos dicen, sale más barato (en tiempo y dinero) comprar por 5 Eur. el DVD y listo.

Yo voy a comprarlo para echarle un ojo. Nunca viene mal disponer de una Debian completa en un DVD de 9 GB.

j j j

Escaneo de puertos mediante web

Siempre es interesante conocer qué puertos tenemos abiertos al estar conectados a Internet. Cuando estamos configurando nuestro firewall, las herramientas para ir depurando su funcionamiento son básicamente el escaner de puertos nmap y el log del sistema (que podemos monitorizar continuamente con

tail -f /var/log/syslog

Pero la duda siempre puede persistir: el escaneo de puertos realizado desde dentro de nuestra red ¿es efectivo?. Lo ideal sería escanear desde fuera. Para ello, podemos dejar la máquina encendida y acercarnos a casa de un amigo, a un cibercafé, hacer ssh a una máquina que tengamos disponible en Internet o bien usar el servicio de escaneo de puertos disponible en www.derkeiler.com/Service/PortScan/

Aviso para los hackers de medio-pelo que estén pensando en usar este servicio para escanear la web de su empresa o de sus amigos: únicamente funciona con nuestra dirección IP pública. Para impedir usar el escaner desde un programa, se nos solicita usuario y contraseña (ambos son scan). Y además, entre cada escaneo hay que esperar 10 min. En cualquier caso, es una excelente herramienta.

j j j

Búsquedas de Linux en Google

Probablemente muchos ya lo conociais, pero nunca está de más recordar la búsqueda que Google tiene dedicada a Linux en www.google.com/linux. Como siempre, Google acierta simplificando las cosas y demostrando la validez del principio KISS (Keep It Simple, Stupid). No hace falta disponer de un abigarrado portal para convertirte en el número 1. Es más sencillo resolver los problemas habituales de la gente.

j j j

Vulnerabilidades en Skype

Buenas. Leyendo en www.hispasec.com/unaaldia/2558 me encuentro con que Skype tiene una vulnerabilidad y tal y cual.

Afecta a TODAS las versiones, Linux incluido. Luego a mí me afecta. Antes de que los anti-linuxeros entre la audiencia comiencen a frotarse las manos, que se sepa que si ese Skype ejecuta código en mi máquina, como no borre /home/dfreniche …

Así que ya sabeis:

a) Actualizad la versión

b) No acepteis tarjetas de visita de gente que no os suene. Se aprovechan de eso para colar código.

Y otra cosa. El colmo del SPAM. El otro día me mandaron un mensaje instantáneo por Skype para venderme páginas web a 100 Eur. Tiene bemoles.

j j j

Estructura del if en la bash

if list; then list; [ elif list; then list; ] ... [ else list; ] fi

The if list is executed. If its exit status is zero, the then
list is executed. Otherwise, each elif list is executed in
turn, and if its exit status is zero, the corresponding then
list is executed and the command completes. Otherwise, the else
list is executed, if present. The exit status is the exit sta-
tus of the last command executed, or zero if no condition tested
true.

j j j

Error al instalar NFS: invoke-rc.d: initscript nfs-kernel-server, action «restart» failed.

Tras actualizar el servidor NFS nfs-kernel-daemon, nos encontramos con éste error.Este error se debe muchas veces a la prisa con la que se instalan los paquetes. Probablemente hemos dejado los ficheros de configuración que ya teníamos y no los que trae el nuevo paquete. Si no cambiamos nada, el nuevo NFS intenta utilizar el servidor sgss, que si no está configurado hace que no se inicie el servidor nfs.
Para solucionarlo iremos a la carpeta /etc/defaults que es donde nfsd guarda su configuración. Una vez allí, es posible que tengamos un fichero llamado nfs-kernel-server y otro nfs-kernel-server.dpkg-dist. Este último es el que nos ha instalado apt-get, con la configuración del paquete. En el caso que nos ocupa, no vamos a usar gssd, pero no se lo hemos dicho (en el fichero de configuración antiguo no lo teniamos). La solución:
NEED_SVCGSSD=no

j j j

CUPS no imprime en Red

Se puede deber a múltiples causas. El puerto 631 (IPP) no debe estar bloqueado por el firewall. El servicio cupsd debe estar corriendo (/etc/init.d/cupsd start).
En el fichero /etc/cups/cupsd.conf, la sección viene por defecto:

Order Deny,Allow
Deny From All
Allow From 127.0.0.1

Lo cual sólo nos permite imprimir desde la máquina que tiene la impresora conectada. Debemos añadir una línea como:

Allow From 10.1.1.*

si nuestra red privada tiene esta dirección, claro.

j j j

Crear un servicio personalizado

A veces es deseable disponer de un servicio personalizado en /etc/init.dAl crear el nuevo servicio (borra-tmp) aparece en la lista de services-admin

El método más rápido consiste en copiar un script de los que tengamos en /etc/init.d y retocarlo a nuestro gusto. Aparecerá en la herramienta Servicios (menú Sistema, aunque podemos llamarla desde consola con services-admin)

Por ejemplo, un servicio que borre el tmp mediante la orden /etc/init.d/borra-tmp start puede ser:

#!/bin/sh
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
usage () {cat << END$initd options:

start

Borra la carpeta tmp

clear

no usado

END

}
case "$1" instart)rm -r /tmp/*

;;

clear)
;;*)if test "$@"; then

echo "Aborting iptables initd: unknown command(s): \"$@\"."

fi

usage

;;

esac
exit 0
j j j