我有一个使用 applet 和 jsp 的上传器,因此上传后所有者是 tomcat,所以无法通过 php 访问它,我是说 apache。它出现错误。我在 php 中更改了 chown 并直接在 shell 中访问。我仍然无法通过 php 访问该目录。请检查我的图像。
答案1
将目录 chown 给 tomcat 用户和用户组(我假设它是 tomcat):
chown tomcat:tomcat /some/direcotry
然后设置setgid位以及读取和执行权限
chmod 2555 /some/directory
设置 setgid 位将导致在 /some/directory 内创建的所有新文件和目录继承“tomcat”的组所有权。
您需要授予现有文件的权限:
chown -R tomcat:tomcat /some/directory/
chmod 555 /some/directory/
请记住,我们使这些文件可供所有人读取和执行,以覆盖不属于 tomcat 组的 apache 用户。更好的解决方案是修改您的 apache 用户 / httpd.conf,使其属于 tomcat 组作为辅助组,并将权限修改为 2550 和 550,以防止系统上的任何人都可以读取和执行这些文件。
答案2
作为尝试使用该文件的用户,指向该文件的目录必须是可执行的,并且该文件必须是可读的。
如果您需要更多具体信息,请提供所有主要目录以及文件和 Apache 所运行用户的权限。