Разрешение Ubuntu отклонено при запуске в качестве демона

У меня есть промежуточный сервер Ubuntu на AWS, который запускает крошечное приложение Sinatra с помощью тонкого веб-сервера.
Приложение sinatra выполняет несколько команд git clone при вызове, и все отлично работает, когда я запускаю rackup от своего пользователя.
Естественно, я хочу запустить сервер как демон, для этого я использовал rackup -D и вызвал приложение. На этот раз я получил исключение из git, в котором говорится, что демон не авторизован для записи в целевую папку:

could not create work tree dir 'path/to/clone': Permission denied

Насколько я понимаю, демоны имеют те же привилегии, что и Пользователь, который запускает их так, как получается, что задача не удается? Я также попробовал chmod -R 777 каталог, но он не работал ..

1
задан 9 April 2015 в 04:18

2 ответа

Проверьте, имеет ли исполняемый файл setuid набор битов. Это заставило бы его работать как владелец файла, не пользователь, который запустил его. Можно проверить выполнение ls -l appname и рассмотрение четвертого символа в маске полномочий (вместо исполнимого бита владельца). Если это s затем, setuid укусил, установлен.

Демоны обычно устанавливаются работать с setuid, таким образом, они ожидаются к не , имеют полномочия пользователя, который запустил их. Это в отличие от приложений недемона, которые являются , ожидал иметь полномочия пользователя. Необходимо будет добавить использование демона r к группе файлов, которые Вы хотели бы затронутый и удостоверились бы, чтобы полномочия группы позволили действия.

0
ответ дан 9 April 2015 в 04:18

Моя проблема закончила тем, что была самой стойкой. Складывается (как объяснено здесь ), что стойка, когда выполнено с rackup -D команда (как демон) изменяет рабочий dir на /.

2
ответ дан 9 April 2015 в 04:18

Другие вопросы по тегам:

Похожие вопросы: