• Relay autenticado con Postfix y Gmail

    La intención de este artículo es explicar cómo enviar mails desde un servidor con Postfix utilizando de relay a Gmail con un usuario y contraseña. Puede resultar útil si queremos enviar mails que no sean enviados a Spam o simplemente rechazados para el caso que tengamos una IP dinámica o porque necesitemos contar con envío de mails de forma rápida.

  • Archivos encriptados en Linux

    Al momento de guardar información sensible es muy importante contar con un mecanismo que permita encriptarla y así ocultarla de quienes no deban verla. En este post veremos dos formas rápidas y sencillas de encriptar archivos en Linux.

  • Atributos de archivos en ext3

    Los permisos de Linux nos permiten dar distintos niveles de acceso a los archivos y directorios a los diferentes usuarios y son provistos por el sistema operativo. Existe también otro tipo de permisos que son provistos por el propio sistema de archivos y son los atributos de los archivos.

  • Firewall con IPtables

    En el post titulado Diseño de un firewall expliqué los conceptos básicos de un firewall y con un ejemplo presenté una aproximación en pseudocódigo de cómo implementarlo. En este la intención es explicar básicamente el funcionamiento de IPtables y luego traducir el pseudocódigo a reglas del mismo.

  • Habilitar HTTPS en Apache

    Para los que siempre olvidan cómo hacerlo o para los que nunca lo hicieron en este post explico cómo proteger un sitio web utilizando Apache y SSL.

  • NAT con Linux

    Hacer es muy simple y no se necesita ninguna herramienta adicional, sino que el mismo sistema operativo está listo para realizarlo. En este post vamos a ver cómo hacerlo.

  • ¿Qué directorios ocupan más?

    Algo muy común para un administrador de un sistema operativo es necesitar conocer qué directorios de su sistema ocupan más espacio. Esto puede ser porque sea necesario hacer lugar en el disco o para detectar usuarios con mucha ocupación en el mismo. A raíz de una necesidad semejante surgió un script muy sencillo que es el siguiente.

  • Dividir un archivo en partes

    Algo que muchas veces es útil es poder dividir un archivo de gran tamaño en partes más pequeñas. En Unix es una tarea extremadamente sencilla gracias a los comandos split y cat.

  • Ejecutar aplicaciones gráficas de otra máquina con SSH

    Algo a veces muy útil es ejecutar una aplicación gráfica de otra computadora como si estuviera en la propia máquina en la que se está trabajando. Hacer esto es muy simple con SSH y consiste básicamente en reenviar las solicitudes que se hagan al servidor X por medio del túnel SSH. ¿Cómo?

  • Deshabilitar DNS lookups en SSH

    Por defecto OpenSSH realiza una consulta DNS preguntando por el nombre de la IP que intenta conectarse al servidor. Esta característica implica un retraso importante cuando ningún servidor DNS responde. En determinados casos, cuando la IP desde la que nos conectamos no tiene un reverso o no nos interesa ese chequeo podemos deshabilitarlo para eliminar esa demora.

  • Screen: una consola avanzada

    Screen es un software desarrollado por el proyecto GNU que consiste en un multiplexor de terminales de forma que en una misma ventana puedan abrirse muchas consolas. Básicamente funciona como un gestor de ventanas pero en modo texto.

  • Resetear password de root en Linux

    En caso de olvidar la password de root existe un método para recuperarla si usamos Grub como gestor de booteo (lo usan todos los Linux modernos). Para ello es necesario seguir los siguientes pasos:

  • Medir el tiempo que toma ejecutar un comando

    Muchas veces es útil tener una aproximación o incluso el tiempo exacto que le toma a un comando ejecutarse. Para ello existe el comando time que mide precisamente este factor. Su funcionamiento es sencillo: chequea el reloj del sistema antes de ejecutar el comando en cuestión y lo vuelve a chequear ni bien finaliza.

  • Montar una imagen ISO en Linux

    Muchas veces necesitamos acceder al contenido de una imagen ISO que tenemos. La forma tradicional es grabar un CD, pero en Linux esto no es necesario, ya que, como se ve a continuación, es posible montar directamente la imagen como cualquier otro filesystem.

  • Conocer el hardware de un sistema Linux

    Muchísimas veces es nesario saber el hardware de un determinado equipo. Si tenemos Linux (y en particular Debian/Ubuntu) esto resulta muy fácil gracias a la utilidad lshw que es capaz de listar con gran detalle el hardware del equipo.

  • Agregar swap a Linux

    Sea porque no se creó un espacio para la swap en la instalación o porque la misma haya quedado chica, puede resultar útil poder agregar swap a un sistema Linux ya funcionando. Hacerlo es muy sencillo, utilizando un simple archivo. Los pasos son los siguientes.

  • Strace: analizar llamadas al sistema de un proceso

    El comando strace nos va a permitir realizar un diagnóstico sobre la ejecución de una aplicación, generando una salida con todas las llamadas al sistema que invoque la aplicación durante su ejecución.

  • Comandos de Unix: apropos

    Es muy común olvidar el nombre de una aplicación o un comando en Unix, sobre todo si no lo usamos frecuentemente. El comando apropos, estándar en Unix, nos permite encontrar aquellos programas que coincidan con la cadena de caracteres que le pasamos como argumentos.

  • Generar certificados SSL

    En este post explicaré cómo crear certificados SSL para ser utilizados con el fin de asegurar servicios como HTTPS, IMAPS, POPS, SMTPS, entre otros. Para ello será necesario tener instalado OpenSSL en el equipo. La fuente original, en inglés, puede consultarse en el sitio web de Paul Bramscher’s.

  • Wall: chat en una consola Unix

    Wall es una utilidad estándar de Unix que permite comunicar usuarios de un mismo sistema vía consola. Es bastante primitivo pero puede sernos de utilidad en más de una oportunidad. Al enviar un mensaje lo reciben todos los usuarios logueados que tengan una consola abierta en el sistema.

  • Permisos granulares en Linux

    En Linux existe un archivo de configuración muy interesante para establecer distintos tipos de restricciones por usuarios/grupos del sistema, el mismo es /etc/security/limits.conf.

  • Equivalencias entre DPKG/RPM y APT/YUM

    Las distribuciones basadas en Red Hat usan rpm como el formato de sus paquetes binarios y rpm / yum para administrarlos. Por otro lado, las basadas en Debian usan deb y dpkg / apt-get. En la siguiente tabla presento las equivalencias para los usuarios que estén acostumbrado a uno de ellos y se muevan al otro.

  • Redirección de puertos con SSH

    Supongamos que tenemos la siguiente topología:

    Topología de ejemplo

  • Montar filesystem remoto con SSH

    Ya se habrá entendido que SSH es más que un simple protocolo para administración remota. De hecho, nos brinda una cantidad enorme de funciones muy útiles. Hace unos días veíamos cómo redireccionar puertos con SSH; un tiempo atrás habíamos visto también cómo ejecutar aplicaciones gráficas remotas. Esta vez veremos cómo montar un sistema de archivos remoto utilizando sólo SSH.

  • Directiva $GENERATE en BIND

    BIND tiene una interesante extensión que permite crear múltiples entradas de forma automática con una única línea. Se trata de la directiva $GENERATE.

  • Lista negra de phishers con Postfix

    En el lugar donde trabajo nos ocurrió que desde hace un tiempo al día de hoy recibimos muy seguido mails solicitando nombre de usuario y contraseña de nuestras casillas de correo. Desde el punto de vista del usuario, responder este tipo de mails suministrando los datos reales es peligroso porque se facilita el robo de identidad; desde la óptica del administrador del equipo se abre una puerta para realizar spam.

  • Introducción a LVM

    LVM2 es un administrador de volúmenes lógicos desarrollado para el kernel de Linux, compatible con su predecesor LVM1. En la actualidad, LVM está disponible en la mayoría de los sistemas Linux para utilizarlo al momento de la instalación. De hecho, sistemas como Fedora utilizan LVM si se los particiona como lo sugiere el instalador por defecto.

  • Apagar el monitor de forma remota

    Este post surge como respuesta a una necesidad de máxima prioridad en mis momentos de ocio. Resulta que me gusta ver películas acostado, reproduciéndolas en la compu de escritorio y manejando la reproducción desde la notebook por SSH. Eso es muy sencillo utilizando mplayer vía línea de comandos.

  • LVM: crear y expandir volúmenes

    Luego de haber tenido un post introductorio a LVM, explicaré en esta oportunidad cómo:

    • Crear volúmenes físicos, grupos de volúmenes y volúmenes lógicos.
    • Redimensionar los volúmenes.
    • Eliminar volúmenes.
  • LVM: reducir y eliminar volúmenes

    Al momento se ha tratado la parte teórica de LVM introduciendo los conceptos del mismo y se ha visto también cómo crear y extender volúmenes. En el post del día de hoy se explicará la forma de reducir el tamaño de un volumen y eliminar volúmenes.

  • Averiguar la versión de Linux/BSD instalada

    En muchas oportunidades es necesario chequear la versión del sistema operativo instalado en un equipo. A continuación, cómo hacerlo en diferentes sistemas operativos:

  • VLANs con Linux

    Crear múltiples VLANs en Linux e incluso armar un trunk con dicho sistema operativo es muy sencillo y explicar cómo se hace es el objetivo de este post. Los motivos por los cuáles se puede querer hacer esto son potencialmente muchos, aunque a continuación dejo algunos ejemplos.

  • Servidor PXE

    Un servidor PXE es un sistema capaz de brindar a sus clientes la opción de instalación vía red (netinstall). Es una forma muy rápida y cómoda de realizar la instalación de un sistema operativo dado que no se necesita siquiera que el equipo a instalar cuente con una lectora de CD/DVD.

  • Levantar un servidor web en 1 segundo

    Hoy leí en la columna de Charly Kühnast en Linux Magazine un truco muy simple para iniciar un servidor web teniendo solamente Python instalado. Las ventajas son que Python suele incluirse en todas las distribuciones de Linux, que el servidor se puede ejecutar con cualquier usuario sin privilegios y que el tiempo que toma iniciarlo es menor al que lleva leer este post.

  • Crear una ISO a partir de un CD

    Linux tiene varias maravillas que lo hacen realmente simple y potente. Una de ellas es el comando dd, que permite hacer varias cosas, entre las que puede considerarse la de crear una ISO. Esto se hace de manera muy sencilla:

  • Watch: repetir periódicamente la ejecución de un programa

    Muchas veces nos encontramos en la necesidad de ejecutar repetidas veces un comando, siendo la forma más común de hacerlo la de escribir una y otra vez el mismo comando. Por suerte, existe en Linux una utilidad que se llama watch que hace precisamente esa tarea por nosotros.

  • Bonding con Linux

    En este post se verá cómo configurar bonding en Linux para utilizar más de una placa a la vez con el objetivo de lograr agregación de enlaces y alta disponibilidad. Existen varios modos de funcionamiento de bonding

  • El archivo /etc/fstab

    Un archivo fundamental en cualquier sistema Linux es el /etc/fstab, cuyo nombre es una especie de abreviatura de File System Table. El mismo reune la información sobre los sistemas de archivos y es leído por el demonio init para poder montarlos al bootear el sistema operativo. También se utiliza su información una vez iniciado el sistema al invocar al comando mount.

  • Memoria consumida en Linux

    Muchas veces puede ser necesario encontrar la memoria que un proceso o un usuario consumen en el sistema. Lograr esto es bastante sencillo aunque implica hacer algunas cuentas. Por ello es posible simplificar la tarea utilizando algún script que la haga por nosotros.

  • Utilizar los UUID para montar dispositivos

    Tradicionalmente, para montar dispositivos de almacenamiento solía utilizarse la ruta al mismo en el filesystem, normalmente algo parecido a /dev/sda1. Si bien esto funciona sin problemas, no es una forma unívoca de referirse a un dispositivo en particular, lo que podría provocar que si, por ejemplo, se conectara un segundo disco rígido, el que antes se referenciaba como /dev/sda1 ahora se referencie como /dev/sdb1, con los problemas que eso implica.

  • Presentar LUN iSCSI en Ubuntu

    En este tutorial se va a ver cómo conectar un servidor a una LUN exportada por un NAS con iSCSI. Para el desarollo del mismo se va a utilizar: