A sub-rotina setuid
não deve estar no bloco script
, é global. Esta é provavelmente a razão pela qual seu trabalho falha.
Observe que usar setuid
fará com que as todas fases da tarefa sejam executadas conforme o usuário especificou e não há como alterá-las. Se você deseja executar apenas um daemon como um usuário diferente, evite sudo
e use start-stop-daemon
. Isso é especialmente importante com daemons de bifurcação. Verifique o Cookbook Upstart do Ubuntu, capítulo 11.43.2 para detalhes.