Squirrelmail: Metodo sencillo para que los usuarios puedan cambiar su contraseña

Imagen de RazaMetaL

Descargamos el plugin desde:

cd /usr/src
wget http://www.squirrelmail.org/plugins/change_pass-2.7a-1.4.x.tar.gz

Descargamos poppassd

wget ftp://netwinsite.com/pub/poppassd/poppassd.c

Instalamos poppassd:

gcc poppassd.c -o poppassd -lcrypt
cp poppassd /usr/sbin

Creamos el archivo poppassd dentro de /etc/xinet.d que contenga:

#
# default: off
#
# description: The POPPASSD service allows remote users to change their
#
# password remotely via Eudora or NUPOP using a network
#
# protocol on port 106.
#
#
#
service poppassd
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/sbin/poppassd
log_on_success += USERID
log_on_failure += USERID
}

Reiniciamos xinetd:

/etc/init.d/xinetd restart

poppassd utiliza el puerto 106, si tenemos un firewall entonces debemos tener abierto ese puerto.

Podremos probar si poppassd esta funcionando haciendo telnet al localhost en el puerto 106:

# telnet localhost 106
Trying 127.0.0.1...
Connected to mail.midominio.com.ec (127.0.0.1).
Escape character is '^]'.
200 midominio.com.ec poppassd v1.6a hello, who are you?

Instalamos el plugin change_pass:

cp change_pass-2.7a-1.4.x.tar.gz /usr/share/squirrelmail/plugins/
cd /usr/share/squirrelmail/plugins/
tar zvxf change_pass-2.7a-1.4.x.tar.gz

Ejecutamos el script de configuración de squirrelmail:

../config/conf.pl

En el script conf.pl activaremos el plugin change_pass y guardamos los cambios.

Ahora debemos probar de que efectivamente funciona, si abrimos squirrelmail desde el navegador y nos logueamos veremos una nueva opción en las opciones que sirve para cambiar a contraseña. Ingresaremos la contraseña actual y la contraseña nueva para que sea cambiada. Si obtenemos un error como:


BAD PASSWORD: it is based on a dictionary word

Significa que pam esta utilizando el modulo cracklib. La mayoría de las veces este error desaparece si nuestra contraseña contiene números, letras y símbolos, ó si es una contraseña con mas de 8 caracteres. Si no queremos tener contraseñas tan largas o difíciles (mala idea) basta con comentar el módulo pam_cracklib.so en /etc/pam.d/system-auth :

#password requisite pam_cracklib.so try_first_pass retry=3
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok
password required pam_deny.so

Comentarios

500 'Enter new UNIX password:'.

Hola raza ya instale todo pero al momento de hacer las pruebas me sale este mensaje al momento de enviar las nuevas contraseñas

500 'Enter new UNIX password:'.

mi duda es en esta parte

""" Creamos el archivo poppassd dentro de /etc/xinet.d que contenga: """

cual es el nombre de ese archivo? yo lo llame poppassd y lo hice con un editor de texto de Debian lo guarde y lo copie dentro del directorio /etc/xinet.d

de todas maneras te dejo una imagen adjunta de como me manda el mensaje

gracias

Pd. no soy muy conocedor de Unix Debian

mensaje

si no me equivoco el nombre

Imagen de deathUser

si no me equivoco el nombre del archivo es irrelevante, xinetd leerá todos los archivos bajo el directorio /etc/xinetd.d y los interpretará según su contenido, mira el log de xinetd, quizás tengas un problema con el formato del archivo, un caracter de más o de menos, suele pasar ...

bye
;)

se me olvidaba, probaste

Imagen de deathUser

se me olvidaba, probaste el:

telnet localhost 106

que te recomienda RazaMetal ...???

Si te funciona como en el ejemplo, pues no es ese el problema ya que el servicio estaría arriba ...

bye
;)

Si trabaja como lo dices

hola nuevamente raza...si al momento de hacer el telnet me da la respuesta que indicas, otros me recomendaron que hiciera un netstat -tupan y esto fue lo que me devolvió

netstat -tupan | grep 106
tcp 0 0 0.0.0.0:106 0.0.0.0:* LISTEN 3115/xinetd
tcp 7 0 127.0.0.1:106 127.0.0.1:36606 CLOSE_WAIT 9717/passwd
tcp 7 0 127.0.0.1:106 127.0.0.1:40142 CLOSE_WAIT 5923/passwd
tcp 7 0 127.0.0.1:106 127.0.0.1:33550 CLOSE_WAIT 3677/passwd
tcp 7 0 127.0.0.1:106 127.0.0.1:47032 CLOSE_WAIT 8595/passwd
tcp 7 0 127.0.0.1:106 127.0.0.1:33551 CLOSE_WAIT 3715/passwd
tcp 7 0 127.0.0.1:106 127.0.0.1:36614 CLOSE_WAIT 9908/passwd
tcp6 0 0 172.19.100.4:993 74.82.81.106:38570 ESTABLISHED 4090/couriertls

según otras explicaciones me tiene que devolver algo parecido a esto

netstat -tupan | grep 106
tcp 0 0 0.0.0.0:106 0.0.0.0:* LISTEN 15558/xinetd
tcp 0 0 127.0.0.1:106 127.0.0.1:43277 TIME_WAIT -
tcp 0 0 127.0.0.1:106 127.0.0.1:43279 TIME_WAIT -
tcp 7 0 127.0.0.1:106 127.0.0.1:43228 CLOSE_WAIT 15362/passwd
tcp 7 0 127.0.0.1:106 127.0.0.1:43230 CLOSE_WAIT 15363/poppassd
tcp 7 0 127.0.0.1:106 127.0.0.1:43247 CLOSE_WAIT 15420/passwd
tcp 7 0 127.0.0.1:106 127.0.0.1:43249 CLOSE_WAIT 15422/passwd
tcp 7 0 127.0.0.1:106 127.0.0.1:43251 CLOSE_WAIT 15423/poppassd

me mencionaste algo sobre los logs buscare a ver donde los encuentro porque soy nuevo manejando unix, este problema lo encontre en un servidor que ya estaba instalado

gracias de ante mano por la ayuda

instala el poppassd

yo tenia ese mismo problema corre esta linea de comando a ver que tal te va

apt-get install poppassd

ahora de no tener instalado el xinetd hazlo de esta manera

apt-get install poppassd xinet

y después creas un un registro o un archivo llamado poppassd dentro del directorio /etc/xinetd.d/ con lo siguiente que ya explico Raza

service poppassd
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/sbin/poppassd
log_on_success += USERID
log_on_failure += USERID
}

espero te sirva

no doy con la solucion

estoy mas que seguro que el problema es solo de configuración en el poppassd o en xinet ya hice todo lo que mis conocimientos en debian me lo permiten..

les estaré muy agradecido si hay alguna recomendación que quizás no este tomando en cuenta

el telenet localhost 106 me funciona bien, instale el poppasd y el xinetd, configure el poppassd en el xinet, el pluggins esta instalado es solo esa parte de que me pide contraseña de unix

" --> 500 'Introduzca la nueva contraseña de UNIX:'. "

esta parte es la que no me deja funcionar el pluggins

gracias

el problema no es del

Imagen de deathUser

el problema no es del poppassd ni del xinetd, como ves ya está funcionando así que está correctamente configurado, no creo que requiera permisos especiales, si no, RazaMetal lo habría explicado, nuevamente, trata de activar los debugs necesarios y revisa en los logs ...

bye
;)

Solucionado

Gracias RazaMetal y deathUser lo que hice fue que desinstale el poppassd y lo volví a instalar de esta manera

apt-get install poppassd

después edite en /etc/services

poppassd 106/tpc
#poppassd 106/udp esta linea la elimine o la comenta

y en el directorio /etc/pam.d/
edite el poppassd con lo siguiente, si no existe se crea como fue mi caso
@include common-aut
@include common-password

ahora si trabaja perfectamente

gracias por la ayuda

Páginas