SOLUCIONADO, ¿Como cifrar al igual que lo hace passwd?

Temas sobre programación ( php, c, sql, html, perl, python, ruby, java, bash, etc ) y recursos ( herramientas, frameworks, hosting, cms, etc )

Moderadores: akodo, maiku

Responder
angel3071
Forista Nuevo
Forista Nuevo
Mensajes: 4
Registrado: Lun Feb 21, 2011 6:06 am

SOLUCIONADO, ¿Como cifrar al igual que lo hace passwd?

Mensaje por angel3071 » Lun Feb 21, 2011 6:16 am

Hola escribo esto por que estoy cayendo en la desesperación, espero funcione, tengo que emular un shell para linux con shell script, este debe de poder loguear a los usuarios del sistema, pienso en pedir la contraseña, cifrarla y compararla con la existente en /etc/shadow, solo necesito saber como cifrar la contraseña que reciba de la misma forma en la que lo hace passwd, para asi poderlas comparar. espero desesperada mente ayuda.

Otro punto del shell es la administracion de usuarios, al crear uno nuevo le pido la contraseña al usuario y con perl, (fue la solucion que encontre despues de mucho leer) la cifro:

Código: Seleccionar todo

read pass
passwordf=`perl -e 'print crypt("'"$pass"'","SA"), "\n";'`
y entonces con flujo de datos la ingreso en su correspondiente sitio en /etc/shadow, con esto, los usuarios creados pueden loguearse tanto en el sistema como en mi shell, lo que necesito entonces es la forma en como cifrar la contraseña recibida para el logueo en mi shell para que el resultado sea igual al que hace passwd y asi poder loguear a los usuarios ya existentes del sistema en mi shell, espero haber sido claro.
Última edición por angel3071 el Mar Feb 22, 2011 3:15 am, editado 1 vez en total.
Avatar de Usuario
neurus
Forista Legendario
Forista Legendario
Mensajes: 1806
Registrado: Dom Oct 10, 2004 7:00 am

Re: Ayuda! ¿Como cifrar al igual que lo hace passwd?

Mensaje por neurus » Lun Feb 21, 2011 12:02 pm

tercera vez que respondo lo mismo. Probé usando el buscador y... ¡caramba, funciona!.

Es decir, estás desesperado, pero no tanto como para usar un buscador en el foro.
angel3071
Forista Nuevo
Forista Nuevo
Mensajes: 4
Registrado: Lun Feb 21, 2011 6:06 am

Re: Ayuda! ¿Como cifrar al igual que lo hace passwd?

Mensaje por angel3071 » Lun Feb 21, 2011 6:35 pm

neurus escribió:tercera vez que respondo lo mismo. Probé usando el buscador y... ¡caramba, funciona!.

Es decir, estás desesperado, pero no tanto como para usar un buscador en el foro.
Parece que no me explique bien, lo que necesito es encriptar una palabra usando el mismo algoritmo que usa passwd, NO NECESITO SABER COMO USAR PASSWD, si no como lograr encriptar una palabra de la misma forma que lo hace este. En serio lo digo no habria posteado aqui si no hubiese buscado por todos lados antes. aun asi espero no suene tan tonto lo que necesito hacer.

(insisto para el proyecto NO PUEDO USAR PASSWD, ojala fuera tan simple como eso.)
Avatar de Usuario
neurus
Forista Legendario
Forista Legendario
Mensajes: 1806
Registrado: Dom Oct 10, 2004 7:00 am

Re: Ayuda! ¿Como cifrar al igual que lo hace passwd?

Mensaje por neurus » Lun Feb 21, 2011 6:39 pm

No se te ocurrió seguir el link, y leerlo, no?
Avatar de Usuario
niky45
Forista Ancestral
Forista Ancestral
Mensajes: 9186
Registrado: Jue Abr 12, 2007 7:00 am
Ubicación: tras la pantalla (...)
Contactar:

Re: Ayuda! ¿Como cifrar al igual que lo hace passwd?

Mensaje por niky45 » Lun Feb 21, 2011 6:58 pm

busca sobre md5 y similares, que apuesto a que es lo que usa passwd....
:?
#446716
>>"Linux: the operating system with a CLUE... Command Line User Environment".
(seen in a posting in comp.software.testing)

[ DNFD ] - [ F4A ] - [ dotfiles ]
Avatar de Usuario
neurus
Forista Legendario
Forista Legendario
Mensajes: 1806
Registrado: Dom Oct 10, 2004 7:00 am

Re: Ayuda! ¿Como cifrar al igual que lo hace passwd?

Mensaje por neurus » Lun Feb 21, 2011 7:26 pm

niky45 escribió:busca sobre md5 y similares, que apuesto a que es lo que usa passwd....
:?
et tu quoque, fili?
Avatar de Usuario
codestation
Forista Nuevo
Forista Nuevo
Mensajes: 36
Registrado: Dom Dic 20, 2009 3:33 am

Re: Ayuda! ¿Como cifrar al igual que lo hace passwd?

Mensaje por codestation » Lun Feb 21, 2011 7:46 pm

angel3071 escribió: Otro punto del shell es la administracion de usuarios, al crear uno nuevo le pido la contraseña al usuario y con perl, (fue la solucion que encontre despues de mucho leer) la cifro:

Código: Seleccionar todo

read pass
passwordf=`perl -e 'print crypt("'"$pass"'","SA"), "\n";'`
Si quieres que te quede exactamente igual que en /etc/shadow entonces estás usando la función crypt incorrectamente, prueba con esto:

Código: Seleccionar todo

perl -e 'print crypt("'"$pass"'","\$'$cypher'\$'$salt'"), "\n"'
Donde pass es la contraseña, cypher es el cifrado a utilizar (1 = md5, 6 = sha512, etc) y el salt que va a ser usado.
Just feel the code...
angel3071
Forista Nuevo
Forista Nuevo
Mensajes: 4
Registrado: Lun Feb 21, 2011 6:06 am

Re: Ayuda! ¿Como cifrar al igual que lo hace passwd?

Mensaje por angel3071 » Lun Feb 21, 2011 8:05 pm

neurus escribió:No se te ocurrió seguir el link, y leerlo, no?
XD amigo no estamos hablando de lo mismo, sin embargo agradezco tu ayuda, tus intenciones al menos. GRACIAS

Editado -- Lun Feb 21, 2011 12:05 pm --
codestation escribió:
angel3071 escribió: Otro punto del shell es la administracion de usuarios, al crear uno nuevo le pido la contraseña al usuario y con perl, (fue la solucion que encontre despues de mucho leer) la cifro:

Código: Seleccionar todo

read pass
passwordf=`perl -e 'print crypt("'"$pass"'","SA"), "\n";'`
Si quieres que te quede exactamente igual que en /etc/shadow entonces estás usando la función crypt incorrectamente, prueba con esto:

Código: Seleccionar todo

perl -e 'print crypt("'"$pass"'","\$'$cypher'\$'$salt'"), "\n"'
Donde pass es la contraseña, cypher es el cifrado a utilizar (1 = md5, 6 = sha512, etc) y el salt que va a ser usado.
mi password en el /etc/shadow es: $6$gVWdBQhw$wwNwKKcvtDlIMaAY....... (con muchos caracteres y simbolos mas) y la misma pero cifrada como usted me propone es, completa: $$vl2tEMVefTA asi que no creo que me funcione tal como me lo propone, aun asi es una gran ayuda, gracias.
Avatar de Usuario
neurus
Forista Legendario
Forista Legendario
Mensajes: 1806
Registrado: Dom Oct 10, 2004 7:00 am

Re: Ayuda! ¿Como cifrar al igual que lo hace passwd?

Mensaje por neurus » Lun Feb 21, 2011 8:07 pm

angel3071 escribió: Parece que no me explique bien, lo que necesito es encriptar una palabra usando el mismo algoritmo que usa passwd,
(insisto para el proyecto NO PUEDO USAR PASSWD, ojala fuera tan simple como eso.)

mkpasswd prueba
1nGACNXhRdHl

Y no estás usando passwd, sino mkpasswd. ¿leíste el link?

Dicho sea de paso, usar cypher en perl es matar moscas a cañonazos.
Avatar de Usuario
codestation
Forista Nuevo
Forista Nuevo
Mensajes: 36
Registrado: Dom Dic 20, 2009 3:33 am

Re: Ayuda! ¿Como cifrar al igual que lo hace passwd?

Mensaje por codestation » Lun Feb 21, 2011 8:19 pm

angel3071 escribió: mi password en el /etc/shadow es: $6$gVWdBQhw$wwNwKKcvtDlIMaAY....... (con muchos caracteres y simbolos mas) y la misma pero cifrada como usted me propone es, completa: $$vl2tEMVefTA asi que no creo que me funcione tal como me lo propone, aun asi es una gran ayuda, gracias.
Seguro no les has asignado a las variables el valor correcto:

Código: Seleccionar todo

salt=gVWdBQhw
cypher=6
pass=mypassword
perl -e 'print crypt("'"$pass"'","\$'$cypher'\$'$salt'"), "\n"'
$6$gVWdBQhw$ra1dK7TGNfgdcBVo5ZVyQ39lYGskjNHPrpRC3uhDTOtVHrvy6OXzQCLiWF1cMxNzysZvDZQ4VaJCjwAO8inHS.
@neurus, pues si, hace exactamente lo mismo y hasta te permite escoger el tipo de cifrado :D (es que claro, al ver la salida por defecto del mkpasswd que es md5 uno piensa que no funciona cuando lo del /etc/shadow en cualquier distro reciente viene en sha256)
Just feel the code...
Avatar de Usuario
neurus
Forista Legendario
Forista Legendario
Mensajes: 1806
Registrado: Dom Oct 10, 2004 7:00 am

Re: Ayuda! ¿Como cifrar al igual que lo hace passwd?

Mensaje por neurus » Lun Feb 21, 2011 8:30 pm

@codestation: bueno, llevo desde el primer post diciéndole al usuario que lea dos links, que apuntan a esa solución elemental.
angel3071
Forista Nuevo
Forista Nuevo
Mensajes: 4
Registrado: Lun Feb 21, 2011 6:06 am

Re: Ayuda! ¿Como cifrar al igual que lo hace passwd?

Mensaje por angel3071 » Lun Feb 21, 2011 9:04 pm

neurus escribió:@codestation: bueno, llevo desde el primer post diciéndole al usuario que lea dos links, que apuntan a esa solución elemental.
E insisto esto es un proyecto escolar, no tengo permitido el uso de programas que cifren la contraseña automáticamente, aunque parezca muy desperdiciado lo tenia que hacer a mano, muchas gracias codestation, tu solución es lo que necesitaba
Avatar de Usuario
maiku
Moderador
Moderador
Mensajes: 1521
Registrado: Jue Abr 19, 2007 7:00 am
Ubicación: Cojutepeque, El Salvador C. A.
Contactar:

Re: Ayuda! ¿Como cifrar al igual que lo hace passwd?

Mensaje por maiku » Lun Feb 21, 2011 11:22 pm

compañero, por favor pongale el cartel de solucionado a su tema y quítale la palabra Ayuda!. Gracias.

PD: para variar, hace unos días tenía una actividad de hacer algo similar. Y pues tenía prohibido utilizar mkpasswd, a veces toca hacer malabares :S
Grüße...
Maiku

Full linux alchemist!!!
Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje