Neste artigo estarei ensinando como instalar e configurar um servidor de FTP, o mais usado para transferência de arquivos na internet.
Imagine você poder ir em um cliente e não precisar levar CDs, disquetes, somente acessar os arquivos pelo navegador (ftp://ip) e copiá-los para a máquina do cliente, ou então imagine você no seu trabalho e querer transferir alguns arquivos para poder trabalhar em casa, pode ser pesado e não caber no seu e-mail ou no seu pen, Enfim, o FTP entrará em ação.
Baixando e instalando o aplicativo FTP
FTP --> File Transfer Protocol (Protocolo de Transferência de Arquivos), melhor forma de se transferir ou compartilhar arquivos.
Existem alguns tipos de servidores de ftp no Linux, dentre eles estão:
proftpd
wu-ftp
vsftpd
Neste artigo usarei o proftpd , bastante simples de se implementar e de configurar.
Bem, vamos a luta. Estarei usando os repositórios do Debian, portanto:
# apt-get install proftpd
Mas se você está usando outra distribuição como Fedora/Red Hat, acredito que resolva com um simples:
# yum install proftpd
ou # yum search proftpd
Mas para aqueles que querem fazer na mão ou não usam nenhuma distribuição com repositórios, então:
[1] Comentário enviado por monsores em 06/04/2007 - 10:06h
Boa iniciativa a sua de explicar mais de uma forma de obter o pacote (apt, yum e fontes). É sempre bom ver um artigo que não fixe em apenas uma.
O restante do artigo também ficou muito bom, simples e direto.
[2] Comentário enviado por luiscarlos em 06/04/2007 - 13:47h
blz abelardo? bom artigo amigaum, eu tenho o proftpd instalado e configurado certinho, de dentro da minha rede ele conecta e faço as transferências de arquivo sem problemas, mas de fora ele conecta mas nao permite listar os arquivos, nao é problema de permissão nao por que já deixei ate 777 no diretorio e arquivos e nada, veja o log
--------------------------------------------
Apr 6 13:21:42 luis proftpd[2962]: luis (::ffff:200.138.21.120[::ffff:200.138.21.120]) - FTP session opened.
Apr 6 13:21:42 luis proftpd(pam_unix)[2962]: session opened for user convidado by (uid=0)
Apr 6 13:23:55 luis Error sending status request (Operation not permitted)
-------------------------------------------------
jah desabilitei o selinux, carreguei os modulos ip_conntrack_ftp e ip_nat_ftp, ja tentei usar PassivePorts no servidor e tmb tentei usar sem o passive ports
220 Server ready.
USER luis
331 Password required for luis.
PASS (password not shown)
230 User luis logged in.
PWD
257 "/" is current directory.
TYPE A
200 Type set to A
PASV
227 Entering Passive Mode (192,168,200,2,128,65).
LIST
mas nada funciona, conecta mas nao faz nada , no maximo um pwd pra dizer que vc estah na raiz mas é só.
será que vc pode me dar uma luz do que pode ser, acredito que a maquina nao esteja permitindo a saida de alguma cois, mas nao consigo saber como liberar sendo que meu firewall estah com OUTPUT ACCEPT e todas as permissoes setadas para permitir tudo.
[3] Comentário enviado por demattos em 07/04/2007 - 10:24h
Bom dia
Amigos muito bom o artigo, nao podia deixar de comentar sobre um detalhe que me fez penar um bucado com servidor FTP, Quando se configura em modo passivo as portas q estao do servidor precisao estar abretas, a 21, 20 e portas altas, tive q liberar um range de portas para poder funcionar, ok, em agumas operadoras as posrtas 21 estao bloquedos e assim liberae a porta 2121 ok desta forma podera funcionar
[5] Comentário enviado por Iron Fist em 07/04/2007 - 17:20h
Olá pessoal, estou com uma dúvida, é o seguinte. Eu configurei o meuservidor ftp, mas ele não está aceitando conexões, se for pelo Browser, ele fica sempre pedindo a senha, se for pelo Linux, com o comando ftp ele fala Login Failed. Não estou entendendo o que está acontecendo pois em outro servidor que fiz a instalação do aplicativo (no Suse 9.3 deu certo) e neste que é o Slackware 11.0 tá dando errado.
Vou postar a configuração:
ServerName "Slackware.DBINFOR"
#ServerType inetd
ServerType standalone
DefaultServer on
# Set the user and group under which the server will run.
User nobody
Group nogroup
# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
DefaultRoot ~
# Normally, we want files to be overwriteable.
AllowOverwrite on
# Bar use of SITE CHMOD by default
<Limit SITE_CHMOD>
DenyAll
</Limit>
# A basic anonymous configuration, no upload directories. If you do not
# want anonymous users, simply delete this entire <Anonymous> section.
<Anonymous />
User ftp
Group ftp
AnonRequirePassword off
# We want clients to be able to login with "anonymous" as well as "ftp"
UserAlias anonymous ftp
# Limit the maximum number of anonymous logins
MaxClients 1
# We want 'welcome.msg' displayed at login, and '.message' displayed
# in each newly chdired directory.
DisplayLogin welcome.msg
DisplayFirstChdir .message
# Limit WRITE everywhere in the anonymous chroot
<Limit LOGIN>
AllowAll
</Limit>
E outra, no AnonRequirePassword, se eu logar como anônimo, ele também me pede a senha. Não estou entendendo...
Por favor, se puderem me ajudem por favor.
Desde já agradeço.
[6] Comentário enviado por abelardo em 08/04/2007 - 09:36h
sulfn0bk07 ok, nem tinha reparado nisso, vlw!!!!
Iron Fist ,cara tenta acessar o ftp por um programa client sem ser o internet explorer, e se continuar dando erro, pega o meu conf ai do proftp e joga dento do teu e tenta rodar ok? vlw!!!
[7] Comentário enviado por Iron Fist em 08/04/2007 - 11:25h
Abelardo, obrigado pela dica, só que antes de olhar isto eu meio que consegui arrumar. Estranho, eu recompilei o programa e deu certo. nem precisei mexer no conf, e é o mesmo conf que postei. ô loco meu!
Muito obrigado pela ajuda!
Abs.
[11] Comentário enviado por coyotty em 14/05/2007 - 16:54h
boa tarde, muito bom artigo, so estou tendo problemas na hora de conectar via browser, digito o nome de usuairo e senha, mais ele nao passa, fica pedindo a senha. Ja copiei o script e sobesvrevi mais nao adiantou.
Se alguem puder me ajudar , agradeço desde já, obrigado
[13] Comentário enviado por demattos em 27/06/2007 - 20:03h
boa noite, bom e o seguinte a pergunta do nosso amigo coyotty, da uma olhada no seu firewall nao esquesendo q o FTP nao usa so as portas 21 ele usas outras posrtas para comunicacao, a 21 e so para conectar, ja o nosso amigo s3nlck vc pode colocar o grupo q vc querer so nao se esqueca de colocar o diretorio ao qual vai disponibilizar para o ftp esteja tambem no mesmo grupo
[15] Comentário enviado por gabrielvivian em 30/08/2007 - 10:05h
cara dei o comando usermod -s /bin/false abelardo
e deu certo o usuario n teve mais acesso ssh
mas deu um pequeno problema
o acesso ftp dele tb paro
como posso faze pra resolve isso
abraco teh +
[16] Comentário enviado por carlosrfjunior em 03/10/2007 - 17:24h
Olá alguém poderia me ajudar?
Instalei o ProFTPD e está dando o seguinte erro:
IPv4 getaddrinfo 'Meu Servidor' error: Name or Service not known
- warning - unable to determine IP Address of 'Meu Servvidor'
- no Valid servers configured
Dá o mesmo erro com IPv6 ativo.
[17] Comentário enviado por carlinhos1981 em 08/10/2007 - 10:09h
Ficou ótimo seu artigo!!
Fiz os testes na rede interna e funcionou, mas, quando tento acessar de fora da minha rede, através da internet, ele chega a pedir a tela de login, mas não aceita o login.
Já liberei tudo no firewall, mas, nada, o que me intriga é que ele chega a pedir o login, dá como se o usuário fosse inexistente, porém, quando tento acessar de dentro da minha rede com este mesmo usuário ele loga normal.
Gostaria de saber se tem alguma solução para este caso...
Agradeço a atenção
[18] Comentário enviado por sixty em 27/10/2007 - 08:43h
Olá amigo, instalei o proftp como servidor de arquivo e coloquei cinco usuários da empresa para acessar. Mas todos usuaŕios tem acesso a todos diretórios do sistema, como faço para esses usuários acessarem somente o diretório de seus home? Obrigado desde já.
[19] Comentário enviado por gabrielvivian em 27/10/2007 - 13:58h
Cara instala o ProFTPD com autenticação via MySQL
Dai vai ficar mais facil de controla as pastas que os usuarios podem acessar, instalaei com autenticação via MySQL aqui na empresa e o pessoal acho show de bola
[24] Comentário enviado por medim em 05/03/2008 - 17:38h
boa tarde!
Tenho um problema.
Criei um usuário que faz parte de um grupo de um dominio qualquer por exemplo: casa e detro de casa tem o usuário joao.
Então! Coloquei um aquivo que fiz em word na área do usuário jose.
mas, quando tento abrir direto da área do jose da erro "Ação Cancelada".
Alguém sabe o que pode estar ocorrendo e como resolver isso?
[27] Comentário enviado por danielcamargodf em 21/04/2008 - 15:49h
Meu problema é que não estou conseguindo acessar o FTP com usuário. Este usuário foi criado no linux e adcionanda sua respectiva senha... Já tentei no client em windows e no explorer, no explorer fica pedindo senha toda hora e no client nem acessa.
[31] Comentário enviado por henrique_tv em 02/03/2009 - 15:02h
Olá.
Comecei recentemente a testar o linux e apareceu uma necessidade aqui na empresa de instalar um servidor FTP. Em uma máquina virtual do meu próprio PC, instalei o Fedora 10. Segui o procedimento para instalar o Servidor de FTP e aparentemente ele foi instalado. Quando tento dar um telnet do proprio servidor para a porta 21, tenho resposta com sucesso. No entando, quando tento dar um telnet de uma máquina da rede para o servidor de FTP na porta 21, ele simplesmente não responde. Alguém poderia me dar uma ajuda?
[32] Comentário enviado por carlosrfjunior em 02/03/2009 - 15:46h
Boa Tarde, Henrique!
Verifique se sua a rede está configurada corretamente use comando
ifconfig -a, veja se a placa eth0 está configurada de acordo com a sua rede. Estando ok,
digite netstat -nltp e veja em que ip a porta 21 subiu. Outra possibilidade é o arquivo /etc/hosts não está configurado corretamente ele normalmente fica configuarado com ip 127.0.0.1 para todos os ip, estando nessa possibilidade mude para:
[33] Comentário enviado por henrique_tv em 03/03/2009 - 10:52h
Olá Carlos.
Então, quando digito o comando netstat -nltp me retorna o seguinte em relação ao proftpd:
2127/proftpd: 0.0.0.0:21
Fiz as alterações que você pediu no hosts, só que ainda não consigo me comunicar via telnet com o linux. O ping responde normalmente.
Algum outra sugestão?
[34] Comentário enviado por henrique_tv em 03/03/2009 - 12:10h
Seguinte, refiz todo o meu proftpd.conf
Está praticamente igual ao proftpd sugerido no tópico, fiz apenas alterações de nome do server.
Quando rodo o comando netstat -nltp ele me traz o seguinte no local adrees do proftpd
: : :21
Não sei tem alguma relação, mas quando ligo a máquina virtual a primeira coisa que faço é rodar o comando ifconfig eth0 172.28.184.71 netmask 255.255.255.0 senão ele acaba pegando via dhcp o Ip de uma impressora na rede.
[35] Comentário enviado por renan.carlos em 08/05/2009 - 16:40h
Meu amigo, gostei muito do seu tutorial testei aqui e funcionou de primeira. Só tive um problema aqui com relação a bloquear o usuário para acesso remoto e depois ele não consegue mais acessar o ftp, a "solução" que achei até o momento foi apagar o usuário e criar-lo novamente, mais enfim minha grande dúvida não é essa.
Gostaria de saber como faço para ter acesso ao meu servidor ftp via internet porque até o momento está funcionando somente na rede interna gostaria da ajuda do amigos.
[37] Comentário enviado por tedcosta em 01/09/2009 - 12:29h
abelardo,
Primeiro gostaria de parabenizar pelo excelnte artigo, porem estou com um problema, todos os usuários criados esta dando senha invalida.. teria alguma dica?
220 FTP Server ready.
500 AUTH not understood
500 AUTH not understood
KERBEROS_V4 rejected as an authentication type
[38] Comentário enviado por adsuporte em 15/03/2010 - 10:42h
Bom dia, parabéns pelo artigo, muito bom!!!
Estou com um probleminha aqui no meu ftp, eu fiz a configuração igualzinha como estava no artigo, inclusive funcionou tudo certo, porem depois que eu dei o comando para bloquear o ssh não condigo mais logar no ftp, meu linux pé o Ubuntu 9.10.
[39] Comentário enviado por ricardoluizv em 18/06/2010 - 15:02h
Eu configurei um servidor FTP ubunto utilizando o proftpd... até aí tudo bém, o problema é quando eu faço um upload para a pasta que eu liberei o acesso, da acesso recusado erro 550.
configure: WARNING: you should use --build, --host, --target
configure: WARNING: invalid host type: /etc
configure: WARNING: you should use --build, --host, --target
configure: WARNING: invalid host type: /usr/local
configure: error: expected an absolute directory name for --sysconfdir:
[eduardo@skycatcher proftpd-1.3.4d]$ ./configure --sysconfdir= /etc --prefix= /usr/local
configure: WARNING: you should use --build, --host, --target
configure: WARNING: invalid host type: /etc
configure: WARNING: you should use --build, --host, --target
configure: WARNING: invalid host type: /usr/local
configure: error: expected an absolute directory name for --sysconfdir:
Tem como você me ajudar com esse problema? Sou ainda novato no Linux, tentando pegar um pouco de experiência.
Usando CentOS(servidor) remotamente.
Desde já agradeço.