PHP mkdir()权限被拒绝


0

我已经使用Centos 5.6,Apache 2.2.19和PHP 5.2.17进行了服务器设置。suPHP正在处理PHP。

在全局php.ini中
safe_mode = off
open_basedir = none

Apache设置为nobody按suPHP配置运行。

我有两个域的设置在:
/home/user1/public_html/home/user2/public_html

两个public_html目录的权限均为0750,组为nobody

每个用户目录中的所有文件/目录均归该用户所有,并且也将组设置为该用户。

我正在运行一个脚本,/home/user1/public_html/scripts/functions.php试图在其中创建目录/home/user2/public_html/user_files(将chmod权限设置为0757),但是却出现了权限拒绝错误...

我以为这是因为PHP正在以方式运行nobody,但是我不确定要进行哪些更改才能使每个用户文件夹中的脚本写入其他用户的文件夹中,除非我通过以下方式使该用户文件夹可写:听起来不太安全的任何人...

有人知道我要去哪里错吗?

编辑:

drwx--x--x    root.root      /home  
drwx-wx--x    user2.user2    /home/user2
drwxrwx---    user2.nobody   /home/user2/public_html 
drwxrwxrwx    user2.nobody   /home/user2/public_html/user_files

Answers:


1

该目录/home/user2/public_html/user_files归所有者所有,xxx:nobody并带有权限757,对吗?
757表示任何人均可对其进行读取/访问,但仅将访问权限授予不属于group的用户nobody。因此,如果您仅更改此目录的组,或者将权限更改为,则可能会解决您的问题775。由于775所有者和组具有写许可权,因此他们可以在其中创建其他文件/目录,但没有其他人可以写入此目录。


我将在上面添加完整权限。
乔恩

1

我在F15上遇到过类似的问题,而SELinux是我的罪魁祸首。尝试:

chcon -R -h -t http_sys_rw_content_t /home/user2/public_html/user_files

在希望Apache具有R / W访问权限的任何其他目录上使用相同的命令。如果可行,请使用semanage使上下文更改在重新启动后永久生效。


服务器已安装cPanel和WHM-您是否知道除了此以外是否还需要更改cPanel / WHM中的任何内容?
乔恩

此外,SELinux的是禁用...
乔恩

0

最后,我创建了一个包含user1和user2的新组,只是更改了相关文件夹上的组所有权以允许跨文件夹写入。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.