首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在dir权限为777的情况下,将php作为快速php与Apache mod运行。

问在dir权限为777的情况下,将php作为快速php与Apache mod运行。
EN

Server Fault用户
提问于 2012-01-12 18:22:23
回答 2查看 2.3K关注 0票数 0

你好,我是一个贸易网站开发人员,而不是一个服务器工程师,请容忍我!

我刚刚有一个新的Ubuntu灯VPS服务器,我正在尝试配置。

我理解将php作为apache运行是运行php最快的方式。但是为了实现这一点,我必须将我的目录设置为777,以便php可以写入它们。反过来,ftp就不能再删除php创建的dir了。

这似乎不太理想。

我知道使用fast-cgi,'php用户‘和'ftp用户’是相同的,因此您不会遇到这些问题,并且不需要向777打开目录来允许写入,我理解这是一个安全问题。

那么,有什么利弊呢?

  • 拥有755权限的快速cgi与具有777权限的apache mod??

谢谢

编辑

所以ok 777显然不太好。但是,我怎样才能让apache-mod和ftp用户成为相同的--正如前面提到的,我不是服务器管理员!谢谢

EN

回答 2

Server Fault用户

回答已采纳

发布于 2012-01-12 21:07:20

带有mod_php的Apache很容易安装,而且运行速度很快--但是它不扩展。每个请求都需要一个完整的线程--包括apache及其所有模块。这正是使其快速的原因--每个请求都得到一个php的专用实例。另一方面,很小数量的同时请求将占用所有可用内存,并将服务器拖慢到爬行。

如果您使用mod_php路径-@fuscata的答案提供了一种很好的方法--使用组来避免您的目录和文件可由“其他人”写。另一种选择是简单地使FTP用户与apache运行的用户相同--尽管从安全的角度来看这并不好。

我肯定会建议采用快速cgi方法--除了可以正确实现权限这一事实之外,它更好地利用了可用的资源。虽然单个请求的速度要慢一些,但是在负载较高的情况下,总体性能将比mod_php好得多。

使用mod_fastcgi与php-fpm -设置您的php-fpm池的用户名匹配您的FTP用户,并使用最严格的权限- 755通常是可以接受的目录(但您应该能够使用750)考虑将您的PHP文件的权限设置为640 -‘其他’实际上不需要对您的文件的读取权限(特别是包含数据库密码,电子商务密钥等的文件-尽管这些应该设置为600 -或400个一旦你输入了数据)。

票数 3
EN

Server Fault用户

发布于 2012-01-12 19:16:13

如果您决定坚持使用mod_php,有几种选择,但我建议如下:

  1. 创建一个新用户,例如具有组ftpuser的ftpuser
  2. 确保用户在其主dir中没有任何敏感内容(您可以将其设置为DocumentRoot),例如.my.cnf、邮件文件、ssh私钥等。
  3. 将Apache用户(www-data)添加到ftpuser组中。
  4. 设置Apahce用户的umask到002 in /etc/apache2/envvars
  5. 将ftpuser的umask设置为002 (因此文件在默认情况下将具有775个权限)和/或更改FTP客户端中的设置以实现这一点。
  6. 在适当的dirs/file上: chgrp -R ftpuser、chmod -R 775、chmod -R g+s (这将导致www-data创建的所有文件/dir保持ftpuser组)。
票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/349380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档