Quando eu experimentei isso, foi por causa do SELinux atrapalhando.
Para testar se esse é o seu problema, basta desativar - ou alterar para não aplicar - o software SELinux.
Para isso, edite /etc/selinux/config e defina SELINUX como permissive ou disabled . Se for alterado para permissivo, reinicie o SELinux com systemctl status selinux.service. Se desativá-lo, você pode usar apenas systemctl stop selinux.service em vez de desativá-lo.
Uma vez que você descubra se é SELinux, você pode decidir abandonar o SELinux (caso em que você pode executar systemctl disable selinux.service para evitar que ele seja ligado novamente (além de alterar o valor de SELINUX em /etc/selinux/config Ou você pode manter o SELinux e aprender como atualizar as permissões do arquivo apropriadamente (que é um exercício além do escopo desta resposta).