Foros del Web » Administración de Sistemas » Unix / Linux »

como dar privilegios de root

Estas en el tema de como dar privilegios de root en el foro de Unix / Linux en Foros del Web. Un saludo a todos los gurus del mundo linux, tengo una aplicacion hecha en java la cual es un cliente de correo, aqui todos pueden ...
  #1 (permalink)  
Antiguo 23/01/2007, 11:46
 
Fecha de Ingreso: octubre-2005
Mensajes: 188
Antigüedad: 19 años, 1 mes
Puntos: 0
Exclamación como dar privilegios de root

Un saludo a todos los gurus del mundo linux, tengo una aplicacion hecha en java la cual es un cliente de correo, aqui todos pueden enviar y recibir correos tal como lo hacen con hotmail, yahoo o cualquier servicio de correo que usen, y existe una opcion de cambio de contraseña, mi pregunta es la siguiente, como hago para que cuando el usuario seleccione esta opcion el programa pueda ir y cambiar la contraseña en el servidor donde esta alojado, hay algun comando?, tendria que generar algun archivo que vaya y sobreescriba el archivo que guarda las contraseñas en el servidor?, como hago para darle privilegios de root para que pueda ir y modificar dicho archivo?. Algo asi como la instruccion sudo o su. Cabe anotar que el servidor puede usar bien sea linux o solaris, aun no han definido esto. Gracias x cualquier dato que me puedan dar.
  #2 (permalink)  
Antiguo 23/01/2007, 12:40
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 20 años, 2 meses
Puntos: 47
Re: como dar privilegios de root

No entiendo la relacion del titulo del post con el contenido.
Creo que primero deberias saber, que sistema de autentificacion esta usando esa aplicacion para autentificar a los usuarios, ya sea acceso a alguna base de datos, o acceso a los usuarios del sistema en /etc/passwd, o lo que sea.
Una vez que tengas esa informacion, veremos como hacer para modificarla.
Saludos.
__________________
¡Volviendo a la programación!
  #3 (permalink)  
Antiguo 23/01/2007, 14:04
 
Fecha de Ingreso: octubre-2005
Mensajes: 188
Antigüedad: 19 años, 1 mes
Puntos: 0
Re: como dar privilegios de root

Es que para que la aplicacion creo yo, pueda cambiar el archivo de contraseñas tiene que tener privilegios de root para poder ir y modificar el archivo, pero solo en ese momento adquiriria dicho privilegio, xq el usuario se puede sentar en cualquier computador e igual tiene que poder acceder a su cuenta de correo, y el acceso a los usuarios del sistema si es en /etc/passwd. Gracias x tu tiempo alesanchez espero me puedas seguir ayudando.
X ahi oi algo de una funcion exec o suexec, no estoy seguro del nombre.
  #4 (permalink)  
Antiguo 23/01/2007, 16:22
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 20 años, 2 meses
Puntos: 47
Re: como dar privilegios de root

Sigo sin entender.
Explicame mejor el panorama, como es la aplicacion, donde se ejecuta, etc.
__________________
¡Volviendo a la programación!
  #5 (permalink)  
Antiguo 23/01/2007, 21:39
 
Fecha de Ingreso: octubre-2005
Mensajes: 188
Antigüedad: 19 años, 1 mes
Puntos: 0
Re: como dar privilegios de root

Es nuestro proyecto de grado, es una aplicacion java, hecha en jsp, ya existe el correo de la universidad donde yo estudio pero esta hecho en perl y cgi, la idea es migrarlo hacia java con tecnologias jsp y xml, ya tenemos hecho la parte del cliente que es la que puede ejecutar cualquier estudiante que se conecte a internet accediendo a su buzon de correo desde la pagina principal de la universidad x medio de un vinculo, tenemos tambien que hacer un modulo administrador que es para el administrador poder crear las cuentas de usuario, asignar clave, borrar un usuario y darle permiso a un usuario de manejar listas de correo, la aplicacion va estar en un servidor unicamente para eso (dedicado), el administrador quiere utilizar qmail para el manejo del correo, nosotros desde la aplicacion cliente el usuario puede cambiar su clave periodicamente x cuestiones de seguridad, x eso es que pregunto como hacer para que pueda ir y modificar el archivo donde estan las claves guardadas en el sistema en /etc/passwd, ya que el usuario no tiene privilegios de root para poder modificar archivos a travez de la aplicacion, xq sino imaginate el agujero para la seguridad del servidor. Y como la aplicacion es en java y el servidor va estar montado bien sea sobre linux o solaris.
  #6 (permalink)  
Antiguo 23/01/2007, 22:02
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 20 años, 2 meses
Puntos: 47
Re: como dar privilegios de root

¿Pero la aplicacion Java corre desde un navegador? En ese caso no esta corriendo en el servidor, sino desde el servidor, por lo que no vas a tener ningun acceso a el directamente.

Ahora, en el caso de que yo este equivocado, el comando passwd de linux deja cambiarle la contraseña a los usuarios por si mismos.

Saludos.
__________________
¡Volviendo a la programación!
  #7 (permalink)  
Antiguo 24/01/2007, 10:10
 
Fecha de Ingreso: octubre-2005
Mensajes: 188
Antigüedad: 19 años, 1 mes
Puntos: 0
Re: como dar privilegios de root

La aplicacion esta en el servidor, alli se instala el .jar o .war ke nosotros generemos y el usuario accede a ella desde un vinculo en la pag principal de la universidad. Luego el usuario puede y debe modificar su clave, asi como se hace en cualquier correo, en ese y solo en ese momento el usuario debe adquirir privilegios para poder ir hasta el servidor y modificar su entrada en el archivo /etc/passwd o /etc/shadow con la nueva contraseña, pero lo debe hacer a travez de la interfaz de correo que hemos diseñado nosotros.
  #8 (permalink)  
Antiguo 24/01/2007, 22:40
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 20 años, 2 meses
Puntos: 47
Re: como dar privilegios de root

Es lo que te decia.
Si entendi bien, la aplicacion corre EN el cliente, descargandose el .jar o .war y corriendolo en la maquina virtual de java de cada cliente.
En ese caso me parece muy dificil que esa aplicacion pueda acceder a los archivos en /etc.
Vas a tener que implementar algun tipo de servidor al que se conecte el cliente java para que haga el trabajo de cambiar la contraseña.

Saludos.
__________________
¡Volviendo a la programación!
  #9 (permalink)  
Antiguo 25/01/2007, 14:56
 
Fecha de Ingreso: octubre-2005
Mensajes: 188
Antigüedad: 19 años, 1 mes
Puntos: 0
Re: como dar privilegios de root

Pero no existe algo, un script que le de x un instante cierto permiso a la aplicacion para que vaya y cambie la clave, xq la aplicacion que hay que esta hecha en perl y cgi, utiliza un script llamado "suid.pl" (a proposito no se que significa la extension pl)el cual le da la posibilidad a la aplicacion de ir y cambiar dicho archivo de contraseñas. En la documentacion de la aplicacion que hay dice esto: "Paralelamente serán almacenadas las claves cifradas en el fichero /etc/shadow el cual no permite sino el acceso al root o aquellos programas con bit suid activo que tengan la necesidad de acceder."
Hay estan hablando del famoso bit suid, y encontre esto tambien :

3. Copie el script suid.pl el cual permite otorgar el bit suid a los script que requieran realizar cambios en el sistema como son:
* Cambio.cgi

4. Asigne permisos de la siguiente manera: Chmod 755 nombre_script . Si requiere el bit suid: Chmod +s nombre_script

5. Ejecutar el script suid.pl

Directorio Permisos Observación
/cgi-bin/
cambio.cgi -rwsr-sr-x Ejecutable
.cambio.cgi -rwxr-xr-x Código fuente-generado por suid.pl


Características: Este script es un programa en lenguaje C que llama al script .cambio.cgi escrito en Perl y este se ejecuta con permisos de root.

El programa escrito en C es generado por el script suid.pl el cual hace los cambios para la ejecución de los dos programas en modo su root.
El script esta escrito en lenguaje Perl, el resultado de su operación es un programa ejecutable en lenguaje C el cual hace un llamado al script con la orden exec y ejecutándose como suid(0) o en modo superusuario.
El script toma aquellos programas del directorio que se le pasa como parámetro que tengan activos el bit suid.

Mi pregunta es entonces si hay algo parecido que podamos usar en nuestra aplicacion java cada vez que el cliente ejecute la accion cambiar contraseña.
Gracias x su paciencia, la verdad soy principiante en estos dos temas, java y linux.
PD: cuando hablas de un servidor, a que te refieres?
  #10 (permalink)  
Antiguo 25/01/2007, 18:43
pablasso
Invitado
 
Mensajes: n/a
Puntos:
Re: como dar privilegios de root

si hay scripts ya hechos para cambiar passwords de usuarios... pero no entiendo bien porque cambiar los password de los usuarios del sistema si estas tratando de cambiar el password a los usuarios de qmail?

en lo personal, pienso que te resultaria menos trabajoso y comprometerias menos tu seguridad si utilizas algo como vpopmail (sino es que ya lo estas utilizando) en conjunto con qmail, si asi administras tus dominios de mail ya solo haces simples llamadas a comandos como vpasswd (cambiar pass), vadduser (agregar usuario) para hacer lo que deseas
  #11 (permalink)  
Antiguo 26/01/2007, 09:37
 
Fecha de Ingreso: octubre-2005
Mensajes: 188
Antigüedad: 19 años, 1 mes
Puntos: 0
Re: como dar privilegios de root

Muchas gracias pablasso x contestar, lo que pasa es que no se todavia si vayan a usar qmail o sigan con sendmail, y lo otro es que desde una aplicacion que corre en cualquier equipo puedo hacer llamados a esas funciones sin necesidad de privilegios.

PD: me podrias pasar alguna dir con esos scripts que dices. Gracias.
  #12 (permalink)  
Antiguo 26/01/2007, 14:00
pablasso
Invitado
 
Mensajes: n/a
Puntos:
Re: como dar privilegios de root

es algo asi http://bash.cyberciti.biz/security/c...-script.sh.php

para cualquier comando que necesites utilizar y que este requiera interaccion con el usuario, como passwd, expect es tu amigo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:59.