首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在共享apache上保护php

在共享apache上保护php
EN

Server Fault用户
提问于 2012-10-28 19:55:04
回答 2查看 304关注 0票数 1

我将在一个服务器上安装apache+php,两个用户,A和B将部署他们的网站。出于安全原因,我试图实现用户空间的隔离:也就是说,站点A中的脚本不应该能够读取站点B中的文件。

为此,我安装了suphp。用户A的网站文件属于perm=700的A:A,B的用户属于perm=700的B:B。Suphp工作得很好,但是apache抱怨读取.htaccess的权限。

我如何让apache在A和B的每个部分读取.htaccess,同时保持站点A和站点B之间的隔离?我玩了所有权(group = www-data)和权限(750),但是我找不到保持隔离的方法。有什么想法吗?

也许通过将apache作为root运行,但是在这种情况下有什么缺点吗?

EN

回答 2

Server Fault用户

发布于 2012-10-28 20:42:23

作为一个副手,更严格地说,你可以这样说:

代码语言:javascript
复制
disable_functions = “apache_child_terminate, apache_setenv, define_syslog_variables,    escapeshellarg, escapeshellcmd, eval, exec, fp, fput, ftp_connect, ftp_exec, ftp_get, ftp_login, ftp_nb_fput, ftp_put, ftp_raw, ftp_rawlist, highlight_file, ini_alter, ini_get_all, ini_restore, inject_code, mysql_pconnect, openlog, passthru, php_uname, phpAds_remoteInfo, phpAds_XmlRpc, phpAds_xmlrpcDecode, phpAds_xmlrpcEncode, popen, posix_getpwuid, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid, posix_setuid, posix_uname, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, shell_exec, syslog, system, xmlrpc_entity_decode” 

in: /etc/php5/apache2/conf.d/disable_functions.ini

http://forums.eukhost.com/f42/disabling-dangerous-php-functions-6020/

我希望这不是离题。

票数 0
EN

Server Fault用户

发布于 2012-10-29 09:17:45

我想我已经解决了。

主目录是perm=750,owner=A:www-data (或B:www-data)。在家庭内部,所有目录和文件都由A:A (或B:B)拥有,perm=644或755用于dir。这样,运行为www-data的apache总是能够在所有目录中读取.htaccess,而用户A不能读取用户B的任何内容,因为它的主目录是750,对于A是0。

谢谢您的建议,这些建议对提高安全性很有帮助。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/443186

复制
相关文章

相似问题

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