Tutorial para Instalao e configurao do ProFTPD |
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 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 Vá até o diretório /tmp/proftpd-1.2.9. Leia os arquivos README e INSTALL. Execute a seguinte seqüência de comandos: # ./configure 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> para <Anonymous /usr/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 -------------------- # Arquivo exibido no momento da conexao # Nao exibe informacoes sobre que tipo de servidor esta rodando # Modo no qual o servidor ira rodar (standalone ou inetd) # Como nao temos VirtualHosts, este servidor (principal) sera o padrao # Porta para o socket de controle # Umask padrao para arquivos uploaded # Maximo de processos filho (cada conexao utiliza um processo) # Maximo de usuarios autenticados (incluindo anonimos) e mensagem # Maximo de usuarios autenticados (incluindo anonimos) por IP # Usuario sob o qual o servidor ira rodar # Grupo sob o qual o servidor ira rodar # Os usuarios nao poderao sair de seu diretorio home (chrooted) # Nao permite o login do usuario root # Nao requer que os usuarios tenham um shell valido (definido # Nao bloqueia usuarios baseando-se no arquivo /etc/ftpusers # Tempo maximo em segundos para login # Tempo maximo em segundos conectado mas sem qualquer comando ou # Tempo maximo em segundos sem transferencia de dados (arquivos, # Tempo maximo em segundos com uma transferencia parada, travada # Numero maximo de tentativas de login # Nao tenta descobrir o hostname do cliente # Nao tenta efetuar consulta do username remoto (ident - RFC1413) # Arquivo de log geral # Arquivo de log das transferencias # Especifica o modo de transferencia padrao (ascii ou binary) # Permite que arquivos sejam sobrescritos (caso seja feito upload # Abre o contexto de usuarios anonimos, especificando a raiz do # Usuario sob o qual cada instancia de FTP anonimo deve rodar # Grupo sob o qual cada instancia de FTP anonimo deve rodar # Define o login anonymous como sinonimo (alias) do login ftp # Numero maximo de usuarios anonimos # Limita qualquer gravacao neste contexto (por exemplo upload # Fecha o contexto de usuarios anonimos 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 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
|
|||
ltima Atualizao ( 12/06/2006 ) |