Como executar scripts não privilegiados de rc.local na inicialização do sistema?

2

Eu configurei meu /etc/rc.local para iniciar alguns serviços usando alguns scripts para ativar meu sistema na reinicialização.

Um script é executado como root e inicia nginx, mysql, php etc ... e funciona bem.

As outras coisas são executadas como meu usuário regular, por isso estou fazendo um sudo e não parece funcionar no momento da inicialização. Existe um problema em executar como usuários desprivilegiados neste estágio do processo de inicialização?

Meu rc.local se parece com isso -

#!/bin/sh
touch /var/lock/subsys/local

# main system start - web server, db etc...
/root/start-services.sh

# services run as me
/usr/bin/sudo -u tim /home/vhosts/myapp/bin/start-app.sh

Executando os scripts quando o sistema está ativo, tudo funciona bem. Mas no momento da inicialização, nenhum dos serviços em start-app.sh é iniciado e não consigo encontrar nenhum rastro de erros em nenhum registro.

O que eu fiz de errado aqui?

    
por Tim 10.08.2012 / 14:29

2 respostas

4

Experimente:

su USER -c 'command &'
    
por 10.08.2012 / 14:34
2

Você deve tentar /usr/bin/sudo -u tim /home/vhosts/myapp/bin/start-app.sh 2>&1 1>/tmp/start-app.log para gravar stdout e stderr em um arquivo.

    
por 10.08.2012 / 14:35