Como habilitar trabalhos do usuário no Upstart

1

Estou tentando permitir que usuários sem privilégios executem jobs de upstart a partir do diretório $HOME/.init .

O livro de receitas Upstart menciona que você deve ativar isso , mas não menciona como fazê-lo. A frustração pode ser resumida no comentário do @ropez :

  

a documentação não parece mencionar como habilitar trabalhos do usuário, apenas menciona o arquivo de configuração, e que o administrador deve fazê-lo

Ainda estou recebendo este erro quando tento start um trabalho como um usuário não privilegiado:

start: Rejected send message, 1 matched rules; type="method_call", sender=":1.70"

O mais próximo que encontrei até agora é a essência de alguém corrigiu o Upstart.conf , mas parece muito mais curto do que o que eu vejo no Ubuntu 12.04 que estou usando.

Existe uma maneira canônica e bem definida de fazer isso?

P.S. Estou ciente do relacionado questions . No entanto, nenhuma de suas respostas realmente mostram como fazer isso.

    
por gregoltsov 19.11.2014 / 12:53

2 respostas

0

Esta solução funciona para o Upstart 1.5 no Ubuntu 12.04.

Abra a configuração do upstart:

sudo vim /etc/dbus-1/system.d/Upstart.conf

Comente a política default , por exemplo

<policy context="default">
    ...
</policy>

e cole o bloco de este patch :

<!--
Allow any user to invoke all of the methods on Upstart, its jobs
or their instances, and to get and set properties - since Upstart
isolates commands by user.
 -->
<policy context="default">
    <allow send_destination="com.ubuntu.Upstart"
        send_interface="org.freedesktop.DBus.Introspectable" />
    <allow send_destination="com.ubuntu.Upstart"
        send_interface="org.freedesktop.DBus.Properties" />
    <allow send_destination="com.ubuntu.Upstart"
        send_interface="com.ubuntu.Upstart0_6" />
    <allow send_destination="com.ubuntu.Upstart"
        send_interface="com.ubuntu.Upstart0_6.Job" />
    <allow send_destination="com.ubuntu.Upstart"
        send_interface="com.ubuntu.Upstart0_6.Instance" />
</policy>
    
por gregoltsov 28.11.2014 / 16:13
1

A configuração Upstart "patched" que você vincula é a mesma que a configuração Upstart que foi enviada com Upstart 1.3 (de não pode obter pronto para executar o trabalho do usuário ), então eu diria que essa é a maneira mais simples de ativar os trabalhos do usuário.

    
por muru 19.11.2014 / 13:25