Nenhuma dessas soluções funcionou para mim. Eu até tenho o SELinux desabilitado, então essa não foi a causa e o arquivo de configuração do vsftpd é 100% perfeito, porque service vstfpd start
funciona instantaneamente, mas não seria iniciado na inicialização.
Minha solução final foi este script bash que é executado com o cron checando continuamente o serviço e funciona perfeitamente agora e inicia o vsftp na inicialização, verificando e vendo o serviço morto e, em seguida, iniciando-o.
#!/bin/bash
service=vsftpd
if (( $(ps -ef | grep -v grep | grep $service | wc -l) > 0 ))
then
echo "$service is running!!!"
else
service vsftpd start
fi
E então meu cron é
* * * * * sudo /usr/sbin/startvsftpd.sh