Cambiar password UNIX con JAVA

34 views
Skip to first unread message

Sega80

unread,
Aug 11, 2006, 12:53:30 PM8/11/06
to JavaSOS
Hola a Todos

He estado buscando una posible solución a un problema, pero parece ser
complicado o muy pocas personas lo han necesitado.

Con java necesito ejecutar el comando passwd de UNIX para poder cambiar
el password de un usuario desde una aplicación JAVA.

Agradezco si alguien ha trabajado algo similiar, o tiene sugerencias
sobre posibles soluciones, etc.etc. para publicarlas por este medio

Cordialmente

Sergio E. Gomez A.

ckjfve...@fibertel.com.ar

unread,
Aug 11, 2006, 1:44:51 PM8/11/06
to jav...@googlegroups.com
No sé si sea la mejor solución, pero me funcionó en su momento con Linux, quizás en el UNIX que estés usando puedas hacer algo parecido. Tampoco tengo la API de Java a mano, pero creo que es Runtime.execute() con que ejecutás un proceso externo. Lo que hacés es llamar a un script de shell que reciba como parámetro el usuario y la clave.

Buscá en los parámetros de passwd, hay uno que permite pasarle la clave como argumento en vez de tener que teclearla (y recomienda no hacerlo!).

Por último, creo que también hay que seterle el SUID al script y cambiarle el owner a root, para que puedas correr passwd para cualquier usuario.

Lo hice unos años atrás para cambiar la clave de cada usuario desde una aplicación web corriendo sobre Tomcat y nunca me dio problemas.

Saludos,
Julio

PD: demás está decir que tengas cuidado dónde ponés ese script, o cualquiera puede hacer estragos.

----- Mensaje original -----
De: Sega80 <SergioE...@gmail.com>
Fecha: Viernes, Agosto 11, 2006 1:53 pm
Asunto: [JavaSOS] Cambiar password UNIX con JAVA

>
> Hola a Todos
>
> He estado buscando una posible solución a un problema, pero parece ser
> complicado o muy pocas personas lo han necesitado.
>
> Con java necesito ejecutar el comando passwd de UNIX para poder

> cambiarel password de un usuario desde una aplicación JAVA.

Giovanny Vélez

unread,
Aug 11, 2006, 1:53:21 PM8/11/06
to JavaSOS
No se nada de Linux, pero si el cambio se hace por línea de comandos, puedes
usar la clase Runtime, de Java que tiene un método exec() que sirve para
ejecutar líneas de comando en los SO.

Saludos,

Giovanny

Sega80

unread,
Aug 11, 2006, 4:12:04 PM8/11/06
to JavaSOS
Hola Julio.

Te agradezco mucho por haber respondido.

Pienso que me das un aire de tranquilidad al saber que alguien ya lo ha
realizado con aterioridad

La cuestión es que yo ya tengo los script para ejecutar el passwd y ya
se cómo ejecutarlos desde una pág en JSP.

Lo único que estaba buscando es como poder ejecutarlo como el usuario
root: y es lo que comentas del SUID en este parrafo:


"Por último, creo que también hay que seterle el SUID al script y
cambiarle el owner a root, para que puedas correr passwd para cualquier
usuario."

me puedes explicar bien como el proceso que debo seguir para poder
hacer esto!
cambiar el owner a root´para que lo pueda ejecutar cualquier usuario.

Te agradezco mucho Julio!

Cordialmente

Sergio

Reply all
Reply to author
Forward
0 new messages