Tips Linux

Tips, guías, solución de errores y utilidades de Linux y herramientas open source que voy encontrando en mi día a día y me resultan interesantes o útiles.

Detectar ataque DOS en nuestro servidor web

Detectar ataque DOS en nuestro servidor web

0

¿Tu servidor web está sobrecargado y no sabes por qué? ¿Crees estar bajo un ataque de denegación de servicio? Si estas son tus sospechas aquí tienes un útil comando que te muestra el número de conexiones concurrentes por IP que se están llevando a cabo en tu servidor web:

netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1

Si quieres saber como funcionan los ataques DoS y DDoS aquí tienes un interesante artículo de Vinagre Asesino

Comprimir directorios y excluir subdirectorios desde consola

Comprimir directorio desde consola y excluir subdirectorios

0

Un comando de consola o terminal muy simple pero muy útil en Linux para comprimir directorios completos es el archiconocido “tar” con el que podemos comprimir directorios y hacer backups de forma mas sencilla. Con el comando:

tar -zcvf nombre-nuevo-archivo-comprimido.tar.gz /ruta/directorio-a-comprimir

Pero si queremos comprimir un directorio excluyendo alguno de sus subdirectorios el comando sería:

tar -zcvf nombre-nuevo-archivo-comprimido.tar.gz --exclude='/ruta/directorio-a-comprimir/subdirectorio-a-excluir' --exclude='/ruta/directorio-a-comprimir/subdirectorio-a-excluir-2' /ruta/directorio-a-comprimir

Descargar mediante el comando wget todas las URLs almacenadas en un fichero o archivo comprobando existentes.

Descargar mediante el comando wget todas las URLs almacenadas en un fichero o archivo comprobando existentes

0

Una de las muchísimas posibilidades del paquete wget es la de que mediante un único y simple comando wget vaya leyendo todas las URLs de un fichero o archivo y descargue cada uno de los archivos que cada URL enlaza. El comando es usando la opción “-i” de wget:

yo@midebian:$ wget -i urls-descargas

También tenemos la posibilidad de que wget consulte cada uno de los ficheros a descargar en el destino y en el origen y los descargue solo si no existe o si el remoto es mas actual que el fichero almacenado en disco:

yo@midebian:$ wget -Ni urls-descargas

http://manuelarribas.blogspot.com/2008/08/expo-agua-y.html

Comando para eliminar saltos de linea en fichero o archivo desde consola Linux

0

Un comando muy útil mediante sed que permite eliminar saltos de línea de un fichero o archivo desde consola en Linux.

yo@midebian:$ sed -n -e '1x;1!H;${x;s-\n- -gp}' fichero_fuente > fichero_destino

o

yo@midebian:$ sed -n -e '1x;1!H;${x;s-\n- -gp}' fichero > foo yo@midebian:$ mv foo > fichero

Este recurso lo encontré googleando hace un tiempo, pero no recuerdo la fuente…

Como alargar la vida de los dispositivos de estado solido (SSD) en Vyatta y Debian con tmpfs

Como alargar la vida de los dispositivos de estado solido (SSD) en Vyatta y Debian con tmpfs

3

Hoy día es común que tengamos nuestras maquinas Vyatta corriendo en dispositivos de estado sólido (SSD), ya sean CompactFlash, memorias USB, tarjetas SD o dispositivos PATA/SATA SSD. La tecnología SSD es mucho más silenciosa, resistente a golpes y consume menos energía que los discos duros tradicionales pero tienen por contra tienen un número limitado de ciclos de escritura lo que significa que los dispositivos SSD pueden llegar a morir relativamente rápido en sistemas con una intensa actividad de lectura.

Los archivos temporales, el almacenamiento de logs y el cache web son los primero culpables de la muerte de los SSD en Vyatta.

Lo que vamos a mostrar aquí es como mover esos ficheros temporales y de logs a tmpfs lo que reducirá drásticamente el número de ciclos de escritura en SSD alargando su vida.

A tener en cuenta: No se contempla el traslado del cache web a tmpfs ya que puede inutilizar la configuración. Por tanto se recomienda no usar nunca tmpfs para cache web, como alternativa se propone el uso de almacenamiento persistente adicional como discos duros u otro dispositivo flash.

Mover ficheros temporales y de logs a almacenamiento volátil tmpfs en Vyatta

  1. El proceso de

    Más >
Los 25 mejores comandos/trucos SSH

Los 25 mejores comandos/trucos SSH

9

Esta entrada es una simple traducción con algunas notas personales de este post en el que se recogen, explican y enumeran los 25 comandos SSH más útiles, más populares y por lo tanto más votados según el ranking de CommandLineFu. De esta forma haremos un repaso y/o aprenderemos nuevos comandos SSH de esta potente herramienta, OpenSSH, con ilimitadas posibilidades.

Los 25 mejores comandos/trucos SSH

  1. Copiar una clave SSH a un host para que permita logins SSH sin password: ssh-copy-id user@host

    Con el comando ssh-keygen podemos generar las claves.

  2. Iniciar un túnel SSH desde el puerto 80 de un host remoto al puerto 2001 de nuestra máquina local:

    ssh –N –L2001:localhost:80 host_remoto

    Ahora puedes acceder al sitio web remoto desde http://localhost:2001/

  3. Enviar el sonido del micrófono local a los altavoces de un host remoto:

    dd if=/dev/dsp | ssh –c arcfour –C user@host dd of=/dev/dsp

    Esto enviará el sonido del puerto del micrófono como salida al puerto de los altavoces del equipo objetivo por SSH. La calidad del sonido es muy mala, por lo que se escuchará con mucho ruido de fondo.

  4. Comparar un archivo remoto con uno local: ssh user@host cat /ruta/del/archive_remoto | diff Más >
http://fashionablygeek.com/wp-content/uploads/2009/08/Sudo-T-Shirt.jpg

Error “user is not in the sudoers file. This incident will be reported.” Habilitar permiso de ejecución de sudo

0

El error user is not in the sudoers file. This incident will be reported. en máquinas Linux basadas en Debian ocurre cuando tratamos de ejecutar una orden de root por consola usando sudo con otro usuario del sistema y éste no está reflejado en el archivo /etc/sudoers como usuario con permisos para usar sudo. Para solucionar esto basta con añadir la línea siguiente en el archivo /etc/sudoers especificando el nombre del usuario al que queremos dar permiso de uso de sudo:

username ALL=(ALL) ALL

Para modificar el archivo /etc/sudoers podemos hacerlo como root usando cualquier editor de texto, con el comando echo o, como manda Debian usando visudo, por que visudo? porque es mucho más seguro como veremos después. Al usar visudo se abre el archivo /etc/sudoers con el editor de texto que haya configurado por defecto en el sistema, si no lo hemos cambiado será vi quien abra el archivo, yo no me llevo bien con vi y suelo usar vim, si es tu caso y quieres modificar el editor de texto por defecto en Debian aquí tienes como hacerlo. Vamos a proceder con visudo, lo que hay que hacer es ejecutarlo como root:

root@debianGUI:# visudo

Y se abre el archivo /etc/sudoers directamente:

# Más >
server-room

Instalar open-vm-tools en Debian Squeeze y derivados de Debian 6 y solucionar error “Module vmhgfs not found”

2

Una muy buena alternativa a las VMWare Tools para nuestras máquinas virtuales en Linux es Open Virtual Machine Tools o open-vm-tools. Este paquete nos permitirá usar APT para administrar todas las dependencias y actualizaciones, el asistente recompilara los módulos de kernel de forma automática siempre que actualicemos el kernel. Vamos a ver una guía paso a paso de como instalar open-vm-tools en Debian Squeeze y de cómo solucionar el error “Module vmhgfs not found”.

Su funcionamiento con ESXi 4.1.0, 260247 con ESXi 3.5.0, 153875 y una VM con Debian Squeeze está probado y verificado. Todas las funciones esenciales como poder ver la información del SO huesped en el sumario de VSphere y los apagados y reinicios gestionados con “Shut Down Guest” o “Restart Guest” funcionan correctamente. Los pasos de la siguiente guía hay que llevarlos a cabo como usuario root o anteponiendo sudo a cada uno de los comandos que hay que ejecutar.

  • Cambiamos a root:

    hnoguera@debianGUI:~$ su - Contraseña: root@debianGUI:~#

  • Editamos el archivo sources.list donde se listan los repositorios para Debian y derivados:

    root@debianGUI-LAMPP:~# gedit /etc/apt/sources.list
  • Al final del archivo

    Más >
http://manuelarribas.blogspot.com/2008/08/expo-agua-y.html

Localizar líneas en un fichero o archivo que coincidan con una expresión regular determinada y eliminarlas

0

Hoy se me ha dado el caso de tener que hacer una búsqueda en un fichero de una frase determinada y de eliminar todas las líneas de dicho fichero que contuviesen dicha frase, pues bien, para conseguir esto tenemos la magnífica herramienta sed que es un editor de streams para filtrar y transformar texto, podéis consultar su pagina man. El uso de sed que, para el fin que estamos buscando, vamos a darle es usando una sintaxis como ésta:

sed '/expresión regular o cadena/d' /ruta/fichero/original

Con esto le decimos a sed que busque en el fichero dado la expresión regular o la cadena que le pasamos y que la sustituya por nada eliminando la línea en blanco (/d). La salida del resultado de dicho comando se dará por la salida estándar stdout por lo que si queremos que la modificación se haga efectiva y se almacene en el fichero de forma permanente necesitamos hacer uso de otro fichero nuevo o de un fichero temporal y luego dicho fichero almacenarlo como el principal, con estos dos comandos tendríamos todo:

sed '/expresión regular o cadena/d' /ruta/fichero/original foo mv foo /ruta/fichero/original

Seguro que se os ocurre alguna aplicación verdad? Fuente: Más >

Instalar un servidor PXE en nuestra red local

0

En esta entrada vamos a explicar paso a paso la instalación de un servidor PXE (Preboot Execution Environment) en nuestra red para que nos sirva de repositorio de imágenes de SSOO con los que poder arrancar ThinClients por red sin que necesiten almacenar el SO en disco. En este caso usaré una máquina virtual con Linux Mint 10 (Julia) que tengo instalada en un server ESXi 3.5 en la que voy a instalar los servicios necesarios para convertirla en server PXE, que básicamente son un servidor DHCP y un servidor TFTP

.

  1. Instalamos el servidor DHCP en nuestra VM Julia:

    root@julia:~# apt-get install dhcp3-server

  2. Configuramos el servidor dhcp editando los archivos /etc/default/dhcp3-server y /etc/dhcp3/dhcp.conf:

    • /etc/default/dhcp3-server:

      Editamos este archivo configurando la interfaz de escucha por la que los clientes solicitan una IP:

      ... INTERFACES="eth0" …

      En mi caso la interfaz es eth0 pero puede ser otra o varias a la vez para servir a varias subredes con el mismo servicio en un solo equipo.

    • /etc/dhcp3/dhcp.conf: Editamos este archivo configurando el funcionamiento del servicio:

      … subnet 10.0.0.0 netmask 255.255.255.0 { range 10.0.0.110 10.0.0.150; filename
    Más >
Ir arriba