下面的问题与我对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运行,已经更改了用户,组和权限,但是仍然出现上述错误。我错过了哪一部分?
chcon
如果系统曾经重新标记,将无法生存或持久。所以,更好的利用semanage -fcontext
,然后restorecon