Объем проблемы
- Рельсы
4.2.11
- Ansible
2.1.1.0
- Ubuntu
14
- Пользователь Ubuntu:
deploy
У меня есть приложение Rails, которое я развертываю на сервере Ubuntu по сценарию Ansible.
У меня проблема с пониманием того, почему приложение Rails создает файлы журналов с разрешениями root, когда скрипт Ansible выполняет задачи rake.
В моем примере он работает rake db:migrate
, но также ведет себя с rake assets:precompile
Вы можете увидеть на фото ниже, что Приложение развертывается через пользователя 'deploy', но после запуска задачи rake оно создает 2 файла журнала с разрешением root. После перезапуска веб-сервера он выдает sh с ошибкой отказа в разрешении, поэтому мне нужно вручную изменить владельца на deploy:deploy
Структура регистратора Rails также выглядит подозрительно. Вы можете проверить значение @dev=IO:<STDERR>
. Я проверил в другом проекте, и там я вижу что-то вроде @dev=#<File:/var/www/.../log/production.log>
Я пытался изучить исходный код ror4
, но так Далеко не повезло понять оттуда, что происходит. Единственная идея заключается в том, что Rails вызывает исключение при создании файла журнала и STDERR
становится выводом
Пожалуйста, помогите, если у вас возникла подобная проблема или вы можете указать, где я могу искать.