Iniciando um programa de espaço do usuário como usuário não root na inicialização com o upstart

3

Existe um método para configurar um script upstart para executar um programa de espaço de usuário sem manter privilégios de root, mas para o usuário que tem diretório / permissões a propriedade do programa pode parar / iniciar enquanto o programa ainda inicia no momento da inicialização?

    
por Thomas Ward 01.06.2012 / 21:06

2 respostas

2

Sim, com sudo:

sudo -u lordoftime program

-u + nome de usuário inicia o programa como esse usuário.

    
por user unknown 01.06.2012 / 21:13
1

Problema ao usar o truque su com tarefas do sistema o usuário não tem controle sobre esse trabalho. Ainda é um trabalho de sistema, apesar de executar como determinado usuário.

A solução adequada em 12.04 está usando trabalhos do usuário . Esses trabalhos vivem em $HOME/.init de cada usuário e são totalmente controláveis por esse usuário. Eles também não têm poderes de root, pois o trabalho do usuário é sempre executado como as credenciais desse usuário. Caso contrário, eles agem apenas como tarefas do sistema, portanto, você pode definir start on stanzas como tarefas do sistema.

Por padrão, as tarefas do Upstart não têm nenhum ambiente definido, exceto o que está definido no trabalho. Você pode contornar isso executando sh -l ( exec /bin/sh -l -c "exec YOUR STUFF HERE" ).

    
por Tuminoid 06.06.2012 / 07:41

Tags