-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2009-09-04 a las 11:30 -0500, Carlos Martinez escribió:
Independientemente de las razones de por que esto esta en el passwd y en el shadow (salvo para decir que es un sistema legado), cabe decir que el usuario dificilmente va a olvidar este login porque esta relacionado con su direccion de correo electronico.
Y fácilmente se va a equivocar al escribirlo.
Adicionalmente, aunque existe la limitacion de los 32 caracteres, es posible autenticar sin problemas aun cuando el nombre de usuario exceda esta limitacion.
Pero lo que hace es recortarlo e ignorar el exceso.
No me gusta modificar el codigo de las aplicaciones y mas cuando son base, pero cuando toca no hay mas remedio y en este caso la solucion rapida y sucia fue la siguiente:
1) bajar el rpm de passwd
2) extraer las fuentes y modificar pwdb.h y cambiar MAX_USERNAMESIZE (este solo se referencia dos veces en todo el codigo de passwd: una cuando se define y otra cuando se verifica la longitud del nombre)
¿Y que pasará cuando el passwd envíe un nombre excesivamente largo a las librerías de base? A lo mejor tienes un overflow por ahí enmedio... ten en cuenta que las librerías no habrán reservado espacio para recoger esa variable. No puedes hacer ese cambio sólo en un sitio, tienes que cambiarlo en todo el sistema. - -- Saludos Carlos E. R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAkqhYSYACgkQtTMYHG2NR9WTJACeKOjesf39zdiUIiAhJk4Y03FX 4WwAoI3CZpsZlOHO5zmEzFHfnX+ZSZK7 =V5Wi -----END PGP SIGNATURE-----