FUG-BR / Grupo Brasileiro de Usuarios de FreeBSD
 
11.09  
Inicio
Principal
Inicio
Noticias
Artigos
Regras da Lista
Assinar a Lista
Histrico da Lista
Forum
Keyserver
PC-BSD: Artigos
PC-BSD: Notcias
Galeria de Imagens
Contador Usurios FUG
FUGs Estaduais
Downloads
Enquetes
FAQ
Resumo do Site
Links
Pesquisar
Contato
Sobre a FUG-BR
RSS / Twitter
-
DOC-BR (FUG BR)
Introduo
Projeto DOC-BR
Handbook
FAQ Oficial
-
+ Noticias
Alertas de Seguranca
Alertas em Ports
BSD em Geral
DaemonNews (Ingles)
MyFreeBSD
Todas Categorias
-
Login
Nome de Usurio

Senha

Lembrar login
Esqueceu sua senha?
Sem conta? Crie uma


Tutorial para Instalao e configurao do ProFTPD PDF Imprimir E-mail
Por Guilherme Rosrio   
12/06/2006

FTP (File Transfer Protocol)

ProFTPD

 

O ProFTP nasceu do desejo de seus criadores de um servidor FTP seguro e altamente configurável. Possui um bom desempenho e é utilizado em sites de grande tráfego, como ftp.kernel.org, ftp.samba.org e SourceForge. Sua página é www.proftpd.org.

Efetue o download do source da última versão do ProFTPD. Atualmente, é a 1.2.9, faremos o download do arquivo ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.0.tar.gz. Descompacte e extraia no diretório /tmp, será criado o diretório /tmp/proftpd-1.2.9 com os arquivos extraídos.

Crie um grupo chamado ftp com gid 120, e um usuário ftp com uid e gid 120:

# pw group add ftp -g 120
# pw user add ftp -c "ProFTPD" -d "/nonexistent" -s "/sbin/nologin" -u 120 -g 120

Deverá ser definido e criado o diretório que irá abrigar os arquivos e diretórios do nosso FTP anônimo, no nosso caso criamos o diretório /usr/ftp. Deve-se atribuir o dono ftp e grupo ftp a este diretório, assim como a todos os arquivos que forem publicados abaixo dele posteriormente:

# mkdir /usr/ftp
# chown ftp:ftp /usr/ftp

Vá até o diretório /tmp/proftpd-1.2.9. Leia os arquivos README e INSTALL. Execute a seguinte seqüência de comandos:

# ./configure
# make
# make install

Isto irá configurar os fontes para a compilação de acordo com o ambiente, compilar e então instalar.

O ProFTPD possui apenas um arquivo de configuração, que fica em /usr/local/etc/proftpd.conf. No momento da instalação, é instalada neste local uma cópia do basic.conf, que é um dos exemplos de configurações. Mesmo para um funcionamento básico, temos que fazer algumas modificações.

Altere os parâmetros

<Anonymous ~ftp>
User nobody
Group nogroup

para

<Anonymous /usr/ftp>
User ftp
Group ftp

Além disso, logo abaixo, insira a seguinte linha:

RequireValidShell off

Feitas essas alterações, o servidor FTP já pode ser inicializado e testado. Inicie-o digitando /usr/local/sbin/proftpd, e verifique se está rodando através do comando

# ps aux | grep proftpd

Teste o serviço, logando tanto com um usuário e senha comuns quanto anonimamente, através do login ftp ou anonymous. Deverá estar funcionando normalmente, mas ainda temos algumas configurações a fazer.

Uma boa documentação acerca da configuração do ProFTPD pode ser encontrada no seu site. Uma página muito útil é a descrição de todas as diretivas possíveis no arquivo proftpd.conf, e pode ser encontrada em http://www.proftpd.org/docs/directives/linked/by-name.html.

Para que o ProFTPD leia novamente seu arquivo de configuração, caso este seja modificado, é necessário enviar o sinal HUP, com o comando

# killall -HUP proftpd

Segue abaixo um arquivo de configuração comentado que pode ser utilizado como base para a sua configuração.

------------------- Arquivo proftpd.conf --------------------
# proftpd.conf

# Arquivo exibido no momento da conexao
DisplayConnect /usr/local/etc/proftpd.banner

# Nao exibe informacoes sobre que tipo de servidor esta rodando
ServerIdent off

# Modo no qual o servidor ira rodar (standalone ou inetd)
ServerType standalone

# Como nao temos VirtualHosts, este servidor (principal) sera o padrao
DefaultServer on

# Porta para o socket de controle
Port 21

# Umask padrao para arquivos uploaded
Umask 022

# Maximo de processos filho (cada conexao utiliza um processo)
MaxInstances 30

# Maximo de usuarios autenticados (incluindo anonimos) e mensagem
MaxClients 20 "Desculpe, o numero maximo de clientes foi atingido"

# Maximo de usuarios autenticados (incluindo anonimos) por IP
MaxClientsPerHost 4 "Desculpe, maximo de 4 conexoes por cliente"

# Usuario sob o qual o servidor ira rodar
User ftp

# Grupo sob o qual o servidor ira rodar
Group ftp

# Os usuarios nao poderao sair de seu diretorio home (chrooted)
DefaultRoot ~

# Nao permite o login do usuario root
RootLogin off

# Nao requer que os usuarios tenham um shell valido (definido
# em /etc/shells)
RequireValidShell off

# Nao bloqueia usuarios baseando-se no arquivo /etc/ftpusers
UseFtpUsers off

# Tempo maximo em segundos para login
TimeoutLogin 120

# Tempo maximo em segundos conectado mas sem qualquer comando ou
# troca de dados
TimeoutIdle 600

# Tempo maximo em segundos sem transferencia de dados (arquivos,
# listagens de diretorios)
TimeoutNoTransfer 900

# Tempo maximo em segundos com uma transferencia parada, travada
TimeoutStalled 900

# Numero maximo de tentativas de login
MaxLoginAttempts 3

# Nao tenta descobrir o hostname do cliente
UseReverseDNS off

# Nao tenta efetuar consulta do username remoto (ident - RFC1413)
IdentLookups off

# Arquivo de log geral
SystemLog /var/log/proftpd/system.log

# Arquivo de log das transferencias
TransferLog /var/log/proftpd/transfer.log

# Especifica o modo de transferencia padrao (ascii ou binary)
DefaultTransferMode binary

# Permite que arquivos sejam sobrescritos (caso seja feito upload
# de um arquivo ja existente)
AllowOverwrite on

# Abre o contexto de usuarios anonimos, especificando a raiz do
# FTP anonimo
<Anonymous /usr/ftp>

   # Usuario sob o qual cada instancia de FTP anonimo deve rodar
   User ftp

   # Grupo sob o qual cada instancia de FTP anonimo deve rodar
   Group ftp

   # Define o login anonymous como sinonimo (alias) do login ftp
   UserAlias anonymous ftp

   # Numero maximo de usuarios anonimos
   MaxClients 10

   # Limita qualquer gravacao neste contexto (por exemplo upload
   # de arquivo)
   <Limit WRITE>
   DenyAll
   </Limit>

# Fecha o contexto de usuarios anonimos
</Anonymous>

------------------- Fim do arquivo proftpd.conf --------------------

O conteúdo do arquivo proftpd.banner fica a seu critério, pode ser utilizada uma simples identificação como "Servidor FTP Exemplo". Crie o diretório /var/log/proftpd, para que sejam armazenados aí os arquivos de log.

Teste essa nova configuração, deverá funcionar normalmente. Verifique também regularmente os arquivos de log do ProFTPD, principalmente em caso de qualquer problema.

Temos ainda alguns utilitários que permitem verificar o que anda acontecendo com o servidor FTP, em tempo real. São eles:

ftpcount -> mostra o número atual de conexões ao servidor FTP
ftpwho -> mostra quais usuários estão conectados atualmente
ftptop -> mostra informações sobre as conexões num estilo parecido ao do comando top
ftpshut -> tira o servidor FTP do ar, sem encerrar seu processo. Para retornar, deve-se executar "ftpshut -R"

Os comandos ftpcount, ftpwho e ftptop utilizam um arquivo chamado Scoreboard, que registra informações sobre as sessões atuais de FTP. Este arquivo fica por padrão em /usr/local/var/proftpd/proftpd.scoreboard. Caso este arquivo seja mudado de lugar (via proftpd.conf) deverá ser especificado na linha de comando dos utilitários qual o caminho do arquivo Scoreboard. Há ainda um arquivo que guarda o PID do processo principal, e fica por padrão em /usr/local/var/proftpd.pid.

Para que o ProFTPD seja inicializado no boot e terminado no shutdown corretamente, crie um script de inicialização e shutdown em /usr/local/etc/rc.d/proftpd.sh, conforme explicado anteriormente.

O comando para inicializar deverá ser:

/usr/local/sbin/proftpd

O comando para finalizar deverá ser:

kill `cat /usr/local/var/proftpd.pid`

 

Referencia: http://www2.unijui.tche.br/~heini/freebsd/proftpd.html

Comentrios
Parabens!!!
Por Mrio Carvalho em 31/07/2007 20:29:52
Ta show de bola esse tutorial. 
S gostaria de acrescentar uma coisa ... 
Tive uma certa dificuldade ao startar o ProFTPD com essa .conf e com pesquizas acabei descobrindo que tava faltando uma linha no comeo do proftpd.conf onde definia o ip do servidor, porem quem no tiver ip fixo no precisa adcionar essa linha. 
 
DefaultAddress Seu_IP
Realmente muito bom!
Por Rogrio de Sousa em 24/08/2007 11:34:49
Ta bom mesmo esse Tuto, consegui configurar tudo de boa cara, parabns!!
Parabns pelo tuto
Por joao maykon em 30/11/2007 20:13:56
Fiz tudo como est em seu tuto e s tenho que acrescentar uma coisinha... tava dando erro na hora que eu estartava e add no /etc/host o ip e host e tudo funfou. Blz 
Agora vou ver como isso funciona.Rss 
Abraos


Comente!*
Nome:
E-mail
Homepage
Ttulo:
Comentrio:

Cdigo:* Code

ltima Atualizao ( 12/06/2006 )
 
< Anterior   Prximo >
FUG-BR - Espalhando BSD
Dicas Rpidas:
Quer saber todos os arquivos que um dado port instalou? Use pkg_info -L <nome do port>. Quer reler a mensagem de pós-instalação de um port já instalado? Use pkg_info -D <nome do port>. Quer consultar informações de um port sem precisar mencionar seu nome e versão exatamente como registrados? Use pkg_info -x <expressao>, por exemplo, pkg_info -L -x perl
 






Wallpapers
FreeBSD Security Advisories
  • FreeBSD-SA-14:18.openssl
  • FreeBSD-SA-14:17.kmem
  • FreeBSD-SA-14:16.file
  • FreeBSD-SA-14:15.iconv
  • FreeBSD-SA-14:14.openssl
  • FreeBSD-SA-14:13.pam
  • FreeBSD-SA-14:12.ktrace
  • FreeBSD-SA-14:11.sendmail
  • FreeBSD-SA-14:10.openssl

  • Online:
    Ns temos 21 visitantes online


    Devil Store - Sua loja BSD
    FreeBSD Brasil LTDA

    FUG-BR: Desde 1999, espalhando BSD pelo Brasil.