Depois de ver a outra resposta e comentários, pode ser que o vsftp não queira rodar como root (porque é muito seguro, ftp: -)).
Minha lembrança é que ele quer rodar como o usuário ftp (ou é como eu me lembro de configurá-lo).
Estou executando o Arch Linux com o kernel 2.6.35-ec2. Eu tenho a versão mais recente do VSFTPD instalado e funcionando. Aqui está o seu arquivo de log:
anonymous_enable=YES
local_enable=YES
write_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
Esta não é a minha configuração final, mas é o que eu reduzi para fazê-la funcionar.
O servidor está no Amazon EC2 e as portas 20 e 21 estão abertas para ele. Não há outro firewall ativado.
Eu tento conectar no OSX com /usr/bin/ftp
e com o cliente Transmit
. O primeiro trava há muito tempo e eventualmente diz que a conexão expirou. O último leva apenas cerca de dez segundos para dizer que a conexão expirou. Eu tentei especificar as portas 20 e 21.
Não há nada nos arquivos de log normais do Arch Linux, como auth.log e everything.log. /var/log/vsftpd.log
nem existe.
Alguém pode me ajudar a descobrir por onde começar? O wiki do Arch Linux e a outra leitura que eu fiz sugerem que este é um servidor FTP padrão de fato.
Depois de ver a outra resposta e comentários, pode ser que o vsftp não queira rodar como root (porque é muito seguro, ftp: -)).
Minha lembrança é que ele quer rodar como o usuário ftp (ou é como eu me lembro de configurá-lo).
Existem dois modos de FTP - modo de porta e modo passivo. A diferença é como o servidor tenta configurar a conexão de dados (a conexão inicial é a conexão de comando para a qual você envia comandos para o servidor e a conexão de dados é uma conexão secundária usada para transferir os arquivos).
Modo de Porta é onde o servidor tentará se conectar à porta 20 no cliente . Portanto, esta é uma conexão de entrada do servidor para o cliente. Para que isso funcione, você precisaria da porta 20 aberta no final do cliente e do encaminhamento para o originador da sessão ftp. Isso geralmente não é viável em um ambiente que não é de empresa para empresa.
Modo passivo é onde o servidor abre uma porta secundária para si própria, além da porta 21. Essa porta é negociada durante a parte de transferência da sessão e instrui o cliente para a conexão em uma porta acima 1024 para baixar ou fazer upload dos dados. Este modo é muito mais adequado para as transações do servidor cliente, onde os dispositivos NAT estão no meio.
Para que isso funcione, o firewall que protege o servidor deve permitir conexões na porta passiva. Com muitos firewalls, eles são compatíveis com ftp e observam a porta negociada e permitem a conexão. No entanto, isso nem sempre é viável e, portanto, o intervalo deve ser aberto manualmente.
A melhor maneira de configurar isso é definir um intervalo de portas na configuração vsftpd:
pasv_min_port = 31000
pasv_max_port = 32000
Depois, você pode abrir o intervalo definido na configuração do firewall e instruir o seu cliente ftp a usar o modo passivo. Isso é feito com o comando pasv
para alguns clientes da linha de comando ou nas configurações do servidor para um cliente da GUI.
/etc/hosts.allow|deny
Esses dois arquivos fornecem um controle abrangente sobre o que pode se conectar ao servidor. Por favor, certifique-se de que ambos estejam presentes e hosts.deny
especificamente não deve ter quaisquer declarações negativas.
Tags ftp vsftpd linux arch-linux