Sim, com sudo:
sudo -u lordoftime program
-u + nome de usuário inicia o programa como esse usuário.
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?
Sim, com sudo:
sudo -u lordoftime program
-u + nome de usuário inicia o programa como esse usuário.
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"
).