Instalei o pacote pure-ftpd (versão 1.0.35-1) em uma caixa do Ubuntu 12.04 (uma instância do EC2 baseada no padrão do Ubuntu 12.04 AMI).
O daemon do pure-ftpd está rodando (verificado com o ps), embora não exista nenhum arquivo PID (esperado para ser criado pelo script /etc/init.d/pure-ftpd).
Aqui está o comando resultante que é executado pelo script init.d:
/usr/sbin/pure-ftpd -l pam -O clf:/var/log/pure-ftpd/transfer.log -o -8 UTF-8 -u 1000 -E -B -g /var/run/pure-ftpd/pure-ftpd.pid
Aqui está o meu verdadeiro problema: o servidor ftp não está realmente escutando em nenhuma porta (verificado com netstat e nmap). Portanto, não posso fazer o ftp para o servidor (localmente usando localhost ou remotamente usando o endereço IP público).
Eu tentei adicionar um arquivo BIND a / etc / pure-ftpd / conf e reiniciar, mas isso não ajudou.
Quando instalei o pure-ftpd, ele substituiu o inetd pelo openbsd-inetd, mas não o executou, pois não havia serviços ativados. Então o inetd também não está escutando na porta 21. (Aparentemente, o Ubuntu tem uma política de não-inetd-por-padrão, de acordo com o link .) Eu quero rodar o pure-ftpd sozinho (não com o inetd), pois o script /etc/init.d/pure-ftpd não requer o inetd se você usar o recurso UploadScript.
Eu não estou familiarizado com a forma como o Ubuntu lida com os serviços de rede (e não consigo encontrar documentos relevantes além de man pages genéricos), então provavelmente estou perdendo algo óbvio. Nada parece fora do comum com /etc/hosts.allow (vazio) ou hosts.deny (vazio), e eu não adicionei nenhuma regra de firewall (iptables -L mostra que o firewall está em seu estado inicial). Eu chequei os docs do pure-ftpd; não tenho certeza do que mais olhar.
Qualquer ajuda seria apreciada, obrigado!
Atualização: Aqui está a saída do netstat:
$ sudo netstat -tulnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 629/sshd
tcp6 0 0 :::22 :::* LISTEN 629/sshd
udp 0 0 0.0.0.0:68 0.0.0.0:* 395/dhclient3
Atualização:
Eu posso iniciar o pure-ftpd se eu vinculá-lo a uma porta não privilegiada (por exemplo, > 1024).
Além disso, quando iniciei o pure-ftpd com log de depuração completo, vi o seguinte no syslog:
pure-ftpd: (? @localhost) [ERRO] altlog /var/log/pure-ftpd/transfer.log: Permissão negada
Observe que esse diretório é de propriedade de root.
Isso sugere para mim que, embora o pure-ftpd esteja rodando como root (de acordo com 'ps aux'), ele não tem permissões de root que precisaria gravar em diretórios de propriedade de root ou vincular-se a privilégios. portas. Alguém sabe o que pode estar acontecendo aqui?
Tags ftp