这可能是一个愚蠢的问题,但是我无法使Apache写入我的项目文件夹/var/www/html/myproject
。以下是文件夹权限:
drwxr-xr-x. 9 shira shira 4096 Nov 9 10:15 .
drwxr-xr-x. 3 root root 4096 Oct 3 15:59 ..
drwxr-xr-x. 14 shira shira 4096 Jan 16 2019 application
drwxr-xr-x. 10 shira shira 4096 Oct 7 15:50 assets
drwxr-xr-x. 2 shira shira 4096 Aug 1 15:49 css
-rw-r--r--. 1 shira shira 177 Nov 23 2017 .htaccess
-rw-r--r--. 1 shira shira 10255 Jan 16 2019 index.php
drwxr-xr-x. 3 shira shira 4096 Aug 1 15:49 js
drwxr-xr-x. 8 shira shira 4096 Jan 16 2019 system
drwxrwxr-x. 3 apache apache 4096 Aug 9 15:10 upload
drwxr-xr-x. 14 shira shira 4096 Jan 16 2019 user_guide
请注意,已经上传了已经拥有文件夹所有者的775文件夹,但是codeigniter仍然返回The upload destination folder does not appear to be writable
。 Apache应该正在运行httpd.conf中定义的apache:apache。我已经尝试过更改为777,但仍然会返回相同的错误。
答案 0 :(得分:0)
如果您要检查httpd / apache是否对SELINUX阻止的文件/文件夹具有写访问权限...
您可以使用ls -Z /var/www/html/myproject/
请勿进行渗透777,因为这很不好。您可以使用
进行修复# Fixing file permissions, recursive
find . -type f -exec chmod 0644 {} \;
# Fixing directory permissions, recursive
find . -type d -exec chmod 0755 {} \;
回到主要问题,您需要提供(还原)默认的SELinux上下文并仅允许写入特定文件夹:
sudo restorecon /var/www/html/myproject/upload -R
sudo chcon -t httpd_sys_rw_content_t /var/www/html/myproject/upload -R