我今天更新到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身份运行乘客?我花了最后几个小时谷歌搜索这个,但空手而归。
答案 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用户身份运行它。