domingo, 6 de septiembre de 2009

2 Salvavidas uno en Solaris el otro en Exim

Caso de la vida real 1: Un dia más trabajando en el chequeo de los servidores, cuando de pronto me reportan que habían usuarios que no podian validar su contraseña, pasaba algo así; cuando hacia finger a algún usuario que estaba en el passwd, este si respondía sin problemas, sin embargo, cuando yo desde el servidor (siempre como root claro esta) queráa cambiar la contraseña de algunos users, ponia passwd user y me mostraba:

passwd(SYSTEM): user does not exist
Permission denied

y si ponia passwd otheruser, me mostraba:
New password:

Es decir, para algunos si permitia el cambio de password pero para otros usuarios no; y lo mas raro era que todos si respondían al comando finger.

Muy bien luego de algunas horas de buscar, investigar, googlear, preguntar y leer me tope con este comando.

# pwconv

Un verdadero salvavidas. Según lo que leí por ahi lo mas probable es que el passwd este corrupto desde un punto del archivo y que desde ese punto hacia abajo nada iba a ser reconocido, y desde ese punto hacia arriba trabajaria de forma normal. Tenía logica para mi ya que eso explicaria por que algunos usuarios si permitian el cambio de contraseña y otros no. Pues nada, ejecute el comando, luego espere los minutos reglamentarios (mi passwd es grande) y listo solucionado, solo un detallito, los usuarios que reportaron el problema de que no podian validar su contraseña seguían con el inconveniente, sólo que esta vez si me permitia setearle un nuevo password y con eso listo ya ingresaban.

PD1: Esta historia me paso en Solaris 5.8.

PD2: Nunca supe por que sucedio, si alguién sabe por que puede pasar esto, que me lo cuente.

Caso de la vida real 2: Jueves por la tarde, yo controlando la cola de correo del exim, cuando de pronto; listo algún tipo mas tratando de enviar spam a través de mi servidor, obvio el servidor esta configurado para envío autenticado solamente, pero este tipo estaba haciendo el envío desde una cuenta válida que habra robado a algún usuario distraido, estaba haciendo varios envios de 50 en 50, entre los comandos que encontre en exim hay uno que permite volarlo de la cola pero hace uso del id del mensaje para esto, es decir :

#exim -Mrm "id de correo"

Uhmm esto para mi no era para nada práctico, ya que significaría poner uno por uno los IDs de correo.

###############################################################
#!/bin/sh
echo -e "Ingrese correo: \c"
read email
correo=$email
/usr/exim/bin/exiqgrep -b | fgrep $correo | awk '{print $1}' | xargs /usr/exim/bin/exim -Mrm
###############################################################

Listo con esto es suficiente, lo que hace es, lo ejecutas y te pedira que ingreses la dirección de correo que quieres eliminar de la cola, lo pones y el se encargara de eliminarlo de tu cola de correo, realmente efectivo. Bajo de 8000 a 1500 en par de segundos =) .

No hay comentarios:

Distributed Denial-of-Service (DDoS)

Distributed Denial-of-Service, or more commonly known in its abbreviated form – DDoS – is an organized attempt to render a computer resource...