
Я пытаюсь разрешить непривилегированным пользователям запускать задания upstart из своего $HOME/.init
каталога.
В кулинарной книге Upstart упоминается, что вы должнывключить это, но не упоминает, как это сделать. Разочарование можно суммировать следующим образом:@комментарий ropez:
в документации, похоже, не упоминаетсякакдля включения пользовательских заданий упоминается только файл конфигурации, и это должен сделать администратор
Я все еще получаю эту ошибку, когда пытаюсь выполнить start
задание как непривилегированный пользователь:
start: Rejected send message, 1 matched rules; type="method_call", sender=":1.70"
Самое близкое, что я нашел до сих пор, это сутькто-то пропатчил Upstart.conf, но он кажется намного короче того, который я вижу в Ubuntu 12.04, которую я использую.
Существует ли канонический, четко определенный способ сделать это?
P.S. Я в курсесвязанный вопросы. Однако ни один из их ответов на самом деле не показывает, как это сделать.
решение1
«Исправленная» конфигурация Upstart, на которую вы ссылаетесь, такая же, как и конфигурация Upstart, которая была поставлена вместе сАпстарт 1.3(отне могу заставить upstart запустить пользовательское задание), поэтому я бы сказал, что это самый простой способ включить пользовательские задания.
решение2
Это решение работает для Upstart 1.5 на Ubuntu 12.04.
Откройте конфигурацию upstart:
sudo vim /etc/dbus-1/system.d/Upstart.conf
Закомментируйте default
политику, т.е.
<policy context="default">
...
</policy>
и вставьте блок изэтот патч:
<!--
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>