jueves, marzo 29, 2007

Cánon o la presunta culpabilidad

No voy a repetir o que he dicho mil veces y pensamos todos, así que, si crees que nos están estafando al cobrarnos el canon, pincha en la foto y firma.

Cazadores de zombies

Como si de literatura de miedo (aunque a mí nunca me pareció que lo diese) se tratase por el título, estoy hablando de una gente que se dedica a hacer más "seguro" Internet. Llevan un control del número de máquinas zombies y C&C (sus controladores) hay por Internet (aunque no se pueda controlar relamente ese número). Parece que hay grandes variaciones en poco tiempo. Como ejemplo, desde primeros de marzo hasta hoy se ha triplicado en este mes el número de máquinas zombies. ¿Qué significa eso? Significa que dentro de poco vamos a tener que descartar el servicio de correo electrónico porque no va a ser viable por la cantidad de "mierdas" que se envían en relación a los correos lícitos.

Otro dato que me ha llamado la atención: con la salida del SP2 de Microsoft, el número de zombies bajó de 10000~15000 a 5000 nuevos zombies diarios. Impresionante, ¿verdad?

Aquí encontraréis gráficas, datos y documentación al respecto:
http://www.shadowserver.org

viernes, marzo 23, 2007

Dilbert

Todos los días leo la tira de Dilbert. Muchas veces veo reflejadas situaciones de mi empresa. Una que se da habitualmente es esta aunque hay muchísimas. Tantas que he pensado que Scott Adams trabaja aquí. He abierto la libreta de direcciones y... no, no está. ¿Cómo sabrá lo que ocurre aquí dentro?

miércoles, marzo 07, 2007

Código ofuscado

Resulta que tenía que optimizar un script, cuando de repente me encuentro:
# Creamos el fichero temporal $ficheroDestino.
# Si ya existia, lo borramos para asegurarnos de que todo el contenido es nuevo.

if [ -f $rutaDestino ];
then
rm $rutaDestino
else
echo "" | tee $rutaDestino
fi

Y yo me pregunto:
1) ¿por qué si no existe lo creamos y porqué si existe lo borramos? ¿No sería más coherente, si lo borras, crearlo después?
Versión 1.1:
if [ -f $rutaDestino ];
then
rm $rutaDestino
fi
echo "" | tee $rutaDestino

2) ¿dónde ha visto "echo "" | tee $rutaDestino"? ¿Por qué la gente es tan enrevesada? ¿echo != echo ""? ¿| + tee != >?
Versión 1.2:
if [ -f $rutaDestino ];
then
rm $rutaDestino
fi
touch $rutaDestino


3) ¿Se puede ser más enrevesado aún? Probemos (se aceptan propuestas en los comentarios):
# Comprobamos si no existe el fichero y si existe dev null y escribimos fin de linea (con comillas-comillas ¿?¿?¿?)

( [ ! -f $rutaDestino ] && [ -c /dev/null ] && echo "" | tee $rutaDestino > /dev/null 2>&1 ) || ( [ -f $rutaDestino ] && [ -c /dev/null ] && rm $rutaDestino && echo "" | tee $rutaDestino > /dev/null 2>&1 )

4) ¿Los agujeros negros existen? ¿existe /dev/null?
Versión 2.0:
# Si existe el fichero lo vaciamos
# Si no existe el fichero, lo creamos vacio para asegurarnos que el contenido es nuevo

cat /dev/null > $rutaDestino


Redios... y estos tios desarrollan software.

sábado, febrero 10, 2007

Navegar y explorar no es lo mismo

Leo en el mundo:
"Además, incluye un explorador de Internet, un diccionario mandarín-inglés y una aplicación de calendario para la gestión de citas."

¿Qué coños es un explorador de Internet? Mal vamos cuando empezamos así.

Además, explorar y navegar no es lo mismo. ¿Acaso puedes navegar la cultura indígena o la jungla? Puedes navegar por Internet pero no explorarlo.

¿Por qué lo utilizan como si fuesen sinónimos? Claro que no son los únicos inútiles dejados llevar por la mierda que usan.

sábado, diciembre 30, 2006

RIP for free

Existen en los kioskos algunas revistas de "seguridad". Muchas de ellas me parecen de auténticos lamers[1].

Hay una revista que murió, que me gustaba, ante todo, la orientación práctica que tenía. Había algunas cosas que, literalmente, apestaban (como un curso de Visual Basic) pero había otras cosas realmente interesantes. Tras su muerte han sacado los PDF (no escaneado, sino el original) para descarga pública gratuita. Os dejo el script para bajaros las revistas:

for i in `seq 1 30` ; do 
wget http://trucosdebian.info/HXC/hxc${i}.pdf
done


Aviso: la nº 6 está incompleta

[1]De la wikipedia: Una persona que alardean de pirata informático, crackers o hackers y solo intenta utilizar programas de fácil manejo realizados por auténticos hackers, sin obtener los resultados que pretendía; incluso llegando a perjudicarse a el mismo.

La chica nueva

Como ya comentaba en el post anterior, han reestructurado el servicio para poder ajustar al presupuesto mi sueldo. Describo el servicio y después la solución: "dos personas por turno que cubrirán las 365 tardes del año". ¡¡¡Genial!!! ¡¡¡Podré tener 6 meses de vacaciones para estar en la playa!!!

Pues eso acabó en trabajar las tardes de lunes a viernes, y los fines de semana y festivos turnarnos las guardias entre todos. Bueno, ahora somos 3 pero tenían que buscar a mi compañero. Yo dije que si iba a ser su responsable quería seleccionarlo yo. Al final las prisas han hecho estragos. Sólo puede entrevistarla una vez ya seleccionada para conocer su nivel. Vamos a obviar su CV, que no lo hubiese cojido pues lo más destacado es que impartió un curso de GNU/Linux ¡¡¡con Mandrake!!!

Éstas fueron mis preguntas:
XiR- ¿Has configurado Apache 2?
Nueva- Sí
X-¿con hosts virtuales?
N-No
X-¿Bases de datos?
N-Oracle
X-¿Has tocado Postgres?
N-No
X-¿Debian?
N-Me la he instalado en casa pero no me funciona
"¿que no te funciona? ¿qué significa no me funciona?"-pensé. Supongo que no podía evitar poner caras.
X-¿Cisco?
N-No
X-¿Postfix?
N-No
Bueno, parece que voy a tener trabajo... sigo con las preguntas:
X-¿Tienes ordenador en casa?
N-Sí
X-¿Cuantos?
Me miró extrañada como pensando: ¿alguien puede tener más de uno?
N-Uno
X-¿Con qué sistema operativo?
N-Está particionado con Windows y Debian (la que no me funciona) y en un vmware tengo una Mandrake
X-¿Tienes PDA?
N-No, pero sí la quiero
X-¿La reflashearías con otro sistema operativo?
N-No
X-¿Tienes consola: Xbox, PS1, PS2?
N-No
X-¿Sabrías cómo se "hackea" alguna de ellas?
N-No.
X-¿Sabes quién Larry Wall?
N-No, ¿quién?
X-Quién desarrollo Perl. ¿Y Alan Cox?
N-No
X-¿Richard Stallman?
N-No
X-¿la Free Software Foundation?
N-No
X-Bien, no tengo más preguntas. Gracias por venir.
N-No te preocupes. Aprendo rápido.

Lo que me preocupaba, realmente, no es que aprenda rápido o lento ya que parecía tener muy buena actitud al respecto. Lo que realmente me preocupaba es que ¡¡¡no le gusta la informática!!!

La empresa y tú

Como ya comentaba en un post anterior, se acabó mi etapa laboral después de 3 años a cargo de la Intranet, DMZ y seguridad de un ministerio. Ha sido un gran paso en mi carrera y llegó el momento de buscar trabajo. Es cuando te replanteas si el CV que tenías te seguirá valiendo y sólo tendrás que añadir esa entrada.

Utilicé Infojobs principalmente, porque ya tenía el CV introducido de hacía unos años. Cuando me dí de alta en otros portales de búsqueda de trabajo y ¡¡¡ví lo pesado que es rellenar todos esos campos!!! Así que me dejé llevar por lo fácil. Aún así estuve de entrevistas durante 15 días con una media de 1,10 entrevistas al día.

El caso es que quería salir de Madrid e irme a vivir a la playa, al sur. Buscando mi tipo de trabajo en Málaga me dí cuenta que por cada uno que encontraba y en el que requerían mucha menos experiencia que la mía (a demás de un sueldo bastante inferior), encontraba 20 para mí (en principio) en Madrid.

Al final seguí en mi compañía aunque en otro cliente y descarté otra empresa que, aunque su proyecto me gustaba mucho, el salario ofrecido era menor. "Si en mi empresa estoy bien y quieres que me vaya contigo, no me dés lo que ya tengo sino que motivame de alguna manera a cambiar", pensé. Así que, si me cambiaba y no era a Málaga, tendrían que "pagarme" una buena razón. Además, parece que no sepan lo de "más vale malo conocido..." (aunque en mi caso no era malo).

Descarté la oferta pero siempre dejando claro que la pega era económica y que lo demás me había gustado. Y así, a los 15 días de haber empezado el nuevo proyecto, me volvieron a llamar contándome que habían reestructurado el servicio para poder pagar lo que pedía.

Así que tras intentar dejar zanjado todos los "miniproyectos" que había empezado, salí de allí con varios amigos hechos y el buen recuerdo de la compañía. De hecho me quedé la tarjeta de acceso al edificio como recuerdo (con permiso suyo) que desactivarán. XD

He descubierto que tratar con profesionales es un placer. Cuando les dices que te ofrecen más en otro sitio y lo entienden como una regla del mercado (que ellos mismos han creado) y no como una ofensa personal... realmente debería ser siempre así, aunque no lo es.

Me duele dejar la compañía porque estaba contento de estar en ella pero trabajamos para vivir (no vivimos para trabajar, Sergio) y necesitamos motivaciones y dinero para alcanzar nuestros sueños (nuestras motivaciones privadas).

Todo esto viene a cuento de un email que he recibido de Miguel en el que me decía que este post en Josep on technology le había recordado a mí.

El día que encuentre una oferta del tipo: "buscamos a ingeniero informático que sepa de Linux, redes y Futurama" me va a faltar tiempo para enviar el CV.

martes, diciembre 19, 2006

Criptionando

Tras comunicar que había implantado una política de copia remota de un export de Oracle los domingos, mi compañero Jorge d.l.C. (que te vaya bien en tu nuevo proyecto) me respondió esto:
Create or replace procedure Buenos_dias
Declare
Saludo:=’Hola Ivan’;
Begin
Dbms_output.put_line(‘lo de copiarlo sólo los domingos ¿es por algo?’);
Exception
when no_data_found
Dbms_output.put_line(‘el remitente pasa de mi cara y no responde’);
when others
Dbms_output.put_line(‘SORRY NEN, yo que sabía’);
End;

Así que, ante su pregunta, tuve que responderle:
6f50 7172 6575 4c20 7561 6172 7020 6569
736e 2061 7571 2065 6e75 2061 6c61 6420
6169 7620 2061 2061 6573 2072 756d 6863
206f 7563 6e61 6f64 7320 2065 6168 6167
6520 7473 206f 6f63 206e 616c 2073 6564
616d 2073 4242 4444 0a2e


Y, el muy "colgado" volvió al ataque:
JUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Pero ya me lo sabía ….

...y es que algunos no tienen solución

domingo, diciembre 03, 2006

Seguro, pero con cabeza

No me parece curioso que en mi nuevo trabajo le den mucha importancia a la seguridad. Es parte de nuestra labor. Llega hasta tal punto que no permiten permitían a los servidores enviar correos. Esto que a algunos os parecerá correcto no es lo ideal, ya que puedes aprovechar la circunstancia para permitir que el servidor os envíe información sobre las tareas automatizadas o, como ya indiqué en el anterior post hay herramientas que utilizan el correo para realizar su labor.

Pero una vez superada la pega, me sigue dando vueltas por la cabeza que segurizan los servicios, pero NO utilizan iptables. Me parece un gran error, ya que configurar TODOS los servicios correctamente supone muchísima concentración y casi más conocimiento ya que cada servicio es un mundo. Además hay servicios que abren puertos para comunicarse consigo mismo y que no se pueden cerrar pues el programa deja de funcionar. Con iptables no existe ese problema porque tu decides cuáles son las máquinas de origen y destino entre otra muchísimas cosas.

Como diría el anuncio: "Empty your mind. Be formless, shapeless. Like iptables. You put iptables into a bottle and it takes care of the bottle hole. You put in a teapot, it becomes the teapot handle. Iptables lets packets flow, or it can crash 'em. Be iptables, my friend!"

domingo, noviembre 26, 2006

Bitacorea o cuenta

Logwatch: analizador de logs modular que se ejecuta cada noche y envía por correo los resultados.

Me gustaría haber podido contar antes cuánto me reí cuando pensaba que en mi anterior trabajo, aunque no estaban realmente cualificados, al menos podrían mantener lo que había: el día a día.

Recibí uno de los últimos días allí un mail de mi ahora ex-jefe diciendo a sus chicos: "Hay que revisar todos los días los logwatch".

Pensé: "creía que el único que los ojeaba era yo. Me alegra ver que han aprendido algo". Plantar una semillita de conociemiento siempre te hacer sentir orgulloso. Seguía el mail: "Hay que asegurarse que llegan 53. Si hay menos, es que alguna máquina tiene problemas. No hace falta leerlos, aunque eso sería la ostia".

Para eso ponte un cron que te envíe un correo diciendo como cuando iban nuestros padres al colegio: "Presente para servirle a Ud. a Dios y a España" y no pierdas horas y horas de proceso en sacar unas estadísticas que ni siquiera piensas mirar.

Por cierto, el orgullo me desapareció de un garrulazo*.

*Acción realizada por un garrulo.

lunes, octubre 30, 2006

Resurrección

Por fín llega a su fín otra etapa laboral de mi vida y ¡¡me vuelve a parecer tan difícil hacer tu trabajo lo mejor posible cuando tiene una fecha de caducidad tu responsabilidad!! Además, aunque lo intentes hacer bien, los fallos que has tenido durante 3 años no son comparables con los que tienes los últimos días, pero no porque sean peores o más graves, sino porque la gente piensa que "pasas".

Da igual si haces oidos sordos al pequeño demonio (daemon) que te recuerda que "sólo te quedan un par de semanas" y luchas agarrando al angelito y atándotelo a la oreja para que te repita constantemente que "debes ser profesional". Cualquier fallo será mal visto.

En cualquier caso sé que lo estoy haciendo tan bien (o tan mal) como antes, pero ahora como ven que se acerca el día en que no puedan pedirme que les solucione X o Y...

Así que estamos de entrevista en entrevista a ver quién me encandila para seguir viviendo en Madrid (puajjjjj). ¡¡¡Maldito$ din€ro$!!!

miércoles, septiembre 27, 2006

Un BOFH aburrido

Aburrido estoy de mis usuarios y programadores, así que, harto de tener que inventarme excusas he encontrado quien las invente por mi. Excusas del tipo:

-Melting hard drives
-BNC (brain not connected)
-no "any" key on keyboard
-NOTICE: alloc: /dev/null: filesystem full
-We already sent around a notice about that.
-had to use hammer to free stuck disk drive heads.
-techtonic stress
-Interference between the keyboard and the chair.
-Suspicious pointer corrupted virtual machine
-pseudo-user on a pseudo-terminal
-Feature not yet implemented
-Maintenance window broken
-Recursive traversal of loopback mount points
-Internet shut down due to maintenance

Y es que toparte con gente que no sabe todo lo que debería te da cierta ventaja a la hora de inventarte excusas. ¿Necesitas un BOFH-excusador? No tienes más que instalar los paquetes fortunes y fortunes-bofh-excuses.

Esto me recuerda a una vez que se había colgado un PC. El típo estaba dado la vuelta hablando por el móvil y yo reinicié a "botonazo" el PC. Arrancó perfectamente. Cuando me preguntó qué le ocurría le dije que "es que había un conflicto con los punteros a IPs, pero que ya lo he arreglado. Quizás vuelva a pasar".

viernes, septiembre 08, 2006

Mayusculeador/Minusculeador

Para pasar todos los nombres de ficheros de un directorio de mayúsculas a minúsculas o viceversa.
Admite 2 tipos de parámetros:
-por defecto pasa de mayúsuclas a minúsculas; para pasar de minúsculas a mayúsculas: -r
-el directorio sobre el que actuar (directorio actual si no se indica nada).

#!/bin/bash
###################################
#
# Copyleft Ivan Eguiguren
# September the 8th, 2006
#
###################################

[ -d "$1" ] && cd $1
[ -d "$2" ] && cd $2
[ "$1" == "-r" ] && MAY=1
[ "$2" == "-r" ] && MAY=1
ls > /tmp/listado1
if [ $MAY ] ; then
tr 'a-z' 'A-Z' < /tmp/listado1 > /tmp/listado2
else
tr 'A-Z' 'a-z' < /tmp/listado1 > /tmp/listado2
fi
join -i -a1 -a2 -o 1.1 2.1 /tmp/listado1 /tmp/listado2 > /tmp/listado3
sed -e 's/^/mv /' /tmp/listado3 > /tmp/listado4
chmod 755 /tmp/listado4
/tmp/listado4
sleep 4
rm /tmp/listado[1-4]

viernes, julio 21, 2006

Sin palabras

From: "Usuario lelo"
To: "Avisos aplicaciones Java"

Asunto: Avería en la impresora de Color del Vicesecretario general técnico.

Ruego toméis nota para llamar al departamento técnico por avería en la impresora de color del Vicesecretario General Técnico despacho nº 123. Muchas gracias


Mensaje directo, escueto y a ¿una dirección aleatoria? Pero ¿cómo se puede ser tan memo?

jueves, junio 15, 2006

Casualidades

Ruiz wrote:

>> Nos comentan una incidencia que se produce en la Aplicación de Consulta
>> de Centros Universitarios (http://tproperez/centrosweb/). Al parecer no
>> se puede acceder desde la calle aunque el acceso desde Vitruvio o desde
>> el CCU no da ningún problema.

Hola:

Pues no sabes qué alegría me das, porque si pudiesen acceder con esa URL
estaría algo mal configurado. Aquí tienes la URL correcta:


Si es que se inventan las cosas y encima ¡¡¡quieren que les funcione!!!

viernes, abril 07, 2006

Integración de SPF en Spamassassin

Introducción.
Spamassassin es un filtro de correo escrito en Perl para identificar spam utilizando multitud de tests heurísticos en las cabeceras de un correo y en el cuerpo del mensaje. Es software libre.

Cómo funciona Spamassassin.
Cuando nuestro servidor de correo recibe un mensaje, se lo envía al demonio de Spamassassin, quien procede a ejecutar una serie de tests sobre él. Cada uno de ellos añade o quita unas pocas milésimas de puntuación a dicho correo. Si la puntuación que asigna un test es positiva, es que tiene cierto parecido con el spam; por contra, si esa puntuación es negativa, es que tiene parecido con correo válido. Así, una vez pasados todos los tests se suman todas las puntuaciones para hallar la puntuación total de dicho correo. Si esa puntuación está por encima de un margen, el mensaje podrá ser marcado como spam, si pasa por encima de un segundo límite, será directamente descartado.

Tanto las puntuaciones como los límites más arriba citados pueden ser configurados y modificados a nuestro antojo.

Cómo funciona SPF
SPF nos permite comprobar mediante una consulta DNS si un servidor está autorizado para enviar correo de un dominio determinado. Para ello el administrador del DNS del dominio remitente debe haber configurado la/s entrada/s correspondiente/s en el servidor DNS de ese dominio. Igualmente el receptor debe haber configurado el servidor que recibe el correo para hacer la consulta DNS. SPF no evita el Spam, sólo asegura que un correo viene de donde dice venir.

Porqué integrar SPF dentro de Spamassassin
Una buena razón es que en lugar de recibir un correo y aceptarlo o directamente descartarlo por su razón SPF, le asignemos una puntuación más y lo tratemos como un test más dentro de SPF.

Cómo integrar SPF dentro de Spamassassin

A partir de la versión 3.0 de Spamassassin es bastante sencillo, ya que viene integrado dentro de Spamassassin. Aún así, habrá que activarlo e instalar el módulo Perl que nos dará la funcionalidad SPF. Para ello instalamos el módulo Perl Mail::SPF::Query. Procedemos a activar el SPF en el Spamassassin, para ello descomentamos en el fichero
/etc/mail/spamassassin/init.pre (path válido para RedHat) la línea:

loadplugin Mail::SpamAssassin::Plugin::SPF

Ahora reiniciando el Spamassassin tendríamos ya el SPF incrustado en el Spamassassin. Sólo nos queda ajustarlo a nuestro gusto. Para ello modificamos las puntuaciones de los tests SPF en
/etc/mail/spamassassin/local.cf añadiendo una línea del tipo:
score SPF_FAIL 5


Reiniciamos de nuevo Spamassassin para que coja los cambios y ya lo tenemos activado.

viernes, marzo 24, 2006

Adivina adivinanza

Programador:

>
> Hola, podeis actualizar las páginas que tenemos en el ftp de producción.
>
> Son las siguientes paginas:
> -Grundtvig2D2b.jsp
> -Grundtvig2D2bm.jsp
> -ariona.jsp
>
> Muchas gracias
> Un saludo

Impresionante. Yo entendí tanto como vosotros:
Hola.

No están sueltas en el ftp de preproducción. Decídme si están en alguna
carpeta en cual. Tampoco sé a qué servidor de producción (y aplicación) hay que subirlo. Por favor, seguid el procedimiento establecido.

Procedimiento que detallamos en una web para deleite de los programadores y tranquilidad nuestra y que no haya listos que manden este tipo de correos. Continúo:
Concluyendo, si lo de arriba es una pregunta a pesar de no tener
interrogantes (vienen de serie en los teclados), la respuesta sería "No".

Final:
Hola,

Las páginas están en el servidor de preproduccionweb.intranet.local, dentro de la carpeta "aplices", para ello hemos utilizado el usuario despliegue. ¿Puedes subir dichas páginas a aplices.moc.com para actualizarlas?

Un saludo


¡¡¡Qué paciencia!!! Pero da sus frutos...

lunes, marzo 13, 2006

Documental sobre el inicio del SPAM

http://atdp.de/spam.avi

Pringao-not HOWTO

Esto es lo que se puede leer en el departamento de bases de datos de mi centro de trabajo.

Lista de precios de servicios (sujetos a modificación, ganas y momento)

Matar algo.................................................................................2€
Crear algo..................................................................................3€
Paquete completo de creación de algo.................................10€
Consultas de “Solo un momentito, de 5 minutos, etc.”........3€
Consultas de “me puedes mirar esto” ...................................5€
Consultas de “me podrías mirar ” ..........................................5€
Consultas de “bueno, ya que estoy aquí” ..............................5€
Consultas de “chicas me podéis mirar esto” .........................3€

Se añadirán suplementos específicos de 2€ a aquellas coletillas como:
"Pues yo no he hecho nada"
"Pues ayer estaba igual"
"Habéis cambiado la versión"
"Pues me da un error de BD"

Todos estos precios en monetario también pueden ser cambiados por emolumentos en especias.
Las más apreciadas en este grupo son:
Cajas de: bombones, pastas y cualquier dulce
Tampoco hacemos asco a cualquier tipo de producto de nuestro país que tenga que ver con el cerdo ibérico de pata negra, tanto sea jamón, lomo embuchado o chorizo.
Los quesos nos gustan todos.
En cuestión de bebidas rogamos que antes nos pregunten porque según que día y hora nuestros cuerpos necesitan diferentes tipos de caldos.

Firmado: El grupo de SBA.

P.D.
Se ruega no regateen ni nos pidan cambio, quedarán mucho mejor si directamente introducen los precios redondeados al alza en nuestra hucha(el servicio se prestará antes y mucho mejor además de la consiguiente sonrisa con la que serán obsequiados nuestros clientes).
Se hacen ofertas a grupos y por temporada.


Amén.

miércoles, marzo 08, 2006

Organización de archivos

Ahí va un script para eliminar de un directorio los archivos más antiguos de X dias y rotar los demás en función de si un fichero o directorio ocupa más de Y megas

#!/bin/bash

#Variables

# Dias que conservamos los ficheros
DAZE=15
# Longitud del fichero
LONG=30
DIR=/logs/
FILE=fichero
SERV=/etc/init.d/servicio

FICH=${DIR}$FILE

#Comprobamos si FICHERO ocupa mas de LONG MB
if [ `du -cms $FICH | tail -1 | cut -f1` -ge $LONG ] ; then

#Paramos el servicio SERV

$SERV stop

#Esperamos 2 minutos (pura precaucion para que el servidor pare)
sleep 120;

# Movemos el fichero

mv $FICH ${FICH}$(date +%d%m%y)

cat /dev/null > $FICH

$SERV start

#Eliminamos los ficheros más antiguos de DAZE dias
rm -f $(find $DIR -ctime +$DAZE)

fi

I+D

Seres sedentarios. Eso es lo que produce esta sociedad. Seres que se pasan el día delante del ordenador o la televsión. Ahora un ratito a un juego, ahora un ratito una serie, ahora un ratito organizando las fotos, otro ratito leyendo el correo...

He tenido "LA IDEA". Utilizar una alfombra de esas de baile para maneja el ordenador, para leer el correo, para organizar las fotos...

Ups...creo que debe estar hasta patentada... no he dicho nada, no he dicho nada.

http://research.microsoft.com/vibe/projects/stepUI.aspx

martes, febrero 21, 2006

Instalar crontab dentro de un chroot

Después de pegarme con el chroot me he topado con un problema: que el usuario chrooteado pueda programar su cron. La solución es bastante simple. Al crear el chroot, debemos meter el comando crontab y un editor de texto (en mi caso el vi).

Desde la raiz del chroot-jail ponemos como root:


# mkdir tmp
# chmod 4777 tmp
# mkdir -p var/spool/cron/
# touch var/spool/cron/nombreusuario
# chgrp nombreusuario var/spool/cron/nombreusuario
# touch etc/cron.deny
# ln -s /var/chroot/nombreusuario/var/spool/cron/nombreusuario /var/spool/nombreusuario



El usuario tendrá que crear un fichero, por ejemplo cron-usuario, y pasárselo de parámetro al comando crontab:


$ crontab cron-usuario



Así, con crontab -l podrá comprobar como esos trabajos quedan listos para que los ejecute cron a la hora prevista.

jueves, febrero 16, 2006

Configuración de una máquina para chroot de usuarios

Creamos una shell:


[root@potito ~]# cd /bin

[root@potito bin]# vi chrootbash

#!/bin/bash

/usr/bin/sudo /usr/sbin/chroot /var/chroot/$USER /bin/bash


Y le damos permisos de ejecución:


[root@potito bin]# chmod +x /bin/chrootbash


Nos aseguramos de que existe el directorio donde vamos a crear los “homes” de los usuarios:


[root@potito bin]# ls -ld /var/chroot

ls: /var/chroot: No existe el fichero o el directorio


Así que lo creamos:


[root@potito bin]# mkdir /var/chroot/


Creamos los usuarios con:


[root@potito bin]# useradd -s /bin/chrootbash -d /var/chroot/usuario usuario


y le asignamos un password:


[root@potito bin]# passwd usuario

Changing password for user usuario.

New UNIX password:

Retype new UNIX password:

passwd: all authentication tokens updated successfully.


Creamos el árbol de directorios que va a ver:


[root@potito bin]# cd /var/chroot/usuario

[root@potito usuario]# mkdir bin etc dev home lib usr usr/bin

[root@potito usuario]# cd ..

[root@potito chroot]# chown -R usuario:usuario usuario


Y copiamos la línea del fichero passwd del usuario:


[root@potito chroot]# grep usuario /etc/passwd > usuario/etc/passwd

[root@potito chroot]# grep usuario /etc/group > /etc/group


Instalamos los programas a los que queremos que tenga acceso en la cuenta de usuario y las librerías que utilicen:


[root@potito chroot]# cp /bin/bash /var/chroot/usuario/bin/

[root@potito chroot]# ldd /bin/bash

libtermcap.so.2 => /lib/libtermcap.so.2 (0x00689000)

libdl.so.2 => /lib/libdl.so.2 (0x005f8000)

libc.so.6 => /lib/tls/libc.so.6 (0x004cd000)

/lib/ld-linux.so.2 (0x004b4000)

[root@potito chroot]# mkdir usuario/lib/tls

[root@potito chroot]# cp /lib/libtermcap.so.2 /lib/libdl.so.2 /lib/ld-linux.so.2 usuario/lib/

[root@potito chroot]# cp /lib/tls/libc.so.6 usuario/lib/tls/libc.so.6

[root@potito chroot]# cd usuario

[root@potito usuario]# cp /lib/libnsl.so.1 /lib/libnss_nisplus.so.2 /lib/libnss_nis.so.2 /var/chroot/usuario/lib/

[root@potito usuario]# mkdir lib/security

[root@potito usuario]# cp /lib/security/pam_rootok.so /lib/security/pam_warn.so /lib/security/pam_unix.so lib/security/

[root@potito usuario]# mkdir usr/lib

[root@potito usuario]# cp /usr/lib/libcrack.so.2 usr/lib/

[root@potito usuario]# mkdir etc/pam.d

[root@potito usuario]# cp /etc/pam.d/su /etc/pam.d/other etc/pam.d/

[root@potito usuario]# cp /bin/ls /bin/cp /bin/rm /bin/mkdir /bin/rmdir bin/

[root@potito usuario]# ldd /bin/ls /bin/cp /bin/rm /bin/mkdir /bin/rmdir | grep -v ':' | cut -f1 -d'(' | grep -v '=>' | sort | uniq > /tmp/libs

[root@potito usuario]# ldd /bin/ls /bin/cp /bin/rm /bin/mkdir /bin/rmdir | grep -v ':' | cut -f1 -d'(' | grep '=>' | cut -f2 -d'>' | sort | uniq >> /tmp/libs

[root@potito usuario]# for i in `cat /tmp/libs`; do cp $i .$i ; done


Copiamos 'su' y sus librerías:


[root@potito usuario]# cp /bin/su bin/

[root@potito bin]# ldd /bin/su | grep -v ':' | cut -f1 -d'(' | grep '=>' | cut -f2 -d'>' | sort | uniq > /tmp/libs

[root@potito bin]# ldd /bin/su | grep -v ':' | cut -f1 -d'(' | grep -v '=>' | cut -f2 -d'>' | sort | uniq >> /tmp/libs

[root@potito usuario]# for i in `cat /tmp/libs`; do cp -f $i .$i ; done


Editamos sudoers y le autorizamos a hacer sudo poniendo al final del fichero:


[root@potito usuario]# visudo

#chroot

usuario ALL = /usr/sbin/chroot


miércoles, febrero 01, 2006

Re: Utilizando código

Para aprovechar mi trabajo voy a empezar a publicar scripts y truquitos que utilizo en mi dia a dia. El primer script sirve para arrancar, parar y ver el estado de un tomcat, preo es facilmente modificable para manejar cualquier servicio que queráis usar.
#!/bin/bash
#Publicado bajo licencia GPL
#XiR_ @2006

#Declaramos las variables
export LC_ALL=es_ES
export JAVA_HOME=/usr/local/java
export JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=ISO-8859-15 -Duser.language=es -Xms1024m -Xmx2048m"
export ID-TOMCAT=500

#Funcion que intenta parar el tomcat por las buenas y si no lo mata (kill)
#Solo se puede ejecutar por el usuario tomcat (id=500)
matar() {
if [ `/usr/bin/id -u` == $ID-TOMCAT ] ; then
/usr/local/tomcat/bin/shutdown.sh > /dev/null 2>1&
sleep 5
NUM_PROCESOS=`ps -fe | grep tomcat | grep "/usr/local/java/bin/java " | wc -l`
if [ $NUM_PROCESOS -eq 0 ] ; then
echo "Parado correctamente"
else
kill `ps -fe | grep tomcat | grep "/usr/local/java/bin/java " | grep -v grep | cut -c 7-14` > /dev/null 2> /dev/null
sleep 10
kill -9 `ps -fe | grep tomcat | grep "/usr/local/java/bin/java " | grep -v grep | cut -c 7-14` > /dev/null 2> /dev/null
echo "Parado bruscamente"
fi
else
echo "Error: este programa debe ser ejecutado siendo el usuario tomcat."
fi
}

#Funcion que comprueba si se esta ejecutando y si no, lo arranca
#Solo se puede ejecutar por el usuario tomcat (id=500)
arrancar() {
if [ `/usr/bin/id -u` == $ID-TOMCAT ] ; then
ps -fe | grep tomcat | grep "/usr/local/java/bin/java" | grep -v grep > /dev/null 2>&1
if [ $? == "1" ] ; then
/usr/local/tomcat/bin/startup.sh > /dev/null 2>1&
if [ $0 ] ; then echo "Arranque correcto" ; fi
else
echo "Ya esta arrancado. Detengalo antes de intentar arrancarlo."
fi
else
echo "Error: este programa debe ser ejecutado siendo el usuario tomcat."
fi
}

#Funcion que comprueba si se esta ejecutando el tomcat, y de estarlo devuelve su PID
estado() {
sleep 3
ps -fe | grep tomcat | grep "/usr/local/java/bin/java" | grep -v grep > /dev/null 2>&1
if [ $? == 0 ] ; then
PID=`ps -fe | grep tomcat | grep "/usr/local/java/bin/java" | grep -v grep | cut -c 7-14`
echo "Ejecutandose con pid $PID"
else
echo "No ejecutandose"
fi
}


case "$1" in

start)
arrancar
estado
;;
stop)
matar
estado
;;
restart)
estado
matar
sleep 5
arrancar
estado
;;
status)
estado
;;
*)
echo "$0 {start|stop|restart|status}"
;;
esac

jueves, enero 26, 2006

Des FACHA tez

A veces, cuando crees que ya lo has visto todo, todavía pueden sorprenderte.

Antecedentes:
Tenemos un filtro de contenidos en el proxy. Si crees que hay alguna dirección bloqueada que no debía estarlo puedes notificárselo a la empresa para que lo modifique para la siguiente actualización.
También tenemos 2 proxies: uno con el filtro para el que el navegador coge la configuración por defecto y otro proxy sin filtro que podrías configurarte a mano.

El caso:
Ayer recibimos este correo de uno de "los cabecillas" de soporte de usuarios:
Buenos días:

A Julio Apellido administrador del edificio de San Perro Grande le ha salido como bloqueada la dirección que está en el mensaje que adjunto. Está indignado porque dice que otros compañeros no tienen ese problema.

Le podeis dar una solución o una aclaración al tema.


Bueno, habrá que ver al administrador este qué le ocurre. Leo el adjunto:
De: urlcheck@empresa.com
Enviado el: lun 23/01/2006 11:28
Para: Apellidos, Julio
Asunto: CORRECTAMENTE CLASIFICADA

Estimado Cliente:

Le comunicamos que la página de Internet que ha solicitado revisar, http://www.microsoft.com/games/default.aspx, no puede ser desbloqueada ya que pertenece a una categoría restringida y está correctamente clasificada en nuestras listas.

Le rogamos consulte a la persona que haya contratado el producto su perfil de filtrado o las Listas Personales.

Le saluda atentamente,

Centro de Atención al Cliente


Es acojonante el morro que le echan algunos. Que lea el periódico o algo así, que no voy a perder tiempo en permitirle el acceso a esos sitios... o en su defecto que trabaje

Mensaje de relax al administrador: ponte un salvapantallas que sea el ying-yang o un paisaje relajante. Cuanta hasta 100,34 de 0,02 en 0,02. Una vez que te hayas aburrido de contar y te hayas relajado contesta a estas gilipolleces o, mejor, bórralo directamente esperando que no sea tan estúpido como para volver a molestarte por segunda vez.

Si vuelve a molestar lo leeréis aquí.

miércoles, enero 11, 2006

Tipos de usuario

He encontrado esto hoy, y me ha recordado a varios casos que me han ocurrido a lo largo de mi vida profesional. Paso a relatarlos:

1. El Explícito

Esta misma mañana me ha llamado un programador para decirme: "sobre lo que os mandamos ayer, bueno, pues la ruta que nos disteis nos da un error".

Hombre, a lo mejor puedes llegar a saber qué significa si al menos sabes quién es y hubieses hablado con él ayer. Y encima yo, que para retener menos datos, cada vez que mandan un correo o llaman les digo que pongan la máquina y la aplicación a la que se refieren...esté dió en el clavo con todo.

2. El Manipulador Loco

Me hace gracia cuando los programadores me mandan correos en los que se inventan las rutas a los directorios o llaman a librerías que no existen en los servidores y que en ningún sitio pone que existan (ni las rutas ni las librerías) y encima te llaman para decir que la aplicación no funciona.

La verdad es que es mejor así, porque si llegan a funcionar me retiro.

3. El Kamikaze

Recuerdo este verano que vino un programador nuevo, que se inventaba cómo estaban instaladas las máquinas, que (siendo los servidores GNU/Linux) probaba las aplicaciones en su máquina (M$ Windows) y luego me intentaba convencer de que el que no tenía ni idea era yo. Que en el servidor tenía que funcionar porque estaba instalado y configurado así, así, y asá. Este es kamikaze pero por no saber con quién trataba.

4. El Místico

Me recuerda a un programador que me decía que la aplicación unas veces generaba los pdf, y otras veces no... será la posición de la luna...¡no te jode!

5. El Gurú

Pues precisamente no era gurú, cuando llegué al PC de una usuaria porque le había dado un pantallazo azul el winipimer y me había copiado ¡¡¡el volcado de memoria en un post-it!!!. Eso sí, me dijo: "por si te sirve".

6. El Gafe

¿cuántas veces habremos oido lo de "No lo entiendo, te aseguro que hasta que has venido no funcionaba"? Siempre me he quedado con las ganas de contestar: "es que no tienes ni puta idea de cómo hacerlo... ¿o te crees que yo le asusto y funciona bien?"

7. El Temerario

Un jefe de un departamento, que teníamos que instalar una máquina sólo para su aplicación, me dice: "Yo lo haré contigo, que tengo experiencia con Tomcat y [...]", un pesao sabelotodo. Continua:"podemos poner 2 Tomcat en cluster". Mi pensamiento fué: "¡genial! Algo nuevo a aprender". Empecé a preguntarle si funcionaban bien, si eran fiables, si costaba mucho instalarlos y configurarlos, etc. Su respuesta me abrumó: "no sé, no he instalado nunca un tomcat, pero los he administrado bastante". Si, vamos: instalar, arrancar, parar y borrar aplicaciones que eso se hace por web. Será #!$@

8. El Director de Orquesta

En esta clasificación entra el tipo que comenté en otro post que me contaba todo lo que hacía para administrar la base de datos de la biblioteca. Con los errores es igual...empieza por cómo arrancó el ordenador, si tardó medio segundo más de lo habitual, etc.

9. La Princesa

¿Para qué hablar de los envidiosos? No pongo en esto ninguna historia, porque si pongo una pongo todas, y tardaría demasiado en cargar el blog.

10. El Sospechoso

El típico "ayer funcionaba, y hoy no y no se ha tocado nada". A lo que siempre respondo lo mismo: "bueno, pues si ha sido ello solo no haré nada, que se arreglará solo igual". Ahí ya sí que empiezan: "no, échale un vistazo porque a lo mejor han actualizado no se qué o..."

Orden de trabajo del administrador: intenta tener siempre un terminal abierto a mano en el escritorio... y juega a juegos de nombres raros que puedas minimizar cuando alguien se acerque y no sepán qué es. Así parecerá que estás trabajando.

viernes, diciembre 30, 2005

Hablando de más

Siempre me ha "molestado" la cualidad de uno de mis compañeros por explicar a los usuarios cómo funcionan las cosas. Como carecen de base tiene que ir explicando muchas más cosas de las que tenía que explicar en un principio... y acaba estando de 15 minutos para arriba con cada llamada. Supongo que con el correo le pasará algo parecido.

Realmente me parece algo poco práctico. Como muestra:

Date: Fri, 30 Dec 2005 12:20:34 +0100
From: "ivan"
User-Agent: Debian Thunderbird 1.0.7 (X11/20051017)
To: =?ISO-8859-1?Q?Jes=FAs_Angel?=
CC: Internet
Subject: Re: copias de seguridad de aplicación
Jesús wrote:
> Hola,
> me han pedido que os pregunte si se están haciendo copias de seguridad
> de los ficheros que se guardan en disco duro de aplicacion, es decir, la
> estructura de ficheros que se guardan en /backup/xxxxxx.
>
>
> Un Saludo.Jesus

Si

Primera ley de la efectividad del sysadmin: no pierdas tiempo en explicarle a un usuario como funciona tu mundo. Ellos pueden vivir sin saberlo, pero tu paciencia se puede ver gravemente dañada.

lunes, diciembre 19, 2005

Merlin

Mail del usuario:

Hola,

estamos teniendo problemas con la aplicación Petris (en producción) a la hora de enviar correos. ¿Podeis comprobar si funciona correctamente el servidor de correo (petris utiliza localhost como servidor)?

Saludos,


Respuesta:

Hola:

Funciona correctamente. ¿Qué significa "tenemos problemas"? ¿Que no conecta, que devuelve un mensaje con el error, que no enruta bien hacia Internet, que no enruta bien hacia la intranet?...

Lo siento, hoy me he dejado las artes adivinatorias en casa.

Un saludo.


Consejo al administrador despistado (todos tenemos días malos): No te excedas mostrando tu lado humano. No lo sabes todo cuando no te interesa; cuando te interesa lo sabes TODO.

martes, diciembre 13, 2005

Enseñando al usuario

Date: Tue, 13 Dec 2005 14:06:38 +0100
From: "ivan.eguiguren"
User-Agent: Debian Thunderbird 1.0.7 (X11/20051017)
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "XXXXXXXXXXXXXXXXXXXX"
Subject: Re:
http://xxxxxxxxxxxxxxxx.es:8080/infraestructuras/jsp/index.jsp
apunta al jboss...lo que está caido es el tomcat que es donde está transfic.

http://www.netiqueta.org/netiqueta_correo.shtml
Punto número 15


Usuario wrote:
> Da error interno del servidor en esta dirección:
> http://xxxxxxxxxxxxxxxxx.es/transfic/index.html
> Pero carga en la página que nos distes:
> http://xxxxxxxxxxxxxxxxx.es:8080/infraestructuras/jsp/index.jsp
> > ¿Como se explica?


La próxima vez borraré el correo y cuando aparezca aquí le diré que correos sin asunto son habituales entre el spam, y que lo habrá eliminado el filtro...qué coños, le diré la verdad: que lo he borrado sin leerlo porque no tenía asunto.


Truco del administrador cívico: enseña a tus usuarios que no tienen ni idea y lo hacen mal. La mayoría del esfuerzo será inútil, pero a lo mejor hay algun usuario que lo aproveche.

Para entendernos.

Siempre me ha flipado la gente que se hace llamar "informático", y siempre me ha hecho gracia. Llaman informático al que administra los servidores de una multinacional; llaman informático al que desarrolla software libre de calidad; llaman informático al que da soporte a los usuarios a nivel de sistema operativo o les repara el PC; llaman informáticos a los que desarrollan cualquier basura propietaria en visual basic o java; ¡¡¡llaman informático al que da soporte a los usuarios sobre programas ofimáticos!!!

He ido poniéndolos según entiendo yo que van bajando de categoría. Hay lo que la gente llama intrusismo, muchísimo intrusismo. Pero ahora mismo eso no me preocupa... me preocupa la gente que intenta acercarse a este mundo sin tener ni puta idea pero con ganas de hacerse llamar informático. Me refiero específicamente a el/la tip@ que dijo que "This filesystem will be automatically checked every 39 mounts or 180 days, whichever comes first. significa lo mismo que Este sistema de ficheros se revisará automáticamente cada 39 meses o 180 dias, lo que suceda primero.

Muy señor/a mio/a:
1) Usted no tiene ni puta idea de inglés o traduce para pasar su tiempo libre ya que mount (montar) no es lo mismo que month (mes). *
2) Usted no tiene sentido común: comparar 39 meses con 180 días y decir que "lo que ocurra antes" es estúpido cuando menos.

Si haces algo, hazlo bien. La mayoría de los Administradores estamos acostumbrados a los mensajes en inglés. De hecho cuando los leemos en castellano intentamos traducirlos al inglés para saber qué coños quiere decir ese mensaje. A veces la imaginación del traductor va más allá de la nuestra.

Me parece bien intentar traducir para el que no sabe inglés, pero a nivel usuario o desarrollador. Manejar el inglés técnico leido es un requisito indispensable para un administrador. Por favor, dedicad más tiempo en traducir aplicaciones y dejad las partes internas, comandos, kernels, llamadas al sistema... como están porque lo único que conseguís es complicar las cosas y trabajar en balde ya que solemos dejar el idioma por defecto al instalar un sistema, no el defecto de idioma ese al que traducís.

Muchas gracias.

* Dediquese a hacer integrales o a ver televisión basura.

Truco del administrador sensato: siempre lee la documentación y libros técnicos en inglés. Siempre deja el sistema operativo en su idioma por defecto (en_US) y te evitarás muchos quebraderos de cabeza.

lunes, noviembre 14, 2005

Programador.. ¿más cerca del informático o del usuario?

Esos seres que tanto saben, que creen saberlo todo sólo porque utilizan palabras como: "clase, puntero, instancia, bucle". ¡Ummm! ¡Vaya! Usuarios ¿avanzados?

Vamos a ver, muchacho. Las cosas deben estar claras desde el principio:

1.- Tú haces aplicaciones. Luego que funcionen o (más probablemente) no es otra cosa.
2.- Yo monto las máquinas que ejecutan tus aplicaciones (y sé cómo está montada).

Si además he caido tan bajo como para hacerte una web donde te explica qué versiones de los programas/librerias/demonios hay en el servidor, sobre qué plataformas, el procedimiento para subir aplicaciones nuevas así como para actualizar las que ya hay, ¿por qué no las lees?

Si encima te monto un servidor de desarrollo para pruebas de aplicaciones, y otro de preproducción para pruebas de carga con las mismas versiones y SO que en producción, porqué me haces cosas como:

-mandar una aplicación para poner en producción que sólo has probado en tu ordenador. Así solo consigues como respuesta un enlace a la página de normas porque no te la has leido;

-mandar una aplicación que intenta conectar con un servidor de bases de datos que sólo existe en la Intranet y no hay acceso desde la DMZ. Eso indica que no te has leido el documento web y como respuesta sólo consigues un enlace a la página de normas porque no te la has leido;

-mandar 3 actualizaciones seguidas para subir a producción. Eso es que no la has probado en desarrollo ni preproducción y consigues como respuesta un enlace a la página de normas porque no te la has leido así como un email con copia a tu jefe y al mío diciendo todo lo que me haces perder el tiempo por no leer la página que te he mandado ya 2 veces (o más);

-mandar las aplicaciones a producción con nivel de log DEBUG. Así sólo consigues que la quite y no te avise, como bien dice la página de normas que sigues sin haberte leido. ¡¡¡Y encima tiene la desfachatez de preguntar por qué!!!

-Preguntar si tu aplicación puede guardar los temporales en /tmp y, encima argumentalo con que para limpiar los temporales es más fácil. Este lo recuerdo con cariño. Fué algo así como:

1er correo: ¿Mi aplicación puede guardar los temporales en /tmp?
Respuesta: No. +enlace a la página de normas.
2o. correo: Si las aplicaciones guardan los temporales en /tmp es más fácil borrarlos cuando haga falta.
Buen punto. Siempre hay que estar preparado para estas cosas.
Respuesta: Es mejor que cada aplicación guarde los temporales en un directorio dentro del directorio de la propia aplicación. Así si la aplicación empieza a poner en peligro la estabilidad del servidor puedo borrar la aplicación y los temporales con un sólo comando sin tener que andar buscando todos los ficheros de esa aplicación.
Casi me pilla ;-)

También recuerdo con cariño a otro "avispilla" que manda la aplicación y después me dice "ahora hay que configurarla". Y se mosqueó porque me eché a reir.

El: Es que desconozco qué parametros poner como la ruta absoluta hasta el tomcat
Yo: No la necesitas. Pon rutas relativas y si cambio de sitio el tomcat no sufrirá tu aplicación.
El: También necesito saber en qué puerto está el tomcat para hacer la solicitud de unos jpg's.
Yo: Los que necesites mételos en un directorio dentro del de tu aplicación, y así sabes dónde están.
El: Y hay otros parámetros que sólo tu conoces. La ruta al fichero de configuración es XXXX (no la recuerdo ni viene al caso).
Yo: vale. Lo apunto.

Accedí al fichero, ví lo que necesitaba y le mandé un correo del tipo:

Hola:

Como hemos hablado por teléfono, los datos que sólo yo conozco para que funcione tu aplicación son:
XXX
YYY
...

Ahora ya puedes ponerlos en tu fichero de configuración y mandarme el fichero porque mi trabajo no es tocar las aplicaciones.

AMEN

Primera ley de convivencia con el desarrollador:

Haz una página web accesible por tus usuarios con los procedimientos para hacer las cosas. Cuantos más requisitos menos lata te darán. A quien no los cumpla (que serán muchos) no tienes que explicarles nada. ¡¡Pon un enlace!! Y sobre todo, deja claro para quién no cumpla las normas que su aplicación puede ser retirada del servidor sin previo aviso. Así, si avisas, encima eres "bueno".

viernes, noviembre 11, 2005

¡¡¡Usuario!!!

Ese término despectivo algunas veces utilizado con desdén no debería infravalorarse. Es como ser ciudadano: por vivir en una ciudad ya eres ciudadano, sin esfuerzo, sin estudios, sin exámenes... simplemente lo eres... porque sí. Pues si te ponen delante de un monitor y cerca de un teclado y un ratón (ya os explicaré esto algún día), ya eres usuario.

Debe ser duro estar en el mismo saco el que se lo curra para aprender y ser autosuficiente y el usuario que no sólo no tiene ni puta idea sino que encima quiere tener razón. Es indiferente que se lo curre o no, aunque sea injusto que estén en el mismo saco. El que se lo curra porque "sabe algo" y a la más mínima intenta demostrarlo. Debe ser algo así como cuando viene un extranjero y aprovechamos para demostrarle lo bien que hablamos inglés:" Du yu eshpik inglis, tronk?" Que te mira el guiri con cara de: ¡¡su puta madre qué cojones habrá querido decir!!

Y el que no se lo curra y no tiene ni puta idea de qué está hablando, te cuenta toda su vida para que sepas qué quiere. Estos tipos suelen explicarte cómo funciona toda su aplicación a nivel usuario (que a tí ese rollo no te vale ni para ir al water) para que le sustituyas un archivo porque le han mandado una actualización.

¡¡¡Señores!!!¡¡¡Basta ya!!! No me vengas a contarme cómo cojones administras tu base de datos de libros porque no me importa. No me expliques si tienes súbditos que meten referencias de libros para darme envidia porque yo no tengo un esclavo que me coja el teléfono para aguantarte. Eres un usuario y tu trabajo es transmitirme tus problemas y tus necesidades y punto. Si necesitas hablar vete a un psicólogo.

Y si en vez de por teléfono me dices las cosas por email, mejor todavía. Así mientras estás escribiendo no me estás entreteniendo y, además, puedo enviar tu email al spamassassin para las siguiente solicitudes que realices.

Hace tiempo que me dió la idea Calvin de hacer este blog por las cosas que les contaba de mi trabajo (gracias, tio). Hoy es el dia adecuado. Esta mañana ha sido horrible, vamos, todo lo horrible que es una mañana en la que tienes mucho trabajo en un trabajo que te gusta y yéndote a casa a tu hora con todo solucionado. Aún así os paso a contar la situacion por orden cronológico, lo que no quiere decir que haya acabado una cosa antes de empezar con el siguiente marrón:

1.- Me manda un correo el desarrollador de una aplicación. Este hombre no trabaja en el ministerio, por ello tiene un "responsable" dentro del ministerio. He hecho la actualización sin problemas.

2.- Me llaman de la red interministerial (que es la red que une todos los ministerios de este pais) diciéndome que recibían de nuestro servidor correos que iba dirigidos a Internet. Esto me ha supuesto estar más de una hora analizando logs, sendmail.cf y haciendo pruebas con sendmail -bv.

3.- Me llaman del consejo superior de deportes, que si mandan correos hacia otro ministerio les cambia mi servidor el dominio, y en lugar de quiensea@loquesea.ministerio.es se lo devuelve como quiensea@loquesea.miexdominio.es. Esto me ha llevado su buen rato también junto al punto 2.

4.- Mi jefe se ha cojido 2 dias libres (el miércoles fué fiesta y hoy es viernes) y, como yo estaba montando otros 3 servidores, él acababa una migración de un servidor de cooperación internacional. Pues hoy me llama el coordinador de ese área y me dice que ni ven la web desde Internet, ni pueden subir ficheros por FTP ni desde Internet ni desde la Intranet ¿? Esto no me ha llevado tanto porqué estaba con las neuronas calentitas gracias a los puntos 2 y 3. Configurar la IP de la nueva máquina en el Firewall y añadir /bin/false a /etc/shells. Lo segundo fué culpa mía, pero lo primero no (muy mal, jefe).

Pues mientras estoy con el punto 4 (sin haber acabado 2 y 3) me llama el responsable de la aplicación del punto 1. La conversación ha sido algo como (en negrita soy yo y entre parentesis lo que he pensado):
-hola. Que mira [...2 minutos después...] te ha mandado un correo porque [...]mayúsculas y minúsculas[...]...
-Sí, ya lo actualicé esta mañana
-¿Pero a qué hora?
-Pues cuando he podido (vamos, cuando he llegado)
-Pues es que deberias actualizar la aplicación cuando veas un correo porque es urgente
-Mira: actualizo las aplicaciones cuando tengo tiempo para actualizarlas; veo los correos cuando tengo tiempo para verlos y no cuando llegan; ya te he actualizado la aplicación y no me has mandado los ficheros correctos, la próxima vez compruébalo antes; hago las cosas por orden de importancia y no por orden de urgencia porque para todos lo vuestro es lo más urgente; y no tengo tiempo de hablar contigo ahora porque no lo tengo ni para leer el correo que me dice que actualice tu aplicación. En cuanto pueda, lo hago. Hasta luego.

Lo mejor en estas ocasiones es mantener la serenidad. Mostrar con la voz que tienes prisa pero nunca gritarles por muchas gilipolleces que digan...que las dirán.

Solucioné todo y actualicé su aplicación...en el fondo no soy tan malo.



Política de colas del administrador:
Organizo las cosas por orden de importancia y no por orden de urgencia, porque si hago lo más urgente (para vosotros), lo realmente importante se quedaría sin hacer.