我已经设置了 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
我以我的用户身份(而不是 root 用户)运行 runit 和 svlogd。如果我“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