miércoles, marzo 08, 2006
Organización de archivos
#!/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
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
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
#!/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
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
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
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
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
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.
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?
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!!!
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.