especifica usuário para init.d

2

Eu tenho um script init.d que inicia | stops | reinicia um daemon usando o daemon start-stop-daemon.

Este daemon é sempre iniciado como root. Eu quero ser capaz de especificar o usuário que o script init.d usará para iniciar o daemon.

Tentei usar a opção --user para o daemon start-stop, mas isso não está funcionando.

Alguém pode sugerir como fazer isso?

    
por kapad 08.09.2012 / 11:26

1 resposta

0

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.

    
por John S Gruber 09.09.2012 / 01:31