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

init.d: Iniciar servicio como otro usuario.

Estas en el tema de init.d: Iniciar servicio como otro usuario. en el foro de Unix / Linux en Foros del Web. Hola a todos. Tengo un sistema personalizado que corre unos cuantos procesos separados sobre Linux y tengo un script que me dieron los desarroladores que ...
  #1 (permalink)  
Antiguo 06/10/2007, 12:15
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
init.d: Iniciar servicio como otro usuario.

Hola a todos.
Tengo un sistema personalizado que corre unos cuantos procesos separados sobre Linux y tengo un script que me dieron los desarroladores que automatiza el proceso de inicio.
El tema es que tiene que correr como un usuario específico, no como root.

Yo ya configuré el script dentro de /etc/init.d para que inicie automaticamente, pero el tema es que necesito que ese script corra con el usuario designado.

¿Alguno sabe como orientarme? Mi problema es que no pude encontrar los terminos correctos para encontrar algo decente en el Google :(

El server corre sobre Ubuntu 6.06.1 LTS
Actualmente inicio el servicio manualmente logueandome como el usuario y corriendo el script /etc/init.d/startsvc

Saludos.

Post edit:

Me olvide decirles que estoy probando con el "su -c" pero no me corre la aplicacion :(
__________________
¡Volviendo a la programación!

Última edición por AleSanchez; 06/10/2007 a las 12:20
  #2 (permalink)  
Antiguo 06/10/2007, 12:36
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: init.d: Iniciar servicio como otro usuario.

Ok, es Sábado y estoy medio dormido.
Les pongo la solución por si les interesa.
Efectivamente el uso de su era la solucion.

No me funcionaba porque como bien dice el info de su, éste no cambia de directorio, y el script necesita estar parado en el home del usuario.

Lo que hice fue crear un nuevo script de inicio en /etc/init.d que contiene:

Código:
#!/bin/sh

case "$1" in
'start')
    cd /opt/sistema
    su -c "./bin/init.d start" sistema
    ;;
'stop')
    cd /opt/sistema
    su -c "./bin/init.d stop" sistema
    ;;
*)
    echo "Usage: $0 { start | stop }"
    ;;
esac
exit 0
Y listo.
El usuario es sistema y el script es el /opt/sistema/bin/init.d

Saludos.
__________________
¡Volviendo a la programación!
  #3 (permalink)  
Antiguo 06/10/2007, 13:29
Avatar de xpiderman  
Fecha de Ingreso: abril-2004
Ubicación: Centro América
Mensajes: 1.275
Antigüedad: 20 años, 7 meses
Puntos: 10
Re: init.d: Iniciar servicio como otro usuario.

Con un título más descriptivo, este hilo podría moverse a FAQ´s, creo. Por mi parte, lo pondré en mis favoritos del foro.


Saludos.
__________________
Mi Blog de novato: XpiderBlog
Número de Usuario GNU+Linux registrado:
438608 / Usuario Mandrivero
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 00:56.