Instalando e configurando um servidor FTP

Nesse artigo veremos como instalar e configurar um servidor de FTP, serviço essencial para quem trabalha com transferências de arquivos.

[ Hits: 607.902 ]

Por: Abel em 05/04/2007


Introdução



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:
Baixe a versão mais recente. No meu caso foi a proftpd-1.2.8.tar.gz.

Vamos descompactá-lo:

$ tar zxvf proftpd-1.2.8.tar.gz

Entre na pasta que foi criada:

$ cd proftpd-1.2.8

Vamos compilar:

$ ./configure --sysconfdir=/etc --prefix=/usr/local/
$ make


E logo em seguida:

# make install

    Próxima página

Páginas do artigo
   1. Introdução
   2. Configurando o proftpd
   3. Criando usuário e acessando pelo cliente ftp
   4. Bloqueando usuário e fazendo a segurança do seu servidor
Outros artigos deste autor

Instalando e configurando um servidor Jabber

Leitura recomendada

Otimizando seu web server com Apache2 + Lighttpd

Virtualização para servidores com VirtualBox

Instalando o modem Onda MSA110UP em distribuições Linux que utilizam o NetworkManager

Driver ATI (proprietário) no kernel 2.6.29 e posteriores

Configurando o CACIC (parte 4)

  
Comentários
[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

ok
t+

[4] Comentário enviado por uiliangurjon em 07/04/2007 - 12:56h

Caro amigo, encontrei um problema de digitação no artigo que provavelmente irá gerar um erro ao iniciar o serviço, esta na linha

#Máximo de usuários autenticados
MaxClientesPerHost 4 ''Mensagem de erro para usuário''

Correção

#Máximo de usuários autenticados
MaxClientsPerHost 4 ''Mensagem de erro para usuário''

Existe um e a mais em Clients

Muito bom seu artigo, parabens

[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

Port 21

Umask 011
SystemLog /var/log/proftpd.log
MaxInstances 20

# 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>

<Limit WRITE>
#DenyAll
AllowAll
</Limit>
</Anonymous>

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.

[8] Comentário enviado por fernandoamador em 08/04/2007 - 23:37h

Ótimo artgo...

[9] Comentário enviado por fernandoamador em 09/04/2007 - 23:20h

ótimo artigo...

[10] Comentário enviado por removido em 11/04/2007 - 18:42h

Parabens pelo artigo.

[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

[12] Comentário enviado por s3n1ck em 27/06/2007 - 15:42h

proftpd - Fatal: User: missing arguments on line 49 of '/etc/proftpd/proftpd.conf'

On line 49 is

48- #Usuário sob qual o servidor irá rodar
49- User
50- nobody
51- #Grupo
52- Group nogroup


Nao Estou Entendendo Isso


[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


fui

t+

[14] Comentário enviado por TSM em 03/08/2007 - 20:24h

Muito bom seu artigo, parabéns.

Um abraço.

[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

[20] Comentário enviado por gpr.ppg.br em 17/12/2007 - 17:14h

o meu proftp travaVA o dreamweaver

agora resolvi dando permissões de pastas.


[21] Comentário enviado por srf em 19/12/2007 - 15:09h

Este é a conf. do Proftpd.conf:

ServerName "ProFTPD server"
ServerIdent on "FTP Server ready."
ServerAdmin root@localhost
ServerType standalone
DefaultServer on
AccessGrantMsg "User %u logged in."
DeferWelcome off
DefaultRoot ~ !adm
AuthPAMConfig proftpd
AuthOrder mod_auth_pam.c* mod_auth_unix.c
IdentLookups off
UseReverseDNS off
Port 21
Umask 022
ListOptions "-a"
AllowRetrieveRestart on
AllowStoreRestart on
MaxInstances 20
User nobody
Group nobody
UseSendfile no
UseFtpUsers off
ScoreboardFile /var/run/proftpd.score
<Global>
AllowOverwrite yes
<Limit ALL SITE_CHMOD>
AllowAll
</Limit>
</Global>
LogFormat default "%h %l %u %t \"%r\" %s %b"
LogFormat auth "%v [%P] %h %t \"%r\" %s"

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...

Qualquer ajuda é bem vinda!

[22] Comentário enviado por jdnva em 10/01/2008 - 20:06h

o meu proftpd.conf so tava diferente um pouco desse ai mais sem misterio
vlw
flw

[23] Comentário enviado por Adriano Macario em 16/01/2008 - 15:34h

Excelente artigo cara...me ajudou bastante!!!Vlw

[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?

obrigado.
aguardo resposta...

[25] Comentário enviado por leowalker em 11/03/2008 - 10:53h

Cara excelente artigo, acabei de configurar e esta rodando numa boa...
Posso permitir upload dos usuarios criados para a sua pasta home?

[26] Comentário enviado por leowalker em 11/03/2008 - 11:25h

cara como eu faço para o usuario poder postar arquivos dentro de suas pastas home...?

[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.

[28] Comentário enviado por ss-baldocchi em 04/09/2008 - 12:28h

Muito bom artigo! Configurei e deu tudo certo!
Para resolver o problema de lista: "PORT COMMAND 500"
Experimente isso:

http://www.guiadohardware.net/comunidade/v-t/898870/

abraços!

[29] Comentário enviado por vagnersobrinho em 14/09/2008 - 22:27h

Valeu Cara!!!
funcionou legal
abração

[30] Comentário enviado por thedvisum em 14/10/2008 - 15:34h

parab pelo artigo seria bom se todos os artivos fosse assim

[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?

Obrigado

[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:

127.0.0.1 localhost
Seu IP Nome de Rede

[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?

Obrigado



[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.

Se puder me ajuda, fico agradecido.

Abç

[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.

Um grande abraço!!
Fiquem com Deus.

[36] Comentário enviado por budega em 15/08/2009 - 15:40h

pessoal preciso de uma ajudinha
brasx:~/proftpd-1.3.2# /etc/init.d/proftpd restart
Stopping ftp server: proftpd.
Starting ftp server: proftpd - warning: unable to determine IP address of 'brasx'
- error: no valid servers configured
- Fatal: error processing configuration file '/etc/proftpd/proftpd.conf'
failed!

[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


Abraço
Ted

[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.

Muito obrigado

[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.

Será que você poderia me ajudar?

[40] Comentário enviado por x-andré em 19/08/2010 - 14:00h

a configuração do arquivo de configuração do serviço é no diretorio

vim /etc/proftpd/proftpd.conf

[41] Comentário enviado por x-andré em 19/08/2010 - 14:16h

Qual o ip do meu servidor?

andre.freittas@gmail.com

[42] Comentário enviado por wagnerroth em 09/02/2011 - 18:38h

Olá, eu gostaria de liberar outras pastas para um determinado usuário além da home/usuário. é possível?

Obrigado!

wagnerroth@gmail.com

[43] Comentário enviado por rodrigo.a.sc em 25/10/2011 - 09:24h

O que esses parametros fazem na instalação??

--sysconfdir=/etc --prefix=/usr/local/

[44] Comentário enviado por brunotool em 20/01/2012 - 15:58h

Boa Tarde , Abel
Primeiramente ótimo post , muito bom mesmo.
Seguinte estou tentando baixar o pacote proftpd mas noa vai . Olha ai

apt-get install proftpd
Lendo listas de pacotes... Pronto
Construindo árvore de dependências
Lendo informação de estado... Pronto
E: Impossível encontrar o pacote proftpd

Me de um help por favor

Obrigado

[45] Comentário enviado por brunotool em 20/01/2012 - 15:59h

Obs: Estou logado como root
Obrigado

[46] Comentário enviado por brunotool em 23/01/2012 - 09:57h

Opa , ja resolvi .
Editei a sourcelist.

[47] Comentário enviado por marcelo.castro.l em 24/07/2012 - 09:56h

A galera que estiver com problema:

- warning - unable to determine IP Address of 'Meu Servvidor'

Basta olhar o nome que esta no /etc/hostname e editar o /etc/hosts
Colocando o ip da maquina referenciado ao 'Meu servidor'

Blz?

[48] Comentário enviado por piupoles em 26/08/2012 - 13:13h

Pessoal estou tentando conectar com o cuteftp e está aparecendo esta mensagem :

The command was not understood by the server.
Issue the raw FTP command "HELP" to identify all commands supported by the server.

Alguem tem ideia do que pode ser ?

Att.

[49] Comentário enviado por webe em 04/10/2012 - 18:43h

Olá, desculpe a ignorancia.

Sou iniciante e gostaria de saber do que preciso e como faço para ter acesso a esses arquivos fora do ambiente local, em outra cidade por exemplo.


[50] Comentário enviado por marcelo.castro.l em 05/10/2012 - 07:19h

caro webe, basta digitar no browser:
ftp.<seudominio> ou utilizar uma ferramenta especifica para tal acesso, no caso pode-se usar o Filezila.

OK?

[51] Comentário enviado por eddorneles em 21/06/2013 - 15:31h

Olá abelardo!
Estou com dúvidas logo no início, logo após extrair a pasta e acessá-la quando realizo o comando:

$ ./configure --sysconfdir=/etc --prefix=/usr/local/

Ocorre um erro e diversos warnings:

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.

[52] Comentário enviado por kaiquealmeida em 28/06/2013 - 17:00h

Ótimo tutorial.

[53] Comentário enviado por grandetilismo em 21/12/2013 - 14:09h

Ótimo artigo brother.

Obrigado por postar. Abraço.

'Ajuda o teu semelhante a levantar a carga, mas não a levá-la.'
Pitágoras

[54] Comentário enviado por sombr@ em 16/03/2015 - 13:18h


tudo up aqui valeu. muito bom


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts