Experimente:
su USER -c 'command &'
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?
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.