O problema não está relacionado às permissões do sistema de arquivos, mas parece ser o selinux que bloqueia o acesso de gravação à pasta de upload.
Primeiro defina o selinux para o modo permissivo. Para fazer isso, execute como root:
setenforce 0
Em seguida, verifique se o comando foi aplicado corretamente executando abaixo de qual retorno Permissive
:
getenforce
Agora deve ser possível fazer upload de um arquivo para a pasta de upload local. Uma vez que você tenha concluído, verifique o log do selinux em busca de erros. O arquivo de log está localizado em /var/log/audit/audit.log.
O mais provável é que o contexto de segurança da sua pasta de upload esteja errado. Verifique a saída de:
ls --context
Você precisa ter certeza de que tem o contexto de segurança correto na pasta de uploads. A pasta deve ter o contexto httpd_sys_rw_content_t
para permitir que o servidor da web seja gravado nesse diretório.