Descobri como resolvê-lo, não de maneira elegante:
- altere o grupo principal "usuário" para "www-data"
- altere /etc/vsftpd.conf e ~. / bashrc, adicione local_mask = 002 ao primeiro e umask = 002 ao último
Agora, quando eu enviei um arquivo, por padrão ele tinha permissão rw-rw-r-, se é uma pasta rwxrwxr--, o proprietário é "usuário" e o grupo é "www-data" e o PHP está em execução com identidade "www-data", para que ele possa excluir todos os arquivos e pastas enviados pelo ftp.