El “motd” de Linux es un archivo que contiene un mensaje del día que se muestra a todos los usuarios que se conectan a la máquina por terminal.
Habitualmente se usa para dar información a estos usuarios acerca del estado del servidor o, simplemente, para dar los buenos días al acceder a la máquina.
Si estáis administrando servidores, es posible que os interese cambiar el mensaje del día y añadir uno que contenga información dinámica de estado del servidor o datos de la empresa alojadora o propietaria de los servidores. Este archivo os puede servir para ofrecer una imagen corporativa en los servidores que administráis para vuestros clientes.
Os voy a explicar paso a paso cómo crear y ofrecer un “motd” (mensaje del día) y cómo hacer para que sea lo primero que lean tus usuarios del servidor cada vez que accedan a un terminal de dicha máquina.
Paso 1
Para empezar, podemos observar el contenido por defecto del archivo “motd”
cat /etc/motd
En principio, nos bastaría con modificar el texto de este archivo y añadir el contenido que nos apetezca. Una cabecera en ASCII, un dibujo en modo texto o alguna filigrana que se nos ocurra podría quedar estupendamente como mensaje del día.
En esta página web tenéis un conversor que os ayudará a crear banners y secuencias de texto ideales para scripts o para adornar cualquier código o mensaje en formato texto plano.
_____ __ _ _ |_ _| / _| | | (_) | | _ __ | |_ ___ _ __ _ __ ___ __ _| |_ _ ___ __ _ | | | '_ \| _/ _ \| '__| '_ ` _ \ / _` | __| |/ __/ _` | _| |_| | | | || (_) | | | | | | | | (_| | |_| | (_| (_| | |_____|_| |_|_| \___/|_| |_| |_| |_|\__,_|\__|_|\___\__,_| _____ _ _ / ____| | | | | | | ___ ___| | __ _ __| | __ _ | | / _ \/ __| |/ _` |/ _` |/ _` | | |___| (_) \__ \ | (_| | (_| | (_| | \_____\___/|___/_|\__,_|\__,_|\__,_|
Paso 2
En ocasiones nos interesa mostrar la información de estado del servidor o insertar cierta información de contacto y soporte para que los clientes que tienen sus servidores con nosotros sepan con quién deben contactar en caso de caídas o problemas con sus servidores. Para ello nada mejor que insertar un script en “/usr/local/bin” y llamarlo desde “/etc/profile”. El contenido de “profile” se aplica a todos los usuarios que acceden a la máquina.
Paso 3
El script “dynmotd” localizado en esta página web nos puede servir como base para crear nuestro propio “motd” dinámico.
#!/bin/bash # # Add this to /etc/profile # example: # /usr/local/bin/dynmotd # Don't forget to chmod +x it. # Create /etc/motd-maint to track changes that need to be posted # EMAIL="jjasghar@gmail.com" PROCCOUNT=`ps -Afl | wc -l` PROCCOUNT=`expr $PROCCOUNT - 5` NIC=eth0 IPADDY=`ifconfig $NIC | grep inet | awk -F " " '{print $2}' | grep -v :: | sed 's/addr://g'` DATE=`date +%F` EPOCH=`date +%s` UPTIME=`uptime` # | sed 's/.*up ([^,]*), .*/1/'` echo -e " ################################################################################# WARNING:- YOU MUST HAVE PRIOR AUTHORIZATION TO ACCESS THIS SYSTEM. ALL CONNECTIONS ARE LOGGED AND MONITORED. BY CONNECTING TO THIS SYSTEM YOU FULLY CONSENT TO ALL MONITORING. UN-AUTHORIZED ACCESS OR USE WILL BE PROSECUTED TO THE FULL EXTENT OF LAW. YOU HAVE BEEN WARNED ################################################################################# " echo -e " +++++++++++++++++++++++++++++++++: System Data :++++++++++++++++++++++++++++++++++ + hostname = `hostname` + address = $IPADDY + os type = `uname -s` + kernel = `uname -r` + uptime = $UPTIME ++++++++++++++++++++++++++++++++: User Data :+++++++++++++++++++++++++++++++++++++ + username = `whoami` + processes = $PROCCOUNT of `ulimit -u` +++++++++++++++++++++++++++: Helpful Information :++++++++++++++++++++++++++++++++ + admin = $EMAIL + date = $DATE + epoch = $EPOCH +++++++++++++++++++++++++: Maintenance Information :++++++++++++++++++++++++++++++ + `cat /etc/motd-maint` ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ "
El archivo se explica por sí solo, es la ventaja del Creative Commons y el conocimiento compartido. En la cabecera del archivo puedes observar parte de las instrucciones que se deben ejecutar.
Así, copiamos este archivo con el nombre “dynmotd” en “/usr/local/bin” y le damos permisos de ejecución:
- Con gedit o nano creamos el archivo con el contenido especificado más arriba.
- Copiamos el archivo en “/usr/local/bin”
- Editamos el archivo “/etc/profile” con gedit o nano (como superusuario)
Al final del archivo “/etc/profile” deberemos añadir la línea que llama al archivo “dynmotd”:
/usr/local/bin/dynmotd
Accedemos al directorio donde se encuentra “dynmotd” y le damos permisos de ejecución:
cd /usr/local/bin chmod +x dynmotd dynmotd
El último comando te permite comprobar el resultado y saber si hay algún error en el script.
Ya tienes un flamante “Message Of The Day” dinámico para mostrar a los clientes y usuarios que se conectan a las máquinas que administras. La tarea es sencilla y el resultado es muy interesante:
Este artículo, para variar, es Creative Commons. Copia, usa, modifica o haz lo que quieras con él. El script original está en “https://github.com/jjasghar/scripts/blob/master/dynmotd” y es CC también. La web generadora de ASCII es de uso libre.