
Estou tentando permitir que usuários não privilegiados executem trabalhos iniciais em seu $HOME/.init
diretório.
O livro de receitas Upstart menciona que você devehabilite isso, mas não menciona como fazê-lo. A frustração pode ser resumida porComentário de @ropez:
a documentação não parece mencionarcomopara habilitar jobs do usuário, apenas menciona o arquivo de configuração, e que o administrador deve fazer isso
Ainda estou recebendo este erro quando tento fazer start
um trabalho como 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 é uma essência dealguém corrigiu o Upstart.conf, mas parece muito mais curto do que o que vejo no Ubuntu 12.04 que estou usando.
Existe uma maneira canônica e bem definida de fazer isso?
PS estou cienterelacionado questões. No entanto, nenhuma de suas respostas mostra realmente como fazer isso.
Responder1
A configuração do Upstart "corrigida" à qual você vincula é a mesma que a configuração do Upstart que foi enviada comIniciante 1.3(denão é possível começar a executar o trabalho do usuário), então eu diria que essa é a maneira mais simples de ativar trabalhos de usuário.
Responder2
Esta solução funciona para Upstart 1.5 no Ubuntu 12.04.
Abra a configuração inicial:
sudo vim /etc/dbus-1/system.d/Upstart.conf
Comente a default
política, ou seja
<policy context="default">
...
</policy>
e cole o bloco deeste 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>