Archive for the 'Trucos Linux' Category

SSH sin clave

Rapida receta para conectar sin contraseña.
Para ello generaremos unas claves públicas y privadas e intercambiandolas previamente, no nos volverá a pedir la contraseña.
Esta operación hay que hacerla por usuario y se conectara con la cuenta de un usuario concreto, por lo que habrá que repetirla para tantos usuarios de origen y destino se quiera.

Llamaré cliente al que inicia la conexión y servidor al que la recibe:

Buscar una cadena de texto u otra/as

Muchas veces nos vemos en la necesidad de buscar patrones y aplicar alguna condición.
Por ejempo, si queremos ver los errores o warnings de un log:

grep "error\|warning" /var/log/rarara.log

O quizá queramos quitar todas las lineas comentadas del archivo de configuración del php:

grep -v "^#\|^$\|^;” /etc/php5/apache2/php.ini

Si queremos ahorrarnos escapar el pipe (|), podemos utilizar egrep:

ls -lrt| egrep "fichero1|fichero2"

bookmark bookmark bookmark bookmark

Escanear Bus SCSI en caliente

Os dejo un par de trucos para escanear el bus SCSI en caliente:

Si hemos asignado una LUN desde una cabina, o hemos pinchado otro disco SCSI a nuestro servidor, para que el sistema operativo lo reconozca podemos hacerlo de la siguiente forma:

echo "scsi add-single-device 0 0 4 0" >/proc/scsi/scsi

0: Host
0: Channel
4: ID
0: LUN

Con este procedimiento añadiremos esa LUN en concreto al sistema.

Memoria consumida por procesos apache

La combinación de estas opciones de ps, nos muestra los procesos de apache ordenados por consumo de memoria:

ps -ylC apache2 --sort:rss
Para averiguar cuanta carga apróximada puede soportar nuestro servidor, dividir la memoria total entre la media de esos procesos.
Tirandonos por lo alto (todos los procesos ocupan como el que más):

expr `free |grep "Mem"|awk '{print $2}'` / `ps -ylC apache2 --sort:rss|tail -1|awk '{print $8}'`
Yo podría tener:

322

Nos está llegando tráfico http a nuestro servidor ?

Algunas veces no sabemos si una conexión nos está llegando, o si es nuestro servidor quien no saca los paquetes…
Existe una herramienta llamada tcpdump que nos ayudará.

apt-get install tcpdump

Para ver si nos están llegando paquetes http:

tcpdump -i eth0 tcp and port 80

-i eth0: interfaz por la que nos debería de llegar el tráfico.
tcp: filtramos por protocolo.
port 80: filtramos por el puerto 80.

Encriptar ficheros.

Pequeño truco para encriptar esos datos con información sensible que no nos gustaría que cayesen en manos ajenas.

apt-get install mcrypt
mcrypt -a blowfish -p fichero

Nos pedirá una contraseña.
-a blowfish: Usamos el algoritmo blowfish para encriptar.
-p: Comprimimos con bzip2 antes de encriptar.
fichero: Fichero que queremos encriptar.

Borramos de manera segura el archivo original:
shred -n 10 -u -z -v fichero

Para ver el contenido del fichero encriptado:
cat fichero.bz2.nc |mcrypt -d -p

Planificando tareas a determinada hora

El otro día me solicitaron un cambio en virtualhost que tenía que aplicarse un viernes a las 20.00.
Ya que es una hora muy mala y el cambio no tenía riesgo ninguno, pensé la forma de poder planificarlo y que se lanzase de manera desatendida.
Lo primero que me vino a la mente fue el cron, pero no está pensado para esto. Así que utilice el at.