Está en: »

Autor: miguelcarmona

Cómo usar el comando ip en Linux (ejemplos vs ifconfig)

El comando ip, que forma parte de la iproute2 suite parece ser que es el sustituto de ifconfig, pero de momento ifconfig sigue entre nosotros, y creo que hasta que no desaparezca no dejaremos de usarlo (por comodidad, vagancia o desconocimiento del nuevo).

Vamos a ver algunos ejemplos de uso del comando ip para comenzar a familiarizarnos con él y ver como realizariamos las tareas más comunes que hacemos con ifconfig.

Ver interfaces de red y su configuración

El comando ip addr list vendría a ser lo mismo que ejecutar ifconfig. Se puede ejecutar con el mismo resultado como ip address show o ip address list: Continúe leyendo…

Query log de MySQL (general log)

En MySQL podemos habilitar un log de queries ejecutadas en el servidor llamado “general log“. Aunque no es muy recomendable tenerlo habilitado normalmente, puede resultar útil en momentos puntuales. Vamos a ver su funcionamiento:

Las variables que controlan el general log son las siguientes:

  • general_log: Indicamos si queremos habilitar o no dicho log
  • general_log_file: Indicamos el path del fichero dónde queremos el log

Mediante SHOW VARIABLES podemos verlos:

mysql> show variables like 'general_log%';
+------------------+--------------------------+
| Variable_name    | Value                    |
+------------------+--------------------------+
| general_log      | OFF                      | 
| general_log_file | /var/log/mysql/query.log | 
+------------------+--------------------------+
2 rows in set (0.00 sec)

También a partir de MySQL 5.1 tenemos que tener en cuenta el valor de “log_output“, ya que podemos indicar que en lugar de un fichero se guarde en una tabla: Continúe leyendo…

Introducción al uso de túneles SSH

Todos nos hemos encontrado en algún momento con que ese servicio al que queremos acceder está en un equipo inalcanzable desde nuestra red u otros problemas similares. Si disponemos de acceso SSH podemos solucionar fácilmente problemas de este tipo utilizando túneles SSH.

Planteamos un primer escenario, en el que tenemos un servidor de bases de datos al que podemos acceder por SSH, pero cuyo cortafuegos nos impide interactuar directamente con la base de datos (suponemos MySQL, que utiliza el puerto 3306).

Continúe leyendo…

Restringir acceso a ficheros o directorio por IP usando .htaccess

Proteger un directorio

El fichero .htaccess deberá estar colgado de él y deberá contener el siguiente código:

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "Mi control de acceso"
AuthType Basic

order deny,allow
deny from all
allow from xx.xx.xx.xxx

Cada IP con acceso deberá estar indicada en un nuevo allow. Podemos poner tantos allow como necesitemos.

Continúe leyendo…

Apache: No space left on device: Couldn’t create accept lock

El servidor web Apache lo he visto fallar de dos formas distintas (persistentes a reinicios) por el mismo problema de semáforos. Vamos a ver cómo solucionarlo:

En varias ocasiones he visto el siguiente error en el log:

[emerg] (28)No space left on device: Couldn't create accept lock

Continúe leyendo…

Pausar procesos (aplicaciones)

A veces, por algún motivo específico, necesitamos pausar alguna aplicación pero no cerrarla. Puede ser un caso el que hagamos una pausa en nuestra programación con nuestro flamante comedor de recursos como es eclipse o aptana y queramos ver un vídeo flash (otro glotón de recursos) con fluidez. Sería incómodo cerrar todo el IDE para luego volver a abrirlo. Pero el kernel Linux pensó en esos pequeños detalles y nos brinda ciertas posibilidades entre las que se encuentra detener, pausar o matar un proceso (o aplicación para los menos curtidos).

El caso es que podemos mandar la señal detener ( -19 ) a un determinado proceso para posteriormente poder iniciarlo de nuevo ( -18 ). Esta señal se puede mandar con el comando kill y el id de proceso o con el comando killall y el nombre de proceso. Como no me gusta dar tantas vueltas, me centraré en killall:

Continúe leyendo…

evitar desconexión por timeout en ssh

Problema: El servidor ssh al que te conectas cierra la conexión cuando detecta inactividad del usuario.

Solución:crear un fichero ~/.ssh/config con el contenido que indico a continuación.

Ese fichero se leerá cada vez que iniciemos una conexión ssh con cualquier host. Lo que indicamos es que queremos lanzar un paquete a modo de señal cada 120 segundos (2 minutos), haciendo saber que seguimos conectados y que no queremos que nos corte la conexión. Si por cualquier razón el servidor no respondiera tras 3 intentos de envío de señal (2*3 = 6 minutos), se cancelará la conexión.

Continúe leyendo…

Diferentes versiones de PHP según VirtualHost o directorio

Con los cambios de las versiones de PHP 5.3 y 5.4 puede resultar interesante mantener ciertas partes en una versión de PHP anterior y seguir otras con la última estable. Vamos a ver como instalar varios PHP en un mismo Apache.

La instalación del PHP, en este caso 5.2 deberá ser en modo CGI, simplemente deberemos preocuparnos de instalarlo con un prefix diferente y con el fichero de configuración en otro sitio:
Continúe leyendo…

Identificación de la key por el random art

Al generar una clave privada con ssh-keygen podemos ver al final una imagen asciigenerada a partir de la clave:

$ ssh-keygen -t dsa
(...)
The key's randomart image is:
+--[ DSA 1024]----+
|   oE   .        |
|  .. . o o       |
|      o + .      |
|   . o * +       |
|  o O = S        |
|   = X .         |
|    o o          |
|                 |
|                 |
+-----------------+

Continúe leyendo…

Tip: Recuperando archivos borrados, fácilmente con Foremost

Su forma más básica seria: foremost tipo_de_archivo_a_recuperar /directorio_de_búsqueda /directorio_de_salida.

Como siempre digo, es más fácil de entender como funciona con un ejemplo practico, así que vamos allá.
En este caso voy a utilizar Linux Mint 12 y un Pendrive (sdb1), que contiene una imagen jpg que borraré junto con la papelera, que es una carpeta oculta.

Continúe leyendo…