如何避免Phusion Passenger以root身份运行?

时间:2017-10-20 19:16:39

标签: ruby-on-rails apache2 passenger

我今天更新到Passenger 5.1.11并且有理由查看我的Apache错误日志。

/var/log/apache2/error.log我找到了这个条目(很多次):

  

警告:潜在的权限提升漏洞。乘客是   以root身份运行,并且可以更改乘客根路径的部分(/home/jack/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/passenger-5.1.11)由非root用户:路径   “/home/jack/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/passenger-5.1.11”可以由用户“jack”修改(或者作为那样运行的应用程序)   用户)。将路径的所有者更改为root,或者避免运行   作为根的乘客。

我正在运行Debian 7并将Passenger安装为gem。我没有使用sudo运行任何安装命令。

如何避免以root身份运行乘客?我花了最后几个小时谷歌搜索这个,但空手而归。

2 个答案:

答案 0 :(得分:3)

Apache以root身份启动,因此当加载Passenger模块时,它将以root身份启动。在您与Nginx或Apache集成的情况下,您将发现限制gem目录上的权限比以非root用户身份运行Web服务器要容易得多。

答案 1 :(得分:0)

扩展接受的答案:

  

在与Nginx或Apache集成的情况下,您会发现限制gem目录的权限比以非root用户身份运行Web服务器要容易得多。

来自https://www.w3.org/Daemon/User/Installation/PrivilegedPorts.html

  

低于1024的TCP / IP端口号是特殊的,因为不允许普通用户在其上运行服务器。

意思是,如果要运行Web服务器(通常在端口80或443上),则应以root用户身份运行它。