|
Ver temas sin respuesta | Ver temas activos
Foros Linux » Desarrollo » Programación
Página 1 de 1
|
[ 13 mensajes ] |
|
| Autor |
Mensaje |
angel3071

Forista Nuevo
Registrado: Dom Feb 20, 2011 10:06 pm Mensajes: 4
|
 Publicado: Dom Feb 20, 2011 10:16 pm |
|
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: 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 Lun Feb 21, 2011 7:15 pm, editado 1 vez en total
|
|
|
|
 |
neurus

Forista Distinguido
Registrado: Sab Oct 09, 2004 11:00 pm Mensajes: 1299
|
 Publicado: Lun Feb 21, 2011 4:02 am |
|
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
Registrado: Dom Feb 20, 2011 10:06 pm Mensajes: 4
|
 Publicado: Lun Feb 21, 2011 10:35 am |
|
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.)
|
|
|
|
 |
neurus

Forista Distinguido
Registrado: Sab Oct 09, 2004 11:00 pm Mensajes: 1299
|
 Publicado: Lun Feb 21, 2011 10:39 am |
|
|
No se te ocurrió seguir el link, y leerlo, no?
|
|
|
|
 |
niky45

Forista Ancestral
Registrado: Mié Abr 11, 2007 11:00 pm Mensajes: 8550 Ubicación: tras la pantalla (...)
|
 Publicado: Lun Feb 21, 2011 10:58 am |
|
busca sobre md5 y similares, que apuesto a que es lo que usa passwd.... 
_________________ #446716
--Not me, guys. I read the Bash man page each day like a Jehovah's Witness reads the Bible. No wait, the Bash man page IS the bible. Excuse me... (from comp.os.linux.misc) [ DNFD ] - [ F4A ] - [ dotfiles ]
|
|
|
|
 |
neurus

Forista Distinguido
Registrado: Sab Oct 09, 2004 11:00 pm Mensajes: 1299
|
 Publicado: Lun Feb 21, 2011 11:26 am |
|
niky45 escribió: busca sobre md5 y similares, que apuesto a que es lo que usa passwd....  et tu quoque, fili?
|
|
|
|
 |
codestation

Forista Nuevo
Registrado: Sab Dic 19, 2009 7:33 pm Mensajes: 36
|
 Publicado: Lun Feb 21, 2011 11:46 am |
|
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: 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: 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
Registrado: Dom Feb 20, 2011 10:06 pm Mensajes: 4
|
 Publicado: Lun Feb 21, 2011 12: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. GRACIASEditado -- 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: 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: 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.
|
|
|
|
 |
neurus

Forista Distinguido
Registrado: Sab Oct 09, 2004 11:00 pm Mensajes: 1299
|
 Publicado: Lun Feb 21, 2011 12: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.
|
|
|
|
 |
codestation

Forista Nuevo
Registrado: Sab Dic 19, 2009 7:33 pm Mensajes: 36
|
 Publicado: Lun Feb 21, 2011 12: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: 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  (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...
|
|
|
|
 |
neurus

Forista Distinguido
Registrado: Sab Oct 09, 2004 11:00 pm Mensajes: 1299
|
 Publicado: Lun Feb 21, 2011 12: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
Registrado: Dom Feb 20, 2011 10:06 pm Mensajes: 4
|
 Publicado: Lun Feb 21, 2011 1: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
|
|
|
|
 |
maiku

Moderador
Registrado: Mié Abr 18, 2007 11:00 pm Mensajes: 1209 Ubicación: Cojutepeque, El Salvador C. A.
|
 Publicado: Lun Feb 21, 2011 3: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!!!
|
|
|
|
 |
|
|
|
Página 1 de 1
|
[ 13 mensajes ] |
|
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado
No puede abrir nuevos temas en este Foro No puede responder a temas en este Foro No puede editar sus mensajes en este Foro No puede borrar sus mensajes en este Foro No puede enviar adjuntos en este Foro
|
|