Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/10/2007, 12:36
Avatar de AleSanchez
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!