使目录在/ var / www / html上可写(Centos 7)


0

下面的问题与我对Stack Overflow的问题有关

当我在特定目录上生成图像时出现以下错误:

imagejpeg(/var/www/html/assets/files/captcha/1465029891.5357.jpg): failed to open stream: Permission denied

我想使该目录可写,并且我在下面一直使用此命令使该目录可写,但是完全没有影响。

chown -R apache:apache /var/www/html/assets/files/captcha
chmod 755 /var/www/html/assets/files/captcha

下面是我运行时ps -aux|grep -i httpd

root     30846  0.0  0.1 423604 17476 ?        Ss   15:43   0:00 /usr/sbin/httpd -DFOREGROUND
apache   30848  0.0  0.1 424024 12892 ?        S    15:43   0:00 /usr/sbin/httpd -DFOREGROUND
apache   30849  0.0  0.0 423736 10032 ?        S    15:43   0:00 /usr/sbin/httpd -DFOREGROUND
apache   30850  0.0  0.0 423912 11680 ?        S    15:43   0:00 /usr/sbin/httpd -DFOREGROUND
apache   30851  0.0  0.0 423736  9280 ?        S    15:43   0:00 /usr/sbin/httpd -DFOREGROUND
apache   30852  0.0  0.0 423736  9276 ?        S    15:43   0:00 /usr/sbin/httpd -DFOREGROUND
apache   30854  0.0  0.0 423736  9268 ?        S    15:44   0:00 /usr/sbin/httpd -DFOREGROUND
apache   30855  0.0  0.0 423736  9032 ?        S    15:44   0:00 /usr/sbin/httpd -DFOREGROUND
apache   30856  0.0  0.0 423736  9032 ?        S    15:44   0:00 /usr/sbin/httpd -DFOREGROUND
root     30860  0.0  0.0 112648   988 pts/1    S+   15:51   0:00 grep --color=auto -i httpd

我已经检查了服务器,该服务器由Apache运行,已经更改了用户,组和权限,但是仍然出现上述错误。我错过了哪一部分?

Answers:


0

我已经找到有关该问题的线索,因为我使用的是CentOS 7,因此有一些安全性调用SE Linux(安全性增强Linux),它是Centos的隐藏防火墙。

我正在关注本文,我的验证码可以正常工作,因为它们可以写入特定目录。

https://blog.lysender.com/2015/07/centos-7-selinux-php-apache-cannot-writeaccess-file-no-matter-what/

----更新----

sudo chown apache:apache -R / data / www / html / sites / mysite cd / data / www / html / sites / mysite

找 。-type f -exec chmod 0644 {} \;

找 。-type d -exec chmod 0755 {} \;

须藤chcon -t httpd_sys_content_t / data / www / html / sites / mysite -R

sudo chcon -t httpd_sys_rw_content_t / data / www / html / sites / mysite / logs -R sudo chcon -t httpd_sys_rw_content_t / data / www / html / sites / mysite / uploads -R


chcon如果系统曾经重新标记,将无法生存或持久。所以,更好的利用semanage -fcontext,然后restorecon
双关语

所以它不是永久性的吗?,目前正在运行,我希望它仍然可以运行...
Amir Rachman

是的,通过chcon进行的更改不是永久性的,并且在重新标记系统或运行restorecon命令时丢失。进一步阅读并更新您的答案,以便它提供更准确和可靠的信息
双关语2016年

1
通常,最好使帖子独立。链接断开,在这种情况下,您的答案只是一个提示。在帖子中包含基本信息,并使用链接作为参考。 来自低质量帖子审阅队列
fixer1234年
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.