Escribe el resto del post aqui
"El éxito es la habilidad de ir de fallo en fallo sin perder el entusiasmo." ¿Sir Winston Churchill?
21 abril 2008
Ellos tambien caen
Mantener uno de los mejores blog de seguridad que existen objeto de cientos de ataques diarios es lo que tiene. Los dos principales dominios de RSnake están sin servicio, ¿qué habrá ocurrido?


Escribe el resto del post aqui
Escribe el resto del post aqui
16 abril 2008
Deja de trabajar en Google para crear una startup
Interesante post que expresa la experiencia personal de un Ingeniero en Google durante un año.
Se va de Google para trabajar en lo que verdaderamente le motiva, y para ello vuelve al mundo de la startup, del cual nacio Google.
Luego hay quien se pregunta porque no hay más compañías como Google, y es que las startup que prometen son compradas antes de triunfar.
Se va de Google para trabajar en lo que verdaderamente le motiva, y para ello vuelve al mundo de la startup, del cual nacio Google.
Luego hay quien se pregunta porque no hay más compañías como Google, y es que las startup que prometen son compradas antes de triunfar.
24 marzo 2008
Cómo quitar comentarios de un archivo de configuración
Si queremos observar únicamente las opciones que tenemos disponibles en algún archivo de configuración, existen cientos de maneras de hacerlo:
Como eliminar comentarios de un archivo de configuración:
con perl
#perl -nle 'next if /^$|^\s*#/;print' /etc/squid.conf
con la shell
#cat /etc/httpd.conf | grep -v ^# | grep -v ^$
con la utilidad sed
#sed '/^$/d;/^\s*#/d' squid.conf
con la utilidad grep
#grep ^[A-Za-z] /etc/squid/squid.conf
y para quitar las líneas con espacios
#grep ^[A-Za-z\ ] /etc/squid/squid.conf
Como eliminar comentarios de un archivo de configuración:
con perl
#perl -nle 'next if /^$|^\s*#/;print' /etc/squid.conf
con la shell
#cat /etc/httpd.conf | grep -v ^# | grep -v ^$
con la utilidad sed
#sed '/^$/d;/^\s*#/d' squid.conf
con la utilidad grep
#grep ^[A-Za-z] /etc/squid/squid.conf
y para quitar las líneas con espacios
#grep ^[A-Za-z\ ] /etc/squid/squid.conf
20 marzo 2008
El digg de los comandos shell
¿Has utilizado comandos en la shell que a la hora de la verdad no recuerdas como eran?, a propósito de un consejo que dí hace tiempo, [shell-fu]$ aglutina gran cantidad de esos comandos que os sacarán de más de un apuro en muchas ocasiones.

#mknod backpipe p; while nc -l -p 80 0<backpipe | tee -a inflow | \
nc localhost 81 | tee -a outflow 1>backpipe; do echo \"restarting\"; done
La mejor respuesta a un troll
Muchas veces es mejor ignorarlos, otras, simplemente contestarles sin seguirles el juego.

Una respuesta ágil, positiva y realista tal y como lo muestra día a día gnucitizen.
Una respuesta ágil, positiva y realista tal y como lo muestra día a día gnucitizen.
03 marzo 2008
[Offtopic] Elecciones 2008 -Internet-
En el año 2010 todas las operaciones con la administración se podrán realizar a través de Internet.
Este es uno de esos apuntes para el día de mañana echar la vista atrás y ver que ha pasado.
D. Jose Luiz Rodriguez Zapatero.
Actual presidente del gobierno de España en el segundo debate televisado.
Actual presidente del gobierno de España en el segundo debate televisado.
Este es uno de esos apuntes para el día de mañana echar la vista atrás y ver que ha pasado.
14 febrero 2008
Administrador de Sistemas --> Analista de Seguridad
Actualización [11/02/09]: Otro texto relacionado con este tema.
Esa es la transición natural de un buen administrador de sistemas que le guste ese campo específico.
Un magnífico artículo que todo administrador de sistemas debería leer.
"A good system administrator will not only worry about having a functional network, they will also try to ensure its secure operation. You can’t secure something if you have no knowledge of how it works."
Esa es la transición natural de un buen administrador de sistemas que le guste ese campo específico.
Un magnífico artículo que todo administrador de sistemas debería leer.
"A good system administrator will not only worry about having a functional network, they will also try to ensure its secure operation. You can’t secure something if you have no knowledge of how it works."
30 enero 2008
30 de Junio 2008: Fecha para el cambio a GNU/Linux o MAC
Microsoft va a forzar la entrada en el mercado de vista a pesar de su rotundo fracaso. Para ello, tiene planeado parar todas las ventas de XP a partir del 30 de Junio de 2008. A partir de esa fecha, no se podrá comprar una copia de XP. Tenemos 5 opciones:
- Migrar a un sistema GNU/Linux
- Migrar a un sistema Mac.
- Migrar a Vista
- Seguir con la copia pirata de XP.
- Firmar para salvar a XP.
23 enero 2008
El gran hermano de la Seguridad
Imaginad; 5 personas durante 5 días. Sin teléfono móvil, sin ordenador, sin distracciónes. Unicamente hablando sobre Seguridad Web. Todos firmaran acuerdos de confidencialidad y no revelación, de tal manera que puedan hablar libremente sobre sus problemas directos en relación a sus sitios web, redes, aplicaciones.., sin tener que preocuparse de que se hagan públicos.
Unas clases de Seguridad a la carta para gente con nivel, pero que quieren alcanzar un paso más. Y que mejor que hacerlas con el maestro. ¿Requisitos?
Bienvenido al Proyecto Austin. Ah!, otro requisito, 6.500$.
¿Por qué estas iniciativas se hacen sólo en EE.UU?
Estoy abierto a que cualquiera me lo financie. :D
Unas clases de Seguridad a la carta para gente con nivel, pero que quieren alcanzar un paso más. Y que mejor que hacerlas con el maestro. ¿Requisitos?
- Sin móvil, sin ordenador, sin distracciones de ningún tipo.
- Experiencia en seguridad web.
- Sociabilidad y divertido. Tendrás que salir por la noche a tomar unas copas mientras hablas en un ambiente relajado sobre todo tipo de temas.
- Firmar un acuerdo de confidencialidad.
Bienvenido al Proyecto Austin. Ah!, otro requisito, 6.500$.
¿Por qué estas iniciativas se hacen sólo en EE.UU?
Estoy abierto a que cualquiera me lo financie. :D
20 enero 2008
¿Qué le preguntarías a un Administrador de Sistemas de Google?
El grupo de Ingeniería de Google.com es el principal responsable de mantener toda la infraestructura de Google.com, de todos sus sistemas, y de enfrentarse a problemas que únicamente una compañía que posee el motor de búsquedas más grande del mundo podría afrontar.
El número es interminable, motor de búsquedas más utilizado mundialmente, sistemas de publicidad, sistema de ficheros a gran escala GFS, sistemas de noticias, sistemas de correo y así podríamos seguir durante horas.

Pues bien, en breve voy a tener la oportunidad de entrevistar a un administrador de sistemas de este grupo de Google, un sysadmin de Google, pero he pensado que sería demasiado egoísta por mi parte si soy el único que tiene la oportunidad de hacerle preguntas relacionadas con aspectos de su trabajo. Por eso, dejo este post abierto para que cualquiera de vosotros, deje la pregunta que le gustaría hacer o conocer a cerca de la vida de un administrador de sistemas en Google.
El número es interminable, motor de búsquedas más utilizado mundialmente, sistemas de publicidad, sistema de ficheros a gran escala GFS, sistemas de noticias, sistemas de correo y así podríamos seguir durante horas.

Pues bien, en breve voy a tener la oportunidad de entrevistar a un administrador de sistemas de este grupo de Google, un sysadmin de Google, pero he pensado que sería demasiado egoísta por mi parte si soy el único que tiene la oportunidad de hacerle preguntas relacionadas con aspectos de su trabajo. Por eso, dejo este post abierto para que cualquiera de vosotros, deje la pregunta que le gustaría hacer o conocer a cerca de la vida de un administrador de sistemas en Google.
19 enero 2008
sed - Mes de las herramientas unix; semana 2
Introducción
Sed parece ser una de esas herramientas que provoca miedo en la gente. Muchos ni que decir tiene que ya lo conoceis, ¿pero es útil para vosotros?, ¿la conoceis realmente?
En este mes de las herramientas unix pretendo concentrar gran información práctica. Para saber más sobre las herramientas con las que practicaremos podreis consultar sus man pages.
tabla de contenidos.
¿Qué es sed?
Invocación y uso básico
¿Funciones y Síntaxis
¿Qué es una dirección?
¿Qué son funciones?
¿Qué puedo hacer con sed?
Muestra todo excepto la primera línea
Imprime las líneas sin comentarios de squid.conf
De un archivo con múltitud de líneas en blanco, déjalo todo a doble espacio.
Inserta una línea en blanco por cada línea que coincida con regex.
Convierte los saltos de línea de DOS (CR/LF) al formato unix.
Substituye foo con bar en cada línea
Imprimer la sección de archivo entre dos expresiones regulares. (inlcusive)
¿Qué es sed?
Sed viene de "Stream Editor", esto es, "editor de flujos". Básicamente nos permite realizar múltiples manipulaciones a los flujos de texto.
Invocación y uso básico
#sed [-rn] [-e 'sedscript'] [file1 file2 ...]
-r para utilizar regex extendido, -n para que no muestre nada por la salida por defecto, -e creo que no hará falta explicarlo. Consultar las páginas de manual para más información.
Sed es básicamente un lenguaje de procesamiento de textos. Aunque contiene una gramática muy limitada, sed es muy potente. La instrucción que seguro nos sonará de perl s/foo/bar viene de sed. Algunos ejemplos.
Reemplazamiento simple de texto.
#echo "Hola a todos" | sed -e 's/todos/logadmin/'
Hola a logadmin
Característica similar a grep.
#sed -ne '/Ubuntu/p' /etc/motd
The programs included with the Ubuntu system are free software;
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
Funciones y Síntaxis.
La síntaxis de sed es muy simple. Una expresión general sera así:
address[,address]function
Las expresiones están separadas por nuevas líneas o punto y coma.
¿Qué es una dirección?
Una dirección es una manera de indicar un lugar en tu flujo de datos. Una dirección poría ser:
¿Qué son funciones?
Las funciones en sed son siempre con una letra. Las más usuales:
¿Qué puedo hacer con sed?
Muestra la primera línea de entrada (igual que head -n 1)
#sed -ne 1p archivo
Muestra todo excepto la primera línea
#sed -ne '1!p' archivo
Imprime las líneas sin comentarios de squid.conf
#sed -ne '/^[^# ]/{p;q;}' squid.conf
De un archivo con múltitud de líneas en blanco, déjalo todo a doble espacio.
#sed '/^$/d;G' antes.txt > despues.txt
Inserta una línea en blanco por cada línea que coincida con regex.
#sed '/regex/{x;p;x;}' antes.txt > despues.txt
Convierte los saltos de línea de DOS (CR/LF) al formato unix.
#sed 's/^M$//' <> despues.txt # para poner en bash ^M pulsa Ctrl-V y Ctrl-M
Substituye foo con bar en cada línea
#sed 's/foo/bar/' <> outfile # reemplaza sólo la primera instancia de una línea
#sed 's/foo/bar/4' <> outfile # reemplaza las 4 primeras instancias de una línea
#sed 's/foo/bar/g' <> outfile # reemplaza todas las instancias de una línea.
Imprimer la sección de archivo entre dos expresiones regulares. (inlcusive)
#sed -n '/regex1/,/regex1/p' <> archivo_nuevo.txt
Sed parece ser una de esas herramientas que provoca miedo en la gente. Muchos ni que decir tiene que ya lo conoceis, ¿pero es útil para vosotros?, ¿la conoceis realmente?
En este mes de las herramientas unix pretendo concentrar gran información práctica. Para saber más sobre las herramientas con las que practicaremos podreis consultar sus man pages.
tabla de contenidos.
¿Qué es sed?
Invocación y uso básico
¿Funciones y Síntaxis
¿Qué es una dirección?
¿Qué son funciones?
¿Qué puedo hacer con sed?
Muestra todo excepto la primera línea
Imprime las líneas sin comentarios de squid.conf
De un archivo con múltitud de líneas en blanco, déjalo todo a doble espacio.
Inserta una línea en blanco por cada línea que coincida con regex.
Convierte los saltos de línea de DOS (CR/LF) al formato unix.
Substituye foo con bar en cada línea
Imprimer la sección de archivo entre dos expresiones regulares. (inlcusive)
¿Qué es sed?
Sed viene de "Stream Editor", esto es, "editor de flujos". Básicamente nos permite realizar múltiples manipulaciones a los flujos de texto.
Invocación y uso básico
#sed [-rn] [-e 'sedscript'] [file1 file2 ...]
-r para utilizar regex extendido, -n para que no muestre nada por la salida por defecto, -e creo que no hará falta explicarlo. Consultar las páginas de manual para más información.
Sed es básicamente un lenguaje de procesamiento de textos. Aunque contiene una gramática muy limitada, sed es muy potente. La instrucción que seguro nos sonará de perl s/foo/bar viene de sed. Algunos ejemplos.
Reemplazamiento simple de texto.
#echo "Hola a todos" | sed -e 's/todos/logadmin/'
Hola a logadmin
Característica similar a grep.
#sed -ne '/Ubuntu/p' /etc/motd
The programs included with the Ubuntu system are free software;
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
Funciones y Síntaxis.
La síntaxis de sed es muy simple. Una expresión general sera así:
address[,address]function
Las expresiones están separadas por nuevas líneas o punto y coma.
¿Qué es una dirección?
Una dirección es una manera de indicar un lugar en tu flujo de datos. Una dirección poría ser:
- Un número de línea (ej. 1). La primera línea es '1'
- Una expresión que coincide con una expresión regualar, como /foo/
- El carácter $ que coincide con la última línea del fichero.
- Nada, lo que significará 'cada línea del archivo'
¿Qué son funciones?
Las funciones en sed son siempre con una letra. Las más usuales:
- p (print -imprime-)
- s (substitute -sustitye-)
- d (delete -borra-)
- x (intercambia el patrón y manten el buffer)
- h y H (copia y añade al buffer mantenido)
- ! (aplica la próxima función contra las líneas que no coincidan)
¿Qué puedo hacer con sed?
Muestra la primera línea de entrada (igual que head -n 1)
#sed -ne 1p archivo
Muestra todo excepto la primera línea
#sed -ne '1!p' archivo
Imprime las líneas sin comentarios de squid.conf
#sed -ne '/^[^# ]/{p;q;}' squid.conf
De un archivo con múltitud de líneas en blanco, déjalo todo a doble espacio.
#sed '/^$/d;G' antes.txt > despues.txt
Inserta una línea en blanco por cada línea que coincida con regex.
#sed '/regex/{x;p;x;}' antes.txt > despues.txt
Convierte los saltos de línea de DOS (CR/LF) al formato unix.
#sed 's/^M$//' <> despues.txt # para poner en bash ^M pulsa Ctrl-V y Ctrl-M
Substituye foo con bar en cada línea
#sed 's/foo/bar/' <> outfile # reemplaza sólo la primera instancia de una línea
#sed 's/foo/bar/4' <> outfile # reemplaza las 4 primeras instancias de una línea
#sed 's/foo/bar/g' <> outfile # reemplaza todas las instancias de una línea.
Imprimer la sección de archivo entre dos expresiones regulares. (inlcusive)
#sed -n '/regex1/,/regex1/p' <> archivo_nuevo.txt
15 enero 2008
Elige cualquier web vulnerable y... netdisaster
Netdisaster, es una web para atacar otros sitios, pero úsala con precuación. Tal y como dicen en su FAQ, su uso es tu responsabilidad. Tambien nos dan la opción para evitar que alguien la utilice en nuestra contra.

¿Vulnerables a XSS, javascript..?, algo más sencillo.
La página objetivo se carga en un frame. La animación, es un archivo .swf cargado dentro de un tag div con el índice z=100. Básicamente crean dos capas, el sitio "vulnerable" como fondo y el div contiene la animación como una capa transparente en primer plano.
¿Vulnerables a XSS, javascript..?, algo más sencillo.
La página objetivo se carga en un frame. La animación, es un archivo .swf cargado dentro de un tag div con el índice z=100. Básicamente crean dos capas, el sitio "vulnerable" como fondo y el div contiene la animación como una capa transparente en primer plano.
14 enero 2008
Los 11 proyectos Open Source más seguros
Coverity, una compañía que crea herramientas de análisis automático del código fuente, ha anunciado recientemente los 11 proyectos Open Source certificados como libres de defectos de seguridad.
Coverity ha trabajado en colaboración con la Universidad de Stanford, bajo un contrato del departamento de Seguridad Nacional.
Los proyectos certificados están escritos en C, C++, y Java. La lista de los 11 proyectos seleccionados es:
Este tipo de certificación se ha creado para que las compañía puedan seleccionar aplicaciones "Open Source" con gran confianza.
Coverity ha trabajado en colaboración con la Universidad de Stanford, bajo un contrato del departamento de Seguridad Nacional.
Los proyectos certificados están escritos en C, C++, y Java. La lista de los 11 proyectos seleccionados es:
Este tipo de certificación se ha creado para que las compañía puedan seleccionar aplicaciones "Open Source" con gran confianza.
09 enero 2008
awk - Mes de las herramientas unix; semana 1
Introducción
En este mes de las herramientas unix pretendo concentrar gran información práctica. Para saber más sobre las herramientas con las que practicaremos podreis consultar sus man pages.
Qué es awk? Uso básico de awk Registros y campos Selección de campo Patrones y funciones Patrones mágicos; Begin, End Ejemplo de expresiones de patrones Variables Arrays Concatencación de cadenas Ejemplo: Sumando el total del valor de un campo de un fichero de log
Ejemplo: ¿Cuantos archivos de cada tipo tiene abiertos mi usuario? Ejemplo: Muestra archivos que no esten vacios Ejemplo: Muestra las entradas del log comprendidas entre el 10 y el 20 de diciembre (incl):
¿Qué es awk?
awk es una de las más útiles herramientas de filtrado que encontraras. Awk es un completo lenguaje de script, pero nos centraremos exclusivamente en su uso en la shell.
Uso básico de awk
Registros y campos
Awk tiene dos conceptos de datos que vienen de la entrada de un archivo: registros y campos.
Un registro es generalmente una línea entera. El separador de registro por defecto es una nueva línea (RS). Pero se puede cambiar.
Un campo es generalmente una palabra entre espacios en blanco (tabulador o espacio). El separador de campo por defecto es un espacio (FS). También se puede cambiar en cualquier momento.
Selección de campo
A los campos se accede usando el "operador" $. Son válidos:
$1,$2,$3: (primer, segundo y tercer campos)
$NF: (el último campo, es una variable que contiene el número total de campos)
x=1; $(x+3): (equivale al cuarto campo, pero esto ya es liarla :P )
Ejemplo.
Muestra con la que trabajaremos
Ejemplo
Podemos combinar.
Y formatear
Si ejecutamos el mismo comando con un fichero diferente, pongamos /etc/passwd
no mostrara nada por 2 razones, ¿adivinais por que?
Arreglemoslo entonces.
Patrones y funciones
Las expresiones de awk vienen en dos formas; un patrón o una función. Nos centraremos en los patrones que es lo que más se usa.
Un patrón será algo como: [ expresión de la condición ] { [ expresión de la acción ] }
En pseudocódigo sería: if ( expresión de la condición ) { expresión de la acción }
Si no existiera ninguna acción, por defecto haría un 'print'. Si no hubiera condición, por defecto ejecutaría la acción para todos los campos.
Patrones mágicos: BEGIN Y END
BEGIN se usa para ejecutar cosas antes de que se parsee la primera expresión, y END obviamente hace las cosas después de que se haya ejecutado el último registro.
Ejemplo de expresiones de patrones
$1 ~ /foo/ { print $2 }
Imprime el segundo campo de todos los registros de aquellos donde el primer campo coincida con /foo/
$2 > 128
Imprime todos los registros donde el segundo campo se más grande que 128
Variables
Las variables tienen la misma sintáxis que en C, pero no tienes que declararlas.
$3 == "test" { x++ }; END { print x }
Registros totales donde $3 == "test"
{ $1 = ""; print }
Borrar el primer campo de cada registro, imprime el nuevo campo.
{ $3 = "Hola"; print }
Arrays
Los arrays son mágicos. Simplemente empieza usando una variable como un array, y se convertirá en array.
#awk '{ a[$1]++ } END { for (i in a) { print i, a[i] } }'
Concatenación de cadenas
Juntar cadenas es muy simple.
x = "log"; x = x"admin"; # x == "logadmin"
Ejemplo: Sumando el total del valor de un campo de un fichero de log.
Del fichero de log que habíamos elegido al principio, hacemos;
#awk 'BEGIN{total=0;} {total += $5;} END{print "el total es ", total}' access.log
el total es 28677417
Donde $5 es el quinto campo (bytes tranferidos) y obtenemos el total del tamaño transferido en ese log.
Ejemplo: ¿Cuantos archivos de cada tipo tiene abiertos mi usuario?
#lsof -u logadmin | sed 1d| awk '{a[$1]++} END { for (i in a) { print i, a[i] } }' | sort -nk2
gnome-pty 4
ssh-agent 4
awk 9
compiz 9
firefox 9
run-mozil 9
mapping-d 15
sed 21
sort 21
lsof 31
..
Ejemplo: Muestra archivos que no esten vacios.
# ls -l | awk '$5 > 0'
Ejemplo: Muestra las entradas del log comprendidas entre el 10 y el 20 de diciembre (incl).
# cat *.log | awk '$1 == "Dec" && ($2 >= 10 && $2 <= 20)'
NOTA: Perdonad la presentación, se que quedaría infinitamente mejor con estilos definidos y todo ese tipo de formateos, pero me centro en el contenido, no en la apariencia ;)
En este mes de las herramientas unix pretendo concentrar gran información práctica. Para saber más sobre las herramientas con las que practicaremos podreis consultar sus man pages.
Tabla de contenidos
¿Qué es awk?
awk es una de las más útiles herramientas de filtrado que encontraras. Awk es un completo lenguaje de script, pero nos centraremos exclusivamente en su uso en la shell.
Uso básico de awk
awk [-F] [awk_script] Registros y campos
Awk tiene dos conceptos de datos que vienen de la entrada de un archivo: registros y campos.
Un registro es generalmente una línea entera. El separador de registro por defecto es una nueva línea (RS). Pero se puede cambiar.
Un campo es generalmente una palabra entre espacios en blanco (tabulador o espacio). El separador de campo por defecto es un espacio (FS). También se puede cambiar en cualquier momento.
Selección de campo
A los campos se accede usando el "operador" $. Son válidos:
$1,$2,$3: (primer, segundo y tercer campos)
$NF: (el último campo, es una variable que contiene el número total de campos)
x=1; $(x+3): (equivale al cuarto campo, pero esto ya es liarla :P )
Ejemplo.
Muestra con la que trabajaremos
#tail -1 access.log
1199488503.117 239 127.0.0.1 TCP_REFRESH_UNMODIFIED/304 310 GET http://www.logadmin.net/ - NONE/- -
Ejemplo
#awk '{print $7}' access.log
http://www.logadmin.net/
#awk '{print $7 " " $9}' access.log
http://www.logadmin.net/ DIRECT/72.14.207.121
#awk '{print $7 "\t" $9}' access.log
http://www.logadmin.net/ DIRECT/72.14.207.121
Si ejecutamos el mismo comando con un fichero diferente, pongamos /etc/passwd
no mostrara nada por 2 razones, ¿adivinais por que?
Arreglemoslo entonces.
#awk -F: '{print $1 " " $6}' /etc/passwd
logadmin /home/logadmin
Las expresiones de awk vienen en dos formas; un patrón o una función. Nos centraremos en los patrones que es lo que más se usa.
Un patrón será algo como: [ expresión de la condición ] { [ expresión de la acción ] }
En pseudocódigo sería: if ( expresión de la condición ) { expresión de la acción }
Si no existiera ninguna acción, por defecto haría un 'print'. Si no hubiera condición, por defecto ejecutaría la acción para todos los campos.
Patrones mágicos: BEGIN Y END
BEGIN se usa para ejecutar cosas antes de que se parsee la primera expresión, y END obviamente hace las cosas después de que se haya ejecutado el último registro.
Ejemplo de expresiones de patrones
$1 ~ /foo/ { print $2 }
Imprime el segundo campo de todos los registros de aquellos donde el primer campo coincida con /foo/
$2 > 128
Imprime todos los registros donde el segundo campo se más grande que 128
Variables
Las variables tienen la misma sintáxis que en C, pero no tienes que declararlas.
$3 == "test" { x++ }; END { print x }
Registros totales donde $3 == "test"
{ $1 = ""; print }
Borrar el primer campo de cada registro, imprime el nuevo campo.
{ $3 = "Hola"; print }
Arrays
Los arrays son mágicos. Simplemente empieza usando una variable como un array, y se convertirá en array.
#awk '{ a[$1]++ } END { for (i in a) { print i, a[i] } }'
Concatenación de cadenas
Juntar cadenas es muy simple.
x = "log"; x = x"admin"; # x == "logadmin"
Ejemplo: Sumando el total del valor de un campo de un fichero de log.
Del fichero de log que habíamos elegido al principio, hacemos;
#awk 'BEGIN{total=0;} {total += $5;} END{print "el total es ", total}' access.log
el total es 28677417
Donde $5 es el quinto campo (bytes tranferidos) y obtenemos el total del tamaño transferido en ese log.
Ejemplo: ¿Cuantos archivos de cada tipo tiene abiertos mi usuario?
#lsof -u logadmin | sed 1d| awk '{a[$1]++} END { for (i in a) { print i, a[i] } }' | sort -nk2
gnome-pty 4
ssh-agent 4
awk 9
compiz 9
firefox 9
run-mozil 9
mapping-d 15
sed 21
sort 21
lsof 31
..
Ejemplo: Muestra archivos que no esten vacios.
# ls -l | awk '$5 > 0'
Ejemplo: Muestra las entradas del log comprendidas entre el 10 y el 20 de diciembre (incl).
# cat *.log | awk '$1 == "Dec" && ($2 >= 10 && $2 <= 20)'
NOTA: Perdonad la presentación, se que quedaría infinitamente mejor con estilos definidos y todo ese tipo de formateos, pero me centro en el contenido, no en la apariencia ;)
04 enero 2008
Mes de las herramientas unix
Para empezar fuerte, voy a crear una serie de artículos cubriendo información práctica de algunas de las herramientas a menudo olvidadas pero de un gran valor para un administrador de sistemas.
El objetivo de estos artículos será mostrar ejemplos realmente prácticos de esas herramientas, con las que algunos duran 5 segundos leyendo las man pages.
Herramientas unix que exploraremos:

Admito sugerencias para explorar otras herramientas.
Idea basada del blog de Jordan. Un sysadmin de Google.
El objetivo de estos artículos será mostrar ejemplos realmente prácticos de esas herramientas, con las que algunos duran 5 segundos leyendo las man pages.
Herramientas unix que exploraremos:
- Semana 1: awk
- Semana 2: sed
- Semana 3: xargs
- Semana 4: perl

Admito sugerencias para explorar otras herramientas.
Idea basada del blog de Jordan. Un sysadmin de Google.
03 enero 2008
Carta abierta a un administrador de sistemas
La entrada 20 maneras de eliminar el estres parecía escrita por y para administradores de sistemas, gracias Armonth, tomaré nota. De cualquier manera y como añadido a las estrategias clave de un administrador de sistemas, quería empezar el año dando ánimos y respirando hondo para afrontar todo lo que nos deparará este año. Válido para cualquier trabajo relacionado con los sistemas e informática en general, qué tan devaluado está últimamente.
Administrador de sistemas, es un trabajo desagradecido, pero no desesperes;
Habrá días en que te encuentres muy cansado, tan cansado que te preguntarás por qué no has
elegido otro medio de vivir. Días en que parecerá que sólo has hecho un 1% del trabajo que queda por hacer, trabajo que no conseguiras terminar nunca y que por otra parte, nadie se da cuenta de ello, ni siquiera imaginan una ínfima parte de lo que hay detrás de todos esos sistemas que usan a diario. En esos días te sentiras hundido, maltratado y sin apenas fuerzas para enfrentarte a usuarios cínicos, jefes cabreados, personas que conocen el precio de todo pero el valor de nada. Pero no te dejes, no te des por vencido NUNCA. Subestimando algo que vale una fortuna puede ser un riesgo laboral para un administrador de sistemas, pero no tienes que caer en esta particular trampa tú mismo. Simplemente, mantén presente que alguien que puede manejar el día a día de la administración de sistemas (en sus múltiples variedades) vale su peso en oro.
Me viene a la mente un animal como signo de lo que sería el trabajo de un administrador de sistemas, ¿se os ocurre cual podría ser?
Administrador de sistemas, es un trabajo desagradecido, pero no desesperes;
Habrá días en que te encuentres muy cansado, tan cansado que te preguntarás por qué no has
elegido otro medio de vivir. Días en que parecerá que sólo has hecho un 1% del trabajo que queda por hacer, trabajo que no conseguiras terminar nunca y que por otra parte, nadie se da cuenta de ello, ni siquiera imaginan una ínfima parte de lo que hay detrás de todos esos sistemas que usan a diario. En esos días te sentiras hundido, maltratado y sin apenas fuerzas para enfrentarte a usuarios cínicos, jefes cabreados, personas que conocen el precio de todo pero el valor de nada. Pero no te dejes, no te des por vencido NUNCA. Subestimando algo que vale una fortuna puede ser un riesgo laboral para un administrador de sistemas, pero no tienes que caer en esta particular trampa tú mismo. Simplemente, mantén presente que alguien que puede manejar el día a día de la administración de sistemas (en sus múltiples variedades) vale su peso en oro.
Me viene a la mente un animal como signo de lo que sería el trabajo de un administrador de sistemas, ¿se os ocurre cual podría ser?
31 diciembre 2007
Feliz año nuevo 2008
Feliz Año Nuevo!
Xin nian yu kuai
Godt Nytår
Gelukkig nieuwjaar
Aide shoma mobarak
Bonne année
Aith-bhliain Fe Nhaise Dhuit
Gutes Neues Jahr
Hauoli Makahiki Hou
Shanah tovah
Nyob zoo xyoo tshiab
elamat Tahun Baru
Buon Capo d'Anno
Akemashite Omedetou Gozaimasu
Godt Nyttår
Maligayang Bagong Taon
Szczesliwego Nowego roku
Feliz ano novo
La Multi Ani
S Novym Godom
Wilujeng Tahun Baru
Gott Nytt År
Yeni Yiliniz Kutlu Olsun
Blwyddyn Newydd Dda
Unicamente desearos a todos un feliz año nuevo amigos.
Tomad el nuevo año con ganas y optimismo, recobrar fuerzas que nos harán falta. ;)
Enjoy!.
Xin nian yu kuai
Godt Nytår
Gelukkig nieuwjaar
Aide shoma mobarak
Bonne année
Aith-bhliain Fe Nhaise Dhuit
Gutes Neues Jahr
Hauoli Makahiki Hou
Shanah tovah
Nyob zoo xyoo tshiab
elamat Tahun Baru
Buon Capo d'Anno
Akemashite Omedetou Gozaimasu
Godt Nyttår
Maligayang Bagong Taon
Szczesliwego Nowego roku
Feliz ano novo
La Multi Ani
S Novym Godom
Wilujeng Tahun Baru
Gott Nytt År
Yeni Yiliniz Kutlu Olsun
Blwyddyn Newydd Dda
Unicamente desearos a todos un feliz año nuevo amigos.
Tomad el nuevo año con ganas y optimismo, recobrar fuerzas que nos harán falta. ;)
Enjoy!.
28 diciembre 2007
¿Por qué no puedes encontrar a tu Administrador de Sistemas?
Recomiendo este libro, que describe unas cuantas verdades que a muchos administradores les gustaría gritar decir a los usuarios de sus sistemas.
Una imagen vale más que mil palabras.

Tendría que añadir una sexta estrategia de los administradores de sistemas, "permanece oculto a tus usuarios" que ellos se las arreglen y puedas invertir tu tiempo en otras cosas más valiosas.
Enjoy!.
Una imagen vale más que mil palabras.

Tendría que añadir una sexta estrategia de los administradores de sistemas, "permanece oculto a tus usuarios" que ellos se las arreglen y puedas invertir tu tiempo en otras cosas más valiosas.
Enjoy!.
26 diciembre 2007
Los mejores programas hechos en C++ según su Inventor
Bjarne Stroustrup es el inventor de C++, podeis consultar numerosas entrevistas que se le han hecho desde las cuales podremos sacar nuestras propias conclusiones del panorama actual en relación a la programación y entorno en el que nos movemos. Particularmente me quedo con esta pregunta y respuesta de una de las entrevistas:
¿Cuál ha sido el mejor y peor programa realizado en C++?
B.S: El mejor Google!, ¿puedes recordar el mundo antes de Google? (después de todo solo hace 6 años). Lo que me gusta de Google es su rendimiento bajo severas restricciones de recursos. Posee unos de los más sencillos e ingeniosos algoritmos de paralelización y computación distribuida.
Tambien hay sistemas-embebidos que me gustan como por ejemplo los análisis de escena y autonomía de movimiento de la Mars Rovers. Procesamiento de imágenes en Photoshop...
El peor... Lo siento, no voy a poner en verguenza a nadie nombrando su trabajo, es tan tentador.. pero no lo haré.
Entrevista completa.
Escribe el resto del post aqui
¿Cuál ha sido el mejor y peor programa realizado en C++?
B.S: El mejor Google!, ¿puedes recordar el mundo antes de Google? (después de todo solo hace 6 años). Lo que me gusta de Google es su rendimiento bajo severas restricciones de recursos. Posee unos de los más sencillos e ingeniosos algoritmos de paralelización y computación distribuida.
Tambien hay sistemas-embebidos que me gustan como por ejemplo los análisis de escena y autonomía de movimiento de la Mars Rovers. Procesamiento de imágenes en Photoshop...
El peor... Lo siento, no voy a poner en verguenza a nadie nombrando su trabajo, es tan tentador.. pero no lo haré.
Entrevista completa.
Escribe el resto del post aqui
21 diciembre 2007
La Comisión Europea reconoce al Software Libre como un verdadero competidor en la Industria IT
La Comisión Europea, después de haber conseguido que Microsoft publique toda la información técnica de su protocolo para beneficio de la comunidad Open Source y en especial del proyecto Samba, no hace más que reconocer al Software Libre como un verdadero competidor en la industria Tecnológica.
Es una muy buena noticia y un punto de inflexión para la comunidad Open Source, ya que muchos proyectos de código abierto podrán adaptarse para su compatibilidad con la tecnología de Microsoft, que guste ono, está presente en más del 90% de las redes de empresas.
Esto se ha conseguido gracias al esfuerzo que durante años han realizado algunos de los miembros del equipo samba junto con abogados de la Comsión Europea.
Detalles completos.
Decisión de la Comisión Europea.
Es una muy buena noticia y un punto de inflexión para la comunidad Open Source, ya que muchos proyectos de código abierto podrán adaptarse para su compatibilidad con la tecnología de Microsoft, que guste ono, está presente en más del 90% de las redes de empresas.
Esto se ha conseguido gracias al esfuerzo que durante años han realizado algunos de los miembros del equipo samba junto con abogados de la Comsión Europea.
Detalles completos.
Decisión de la Comisión Europea.
Suscribirse a:
Entradas (Atom)