ubuntu – 启动Unicorn时不允许操作

前端之家收集整理的这篇文章主要介绍了ubuntu – 启动Unicorn时不允许操作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经在Ubuntu(亚马逊EC2)上创建了一个Nginx / unicorn / capistrato设置,主要是跟随 this guide.我想一切都设置得像应该但是当我启动Unicorn时,我在日志中得到(很多)这个错误
E,[2012-09-08T08:57:20.658092 #12356] ERROR -- : Operation not permitted (Errno::EPERM)
/home/deployer/apps/bridgekalenderen.no/shared/bundle/ruby/1.9.1/gems/unicorn-4.3.1/lib/unicorn/worker.rb:82:in `initgroups'

我看到它与用户的权限有关,但我无法弄清楚我遗漏了什么.如果我用sudo(或者,rvmsudo,真的)启动它,服务器启动很好.

用户有sudo功能,我已经多次chmod了应用程序,所以那里的文件权限应该没问题. / tmp中的unicorn套接字由部署者用户拥有,因此也不应该是问题.

有人知道在哪里看?

更新:

经过一番挖掘后,我发现它归结为对Process.initgroups的调用,它抛出了EPERM.我在irb中验证了这一点.我无法弄清楚导致错误的原因.用户可以阅读/ etc / group.

如果我理解你,你正试图在普通用户下启动没有sudo的服务.这将无法正常工作,并且会像您收到的操作那样给出错误操作.在大多数(如果不是全部)情况下都是如此,因为任何服务都需要以下一个或多个服务来完成其工作:

>绑定/侦听端口< 1024.>读取非root无法读取的文件.>编写非root用户无法写入的文件.>可能更多(我不记得了).

猜你在找的Ubuntu相关文章