Após cerca de 3 horas, acho que descobri por que não está funcionando.
O contexto public_content_t
do Selinux é necessário para arquivos compartilhados por meio de um servidor FTP, a menos que esteja associado a um diretório inicial do usuário e pareça que /var/ftp/pub
não se qualifica para o diretório inicial.
Depois de montar o arquivo ISO, o contexto de segurança do rhel mudou para system_u:object_r:iso9660_t:s0
e também porque o arquivo ISO só pode ser montado como somente leitura, não consegui alterar o contexto de segurança.
Também notado em /var/log/audit/audit.log
type=AVC msg=audit(1404397698.292:182): avc: denied { getattr } for pid=2671 comm="vsftpd" path="/pub/ISO/rhel" dev=loop1 ino=1856 scontext=unconfined_u:system_r:ftpd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:iso9660_t:s0 tclass=dir
Desativado selinux e reiniciado vsftpd, tudo funcionando bem.