Como o Ubuntu está convertendo do sysvinit para o upstart, eu sugiro que você converta seu script em um job upstart no diretório / etc / init /. A página do manual é man 5 init
.
Existem itens setuid e setgid para definir o usuário e o grupo sob os quais o job upstart é executado.
Supondo que seu script execute outro script, suponho que você possa adicionar o comando su userid
a ele para alterar o uid e o gid efetivo para o de seu argumento. Não tenho certeza se é seguro executar su
no próprio script sysvinit sem alterá-los para os scripts subsequentes do /etc/init.d/, mas talvez esteja tudo bem também.