Ir al contenido principal

Entradas

Mostrando entradas de julio, 2013

Estados de Nagios 3

Suele ser muy común que a la hora de editar scripts, se quieren enlazar dichos scripts con Nagios. De la misma forma, se puede requerir jugar con los distintos estados de un servicio a través del script. Para ello, es necesario tener en cuenta las distintas salidas con las que puede finalizar un script. Es decir, exit 0, exit 1, exit 2 y exit 3, tendrán distintos comportamientos ya que Nagios interpreta cada estado de distinta manera.  Para que el estado de un servicio sea correcto "OK" el script tiene que finalizar con un exit 0. Nagios interpreta esta salida como que el servicio funciona correctamente. Si se quiere mostrar algún tipo de advertencia, se empleará exit 1. Nagios interpreta este estado como una advertencia o que algo no funciona correctamente. Nagios suele mostrar el estado Warning. Para indicar que el servicio no funciona o se ha superado un estado crítico se empleará exit 2. Nagios lo interpreta como Critical. Finalmente, existe un estado que

Borrar el historial del terminal en Ubuntu / Debian

Es posible que por motivos de seguridad u otros, se tenga la necesidad de borrar el historial de comandos que se han introducido en una terminal. Para borrar el historial de la terminal, es necesario ejecutar el siguiente comando: history -c De esta forma se eliminarán todos los comandos introducidos con anterioridad. 

Gestion de iptables sencilla en Ubuntu / Debian II "Prerouting"

Anteriormente se publicó un post relativo a la gestión de reglas sencilla en iptables. Desde crónicas de un informático se ha visto necesario realizar otro post para aclarar como se gestionan las reglas de tipo prerouting. Mostrar las reglas Para mostrar las reglas de tipo NAT bastará con ejecutar el siguiente comando: sudo iptables -t nat -L --line-numbers Añadir reglas Para añadir reglas bastará con emplear la siguiente sintaxis: sudo iptables -t nat -I PREROUTING -s iporigen -d ipdestino -p protocolo --dport puerto -j permitir|denegar Ejemplo: sudo iptables -t nat -I PREROUTING -s 8.8.8.8 -d 192.168.1.1 -p tcp --dport 80 -j ACCEPT Eliminar reglas Para eliminar reglas de tipo prerouting es necesario conocer el número de la regla. Una vez conocido el número de la regla se ejecutará la siguiente sentencia: sudo iptables -t nat -D PREROUTING número de regla Ejemplo: sudo iptables -t nat -D PREROUTING 3

Desactivar la previsualización de los adjuntos en la aplicación Mail en Mac OX X

A muchos usuarios le resulta molesto que la aplicación Mail previsualice los archivos adjuntos de los correos electrónicos. De la misma forma es posible que dicha previsualización, permita la ejecución de código no deseado. Para desactivas esta opción, basta con ejecutar en una terminal el siguiente comando: defaults write com.apple.mail DisableInlineAttachmentViewing -bool yes Para que los cambios surjan efecto es necesario reiniciar la aplicación Mail. Una vez realizadas las operaciones descritas con anterioridad, cada vez que se reciba un correo con archivos adjuntos se visualizará un icono que nos indicará que tenemos un adjunto. Pulsando sobre el mismo con el botón derecho, podremos operar sobre el mismo. De la misma forma si se hace doble click, se abrirá con la aplicación correspondiente.  Para volver a activar la visualización de ficheros adjuntos, se ejecutará el siguiente comando: defaults write com.apple.mail DisableInlineAttachmentViewing -bool no D

Configurar ssmtp en Ubuntu / Debian

Es posible que queráis configurar vuestros sistemas de tal forma que os envíe notificaciones por correo electrónico cuando sucedan determinadas acciones. Para ello, es recomendable emplear ssmtp. Para descargar e instalar ssmtp se ejecutará el siguiente comando: sudo apt-get install ssmtp Posteriormente será necesario configurar el archivo de configuración de ssmtp con los valores de configuración de vuestro proveedor de correo electrónico. En este ejemplo se ha empleado gmail. Por lo tanto, para modificar el archivo de configuración de ssmtp se ejecutará el siguiente comando: sudo nano /etc/ssmtp/ssmtp.conf En mi caso he añadido la siguiente configuración: # Config file for sSMTP sendmail # # The person who gets all mail for userids < 1000 # Make this empty to disable rewriting. root=infocdui@gmail.com # Servidor de salida de gmail mailhub= smtp.gmail.com :587 # Where will the mail seem to come from? rewriteDomain= # Nombre del equipo

Recorrer un fichero en Shell Scripting empleando un bucle de tipo While

Para recorrer un fichero a través de Shell Scripting se puede emplear un bucle de tipo While. A través del siguiente post se pretende explicar como recorrer un fichero así como la estructura de un bucle de tipo While.  En primer lugar será necesario definir una variable para recorrer el fichero. En mi caso será la variable $cont Posteriormente será necesario obtener el número de líneas que contiene el fichero. Un ejemplo muy sencillo para obtener la posición de la última línea es de la siguiente forma: maxline=` wc -l "rutafichero" | cut -d ' ' -f 1` ej: maxline=` wc -l /home/cdui/fichero | cut -d ' ' -f 1` Posteriormente se declarará el bucle de tipo While de la siguiente forma while [ $cont -lt $maxline ] do      Código a realizar por línea. cont=$(( $cont + 1 )) done En este caso se podrá recorrer todas las filas del fichero desde la primera línea hasta la última ya que la variable $cont aumentará posición a posición.

Comparar fechas en Shell Scripting

Para comparar fechas en Shell Scripting primero es necesario almacenarlas con el formato adecuado. A tal efecto, se almacenarán las fechas en variables correctamente formateadas. Véase el siguiente ejemplo: actual=`date -d "$fecha" +%s` anterior=`date -d "$fecha2" +%s` Si se quisiera restar estas fechas se podría hacerlo de la siguiente forma: fechadiferencia=`echo $(( actual - anterior ))` De esta forma se podría conocer si una fecha es mayor que otra. Si el resultado es positivo es que la fecha primera es mayor que la segunda. Por el contrario si el resultado es negativo es que la fecha primera es menor que la segunda. Si se pretende conocer si las fechas son iguales se recomienda emplear un IF de la siguiente forma: if [ "$actual" == "$anterior" ]; then      "Código si cumple con la sentencia anterior" fi He visto casos en los que se emplea "test" para comparar si las fechas son igu

Redirigir los logs de iptables a otro fichero en Ubuntu / Debian empleando rsyslog

Previamente se ha hablado acerca de la configuración de iptables. Suele ser común, una vez terminada la configuración de iptables, conocer los eventos que se generan en el mismo. Si se ha activado la monitorización de los LOGS, tal y como se describió en el post anterior de iptables , en la sección "Registro de eventos",  los sucesos se almacenarán en la siguiente ruta: /var/log/syslog Dicho fichero es compartido por otras aplicaciones, lo que produce que sea algo confuso encontrar los logs de iptables, ya que se encuentran mezclados con otros eventos. A tal efecto, es conveniente redirigir los logs a otro fichero.  Para poder realizar dicho cambio en primer lugar es necesario adaptar la ruta en la que se almacenen los eventos de iptables. Para ello se modificará el fichero 50-default.conf de la siguiente forma: sudo nano /etc/rsyslog.d/50-default.conf En el fichero 50-default.conf, se agregarán las siguientes líneas: :msg,contains,"IPTables Pack