我在 Debian 6 上安装 apache + php 5.3.5 时遇到了问题。Apache 不尊重我的文件的权限。Apache 在用户和组“daemon”下运行,文件归用户和组“myUser”所有。
例如,如果 myfile.php 的权限为 700,apache 将会执行它,尽管它不应该这样做。
相同的配置在 Slackware 13.1 下运行良好。有人知道我做错了什么吗?
答案1
据我所知,如果没有特殊模块,Apache 不会关心您的文件权限。如果它可以读取文件,它就可以提供该文件。
您应该使用带有允许/拒绝语句的 .htaccess 文件来保护文件。
另请注意无论配置、模块、软件等如何,您都不应该将任何私人文件放在 Apache 可以读取的文件夹中!有人失误并更改了您的配置中的错误行,然后每个人都可以获取您的私人文件。
Apache 应限制在一个或几个文件夹中。标准设置是 /var/www/html/ 和 /var/www/cgi-bin/,而不是其他地方。
答案2
检查您的文件是否设置了 setuid 或 setgid 位: ls -l
如果您的权限中应该有s
或,则设置了 setuid/setgid 位。Setuid 和 setgid 是允许用户使用可执行文件的所有者或组的权限运行可执行文件的访问权限。t
x