2015-12-05 3 views
0

Я обычно делаю sudo service gunicorn start, чтобы начать службу увольнения, поэтому мое приложение когда-либо должно создать папку, принадлежащую пользователю, вошедшему в систему при запуске команды, и группа принадлежит sudo. Мой вопрос, почему, когда я пытаюсь позвонить в службу как service gunicorn start я получаю ошибкуКак начать службу увольнения без sudo

start: Rejected send message, 1 matched rules; type="method_call", sender=":1.20" (uid=1001 pid=10684 comm="start gunicorn ") interface="com.ubuntu.Upstart0_6.Job" member="Start" error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init ") 

Я знаю, что он должен делать с правами, но я не могу полностью понять, что это сообщение означает, и как я могу назвать сервис без sudo. Заранее спасибо

ответ

1

Службы Linux должны запускаться от root, если вы не используете sudo. Например, если вы проверяете свои скриптовые услуги:

[email protected]:~$ ls -l /etc/init.d/* | head 
-rwxr-xr-x 1 root root 2243 abr 3 2014 /etc/init.d/acpid 
-rwxr-xr-x 1 root root 2014 feb 19 2014 /etc/init.d/anacron 
-rwxr-xr-x 1 root root 9974 ene 7 2014 /etc/init.d/apache2 
-rwxr-xr-x 1 root root 4596 mar 27 2014 /etc/init.d/apparmor 
-rwxr-xr-x 1 root root 2801 oct 30 2014 /etc/init.d/apport 

Вы поймете, что все принадлежит root.

С другой стороны, вы можете проверить, есть ли у gunicorn флаг для запуска процесса в качестве демона и проверить, может ли он работать с предопределенным пользователем. Но я думаю, что лучший способ - использовать службы Linux, поэтому вы можете включать или отключать их при запуске с помощью таких инструментов, как sysv-rc-conf или chkconfig.

С уважением!

+0

Большое спасибо за ваш ответ. Мне нужно некоторое время, чтобы изучить его и понять. Теперь, чтобы уточнить, я должен признаться, что моя оптимальная цель - не начинать службу как не судо, а отлаживаем следующую проблему: на моем dev-сервере, когда я вошел в систему как пользователь «user1» и запускаю PyCharm с помощью sudo и запускаю приложение, папка создается с помощью 'ownership: group' =' user1: sudo', тогда как при запуске PyCharm как non sudo одна и та же папка создается как «user1: user1». Поэтому я хотел проверить, что то же самое имеет место на производственном сервере (который запускает пулемет). Еще раз спасибо! – pebox11

+0

Я даже попытался удалить группу 'sudo' от пользователя, но папка создана как' user1: sudo', а не как 'user1: user1', которая является желаемой, и я надеялся выполнить ее, выполнив пулемет как не-судо. – pebox11

Смежные вопросы