我应该将所有独角兽进程作为www-data(非root)运行吗?

时间:2012-07-24 08:44:45

标签: ruby-on-rails unicorn

我正在使用Unicorn和Nginx运行Rails 3应用程序。目前,Unicorns以root身份运行,并且由于unicorn.rb中的这一行:

user "www-data"

但我想知道我是否应该将所有Unicorn进程作为www-data运行。这样做有什么问题吗?我正在使用文件套接字,因此打开端口(< 1024)不是我的问题。还有什么我应该知道的吗?

1 个答案:

答案 0 :(得分:2)

您不应该以root用户身份运行应用程序。这为应用程序提供了root权限,这反过来意味着如果您犯了错误并暴露了文件系统,攻击者可以毫不费力地获得root权限。

我避免以www-data或其他共享用户身份运行。相反,我为特定应用创建了一个用户,并为他们提供了自己的唯一权限。就我而言,我在一台服务器上运行多个应用程序,这样可以在一个应用程序遭到入侵时增加一层保护。

以下是对可能出错的一些问题的一个很好的解读:https://jhalderm.com/pub/papers/dcvoting-fc12.pdf