La guardiana de la puerta

¿A veces no os gustaría saber si el que se mete en vuestra casa no es el maestro de las llaves? En ubuntu, los scripts que estén en el directorio /etc/profile.d se ejecutan cada vez que un usuario inicia la sesión. Si nuestro servidor sólo lo usamos nosotros, y si no también, podríamos enviarnos un correo cada vez que un usuario se conecta. Así, al menos, podríamos saber si alguien ha entrado con nuestro usuario.

October 22, 2010 · 1 min · 75 palabras · Nacho Cano

De aquí al 2038

Como bien dice el agente Smith, es cuestión de contrastar un poco. Octubres con 5 viernes, 5 sábados y 5 domingos, de aquí al 2038, si es que llegamos: $ for ((i=2011; i < 2039; i++)); do cal 10 $i; done | grep -B2 -A4 " 1 2 3" Octubre 2021 lu ma mi ju vi sá do 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 -- Octubre 2027 lu ma mi ju vi sá do 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 -- Octubre 2032 lu ma mi ju vi sá do 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 -- Octubre 2038 lu ma mi ju vi sá do 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

October 7, 2010 · 1 min · 212 palabras · Nacho Cano

Mostrando las cabeceras HTTP

Leyendo el artículo de análisis de cabeceras de SbD y, en particular, lo relacionado con las cabeceras no estándar, es decir, las que comienzan por X-, se me ha ocurrido que estaría bien ver qué debe haber por el mundo: Suponiendo que el archivo sites.txt contiene un listado de los sitios que queremos comprobar: $ for url in $(cat sites.txt); do > echo $url > curl -sI $url | grep "^X-" > done > headers.txt Es cierto que se podría haber realizado de otras formas: ...

October 7, 2010 · 1 min · 116 palabras · Nacho Cano

De pantallas bloqueadas, capturas de pantalla y David Hasselhoff

El ataque David Hasselhof es una de las técnicas de guerrilla de oficina con la mejor relación coste/humillación ^[cita\ requerida]^, basta encontrarse una sesión de usuario abierta (y no protegida contra este “ataque”) y, ¡zas!, en toda la boca. No sé si un aviso disuasorio como medida de prevención contra este tipo de ataque será efectivo, pero me ha hecho preguntarme cómo podríamos incluirlo en Gnome. Capturas de pantalla Curiosamente, lo primero que he encontrado sobre la ventana de desbloquear la pantalla es que no se puede realizar una captura de pantalla de la misma pulsando la tecla Impr Pant; pruébalo! ...

October 6, 2010 · 3 min · 486 palabras · Nacho Cano

Actualización recursiva de un diccionario en Python

Cuando actualizamos un diccionario con otro en Pyhton, el método update copia las entradas del diccionario fuente en el diccionario destino, sobreescribiendo las de éste si la entrada existe en ambos diccionarios. En particular, si un diccionario contiene una entrada que es a su vez otro diccionario, no se realiza una actualización sobre ésta, por lo que se pierden los valores que no estuvieran en el diccionario fuente. Ilustremos este comportamiento con un ejemplo: ...

September 28, 2010 · 3 min · 529 palabras · Nacho Cano

Memento en Bash

No me acuerdo de olvidarte. Si lo primero que haces nada más iniciar una sesión es abrir el terminal. Varias ventanas, varias pestañas. screen, terminator o byobu. Es posible que, alguna vez, se te haya pasado por la cabeza que sería interesante guardar una nota sobre algo que estamos haciendo, algo que quisiéramos recordar más tarde, algo que quisiéramos no olvidar, algo que está relacionado con el directorio en el que estamos. ...

September 26, 2010 · 3 min · 434 palabras · Nacho Cano

La batería del portátil

Algunos falsos mitos de las baterías del portátil: Es necesario que se agote la batería para ponerla a cargar, no se debe dejar el portátil siempre enchufado a la corriente, ni se debe suspender conectado a la corriente. También existen técnicas para alargar la vida de la batería: enchufa el portátil (y enciéndelo, si quieres) hasta que la batería este cargada y déjalo cargando 2 horas más, desenchufa el portátil y espera a que se gaste la batería e hiberne enchufa el portátil sin encenderlo hasta que se cargue la batería realizar estas operaciones cada 2 ó 3 meses En principio, las baterías de los portátiles ya incorporan un mecanismo que corta la corriente cuando éstas están totalmente cargadas, evitando así la fatiga por la carga continua. ...

September 26, 2010 · 5 min · 933 palabras · Nacho Cano

Bash DNS Cache Snooping

DNS Cache Snooping consiste en realizar una serie de peticiones de resolución de nombres de dominio a la caché de un servidor DNS, con la finalidad de conocer si los usuarios de ese servidor han visitado esos dominios. Hay que tener en cuenta que las entradas en la caché tienen un tiempo de caducidad, y si durante ese tiempo no ha habido una petición a un dominio, éste es eliminado. ...

September 25, 2010 · 2 min · 420 palabras · Nacho Cano

Random Bash

“Los números aleatorios no deberían ser generados por un método elegido aleatoriamente”. Donald E. Knuth En Bash, podemos obtener números enteros aleatorios: $ echo $RANDOM 20684 Cada vez que se referencia el parámetro RANDOM, éste devuelve un valor entre 0 y 32767, es decir, 2^15^-1. Podemos inicializar la secuencia de números aleatorios asignando un valor a RANDOM. Debemos tener en cuenta que si le asignamos un valor vacío a RANDOM se pierden sus propiedades especiales, aunque después lo inicialicemos. ...

September 25, 2010 · 6 min · 1192 palabras · Nacho Cano

JABH - Just Another Bash Hacker

Se le llama JAPH a un programa en Perl que escribe “Just another Perl hacker,”. JABH vendría a ser algo parecido, en Bash: $ s="Jaescunrhkso ettBhr haa,";for y in {0..4};do for x in {0..4};do echo -n "${s:$((5*x+y)):1}";done;done Just another Bash hacker, Otra versión, algo más críptica: $ s="Jaescunrhkso ettBhr haa,";t=4;f(){ eval "for $1 in {0..$t};do eval $2;done;";};f x ';f y "echo -n \"'\''\${s:\$(((t+1)*y+x)):1}'\''\""' Just another Bash hacker,

July 28, 2010 · 1 min · 67 palabras · Nacho Cano