Cómo habilitar trabajos de usuario en Upstart

Cómo habilitar trabajos de usuario en Upstart

Estoy intentando permitir que usuarios sin privilegios ejecuten trabajos iniciales desde su $HOME/.initdirectorio.

El libro de cocina advenedizo menciona que debeshabilitar esto, pero no menciona cómo hacerlo. La frustración se puede resumir encomentario de @ropez:

la documentación no parece mencionarcómopara habilitar trabajos de usuario, solo menciona el archivo de configuración y que el administrador debe hacerlo

Sigo recibiendo este error cuando intento realizar startun trabajo como usuario sin privilegios:

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

Lo más cercano que encontré hasta ahora es una esencia dealguien ha parcheado Upstart.conf, pero parece mucho más corto que el que veo en Ubuntu 12.04 que estoy usando.

¿Existe una forma canónica y bien definida de hacer esto?

PD: soy consciente derelacionado preguntas. Sin embargo, ninguna de sus respuestas muestra realmente cómo hacerlo.

Respuesta1

La configuración Upstart "parcheada" a la que se vincula es la misma que la configuración Upstart que se envió conAdvenedizo 1.3(deno se puede empezar a ejecutar el trabajo del usuario), por lo que diría que es la forma más sencilla de habilitar trabajos de usuario.

Respuesta2

Esta solución funciona para Upstart 1.5 en Ubuntu 12.04.

Abra la configuración inicial:

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

Comente la defaultpolítica, es decir

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

y pega el bloque deeste parche:

<!--
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>

información relacionada