Habilitar o deshabilitar scripts de inicio

Para deshabilitar un servicio conocía update-rc.d pero era demasiado intrusivo porque eliminaba los enlaces simbólicos a los /etc/rcX.d y si querías volver a habilitarlo tenías que saber en qué runlevels y con que prioridad estaban.

Para hacerlo más sencillo existe la herramienta sysv-rc-conf que se instala desde APT. Se puede ver la lista de los servicios y su estado con:

sysv-rc-conf --list

Para deshabilitar un servicio:

sysv-rc-conf nombre_servicio off

Para habilitarlo, mismo comando pero cambiando off por on. El habilitarlo mantiene los runlevels y sus prioridades, que es lo ideal.

Fuente: http://www.debian.org/doc/manuals/securing-debian-howto/ch3.en.html#s-disableserv

Cambiar el nombre de un usuario del sistema

Si en algún momento decidimos cambiar el nombre de un usuario de nuestro sistema, existe una forma rápida y segura para hacerlo.

Lo primero que hay que hacer es asegurarse de que el usuario que queremos cambiar no esté logueado ni tenga nada ejecutando. Para eso, lo mejor es poner el sistema en single-user como root e introducir la contraseña de root cuando nos pregunte (atención, no hacerlo de forma remota porque el networking se para en este runlevel):

init 1

En los siguientes comandos, el nuevo nombre del usuario será nuevo y el antiguo nombre del usuario será antiguo:

usermod -l nuevo antiguo
chfn -f nuevo nuevo
usermod -m -d /home/nuevo nuevo
groupmod -n nuevo antiguo

Para comprobar que todo está bien:

id nuevo
finger nuevo

Si todo está correcto, hay que salir del runlevel 1 con exit

Linode Lish con pv-grub

Hace tiempo usaba un Kernel hecho por Linode y no tenía problemas para usar Lish (Linode Shell, por si no puedes conectar por SSH por algún problema).

Desde que cambié el Kernel en Linode Manager a pv-grub-x86-32 Lish dejó de funcionar, pero no lo relacionaba con esto porque desde el cambio hasta que intenté usar Lish pasó mucho tiempo.

La solución se encuentra en: http://www.linode.com/wiki/index.php/PV-GRUB#Boot_Configuration

En Debian Squeeze tuve que cambiar el /etc/inittab como indica en esa wiki (cambiando 0:2345:respawn:/sbin/getty 38400 tty1 por 0:2345:respawn:/sbin/getty 38400 hvc0) y deshabilitar Xenify Distro en el Linode Manager.

Mostrar el hostname en el título de PuTTY cuando se usa screen

Tengo acceso a varios servidores y a veces tengo varios PuTTY abiertos. En todos ellos uso screen y el título que aparece en la ventana de PuTTY es usuario@host. Es decir, en host no aparece el dominio completo.

Como en todos los servidores tengo el mismo nombre de host, a veces debo revisar bien en que servidor estoy haciendo las cosas.

Pero esto se acabó. Se tiene que crear un archivo en el directorio de tu usuario llamado .bash_login con el siguiente contenido:

bash -c 'echo -ne "\033]0;`hostname`\007"'

Sal de todas las ventanas que tengas de screen y lánzalo de nuevo.

Generar un índice en HTML de un directorio

Si no queremos usar el mod_autoindex de Apache, podemos crear un índice del directorio y subdirectorios en HTML.

Si no lo tenemos, instalamos tree: aptitude install tree

Lo siguiente es irnos al directorio que queramos y crearemos el index.html de la siguiente forma:

cd /path/to/dir
tree -H . > index.html