Apache在html文件夹上没有写入权限。

4
我在CentOS 7中安装了apache,MySQL和PHP。所有服务都正常工作,但是apache无法在html文件夹中写入文件。我使用file_put_contents时发现了这个问题。我尝试了以下方法:
1.将/var/www的owner更改为apache:apache,但不起作用。
2.在httpd.conf中, 对 添加 "Order allow,deny" "Allow from all", 重新启动httpd服务,但也不起作用。
3.chmod -R 0777 /var/www/html,也不起作用。
我的服务器有什么问题?请帮助我! 更新1:运行ls -al /var/www/html的结果如下:
total 40
drwxrwxrwx.  5 apache apache 4096 Sep 23 10:19 .
drwxr-x---.  4 apache apache   31 Sep 18 01:50 ..
drwxrwxrwx. 15 apache apache 4096 Sep 23 08:43 folder1
drwxrwxrwx+ 10 apache apache 4096 Sep 23 10:19 folder2
-rwxrwxrwx.  1 apache apache 1574 Sep  5 08:55 favicon.ico
-rwxrwxrwx.  1 apache apache  603 Sep 22 05:05 .htaccess
-rwxrwxrwx.  1 apache apache 9841 Sep  8 08:34 index.php
drwxrwxrwx.  8 apache apache 4096 Sep 23 08:44 folder3

更新2: Apache error_log (我改变了所有的IP地址) - 编辑后,更换新的error_log,在停止httpd之后备份error_log,再启动httpd

[Thu Sep 24 07:06:47.540295 2015] [core:notice] [pid 14439] SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0
[Thu Sep 24 07:06:47.541787 2015] [suexec:notice] [pid 14439] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Thu Sep 24 07:06:47.569389 2015] [so:warn] [pid 14439] AH01574: module rewrite_module is already loaded, skipping
[Thu Sep 24 07:06:47.572287 2015] [auth_digest:notice] [pid 14439] AH01757: generating secret for digest authentication ...
[Thu Sep 24 07:06:47.573315 2015] [lbmethod_heartbeat:notice] [pid 14439] AH02282: No slotmem from mod_heartmonitor
[Thu Sep 24 07:06:47.600913 2015] [mpm_prefork:notice] [pid 14439] AH00163: Apache/2.4.6 (CentOS) PHP/5.4.16 configured -- resuming normal operations
[Thu Sep 24 07:06:47.600943 2015] [core:notice] [pid 14439] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'

1
如果您想得到一个有效的答案,请提供ls -l /var/www/html命令、代码和错误信息。 - Devon
1
执行 chmod 0777drwxrwxrwx. 15 apache apache 4096 Sep 23 08:43 folder1 drwxrwxrwx+ 10 apache apache 4096 Sep 23 10:19 folder2 -rwxrwxrwx. 1 apache apache 1574 Sep 5 08:55 favicon.ico -rwxrwxrwx. 1 apache apache 9841 Sep 8 08:34 index.php drwxrwxrwx. 8 apache apache 4096 Sep 23 08:44 folder3 - Nghi Ho
@blueqn,你能发布一下这段代码的输出吗?<?php system("whoami"); die(); ?> - Joaquín O
@blueqn 另外,你能发一下调用 put_file_contents() 函数的 PHP 代码行吗?谢谢。 - Joaquín O
3个回答

6

1
给定的链接已经失效。在这里包含答案会更好。 - ryadavalli
寻找损坏链接内容的人:https://web.archive.org/web/20210514095604/http://blog.lysender.com/2015/07/centos-7-selinux-php-apache-cannot-writeaccess-file-no-matter-what/ - cbierman

1

访问a.txt文件的权限问题

警告:file_put_contents(a.txt):无法打开流:在/var/www/html/index.php的第2行被拒绝许可


只需在 /var/www/html 路径上键入以下命令并提供结果:ls -lZ - MenukZ
drwxrwxrwx。apache apache unconfined_u:object_r:httpd_sys_content_t:s0 folder1 drwxrwxrwx + apache apache unconfined_u:object_r:httpd_sys_content_t:s0 folder2 -rwxrwxrwx。apache apache unconfined_u:object_r:httpd_sys_content_t:s0 favicon.ico -rwxrwxrwx。apache apache unconfined_u:object_r:httpd_sys_content_t:s0 index.php drwxrwxrwx。apache apache unconfined_u:object_r:httpd_sys_content_t:s0 folder3 - Nghi Ho
你把a.txt文件放在哪里了?它有权限吗? - MenukZ
你启用了ACL吗? ACL教程 - MenukZ
你看完我发给你的教程了吗? - MenukZ
显示剩余24条评论

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接