
Я настроил сервер Debian wheezy и использую runit, чтобы мои службы работали. Я также настроил svlogd, но именно здесь у меня проблемы. Когда службы запускаются, я запускаю "ps aux" и вижу, что svlogd выдает ошибку:
runsvdir -P /home/[user]/service log:.rrent: /home/[user]/logs/gunicorn/: access denied sv
logd: pausing: unable to open current: /home/[user]/logs/celery/: access denied
У меня runit и svlogd запущены от имени моего пользователя, а не от root. Если я "tail ~/logs/celery/current", то увижу следующее:
2014-07-05_10:07:44.10589 If you really want to continue then you have to set the C_FORCE_ROOT
2014-07-05_10:07:44.10589 environment variable (but please think about this before you do).
2014-07-05_10:07:44.10589
2014-07-05_10:07:44.10590 User information: uid=0 euid=0 gid=0 egid=0
2014-07-05_10:07:44.10592
Так что я не уверен, почему появляется сообщение об отказе в доступе.
решение1
Ошибка возникает из-за известной уязвимости безопасности при попытке запустить его с правами root, и делать это следует только в случае крайней необходимости.
Если вы действительно уверены, что хотите продолжить, вы можете установить переменную окружения из терминала:
export C_FORCE_ROOT="true"
Однако эта переменная будет существовать только в течение сеанса. Чтобы она длилась «вечно», добавьте эту строку в файл ~/.bashrc или ~/.profile.
export C_FORCE_ROOT="true"
Затем найдите этот файл;
source ~/.bashrc