Servidor FTP

Servidor que fornece, através de uma rede de computadores, um serviço de acesso de usuários a um disco rígido ou servidor através do protocolo de transferência de arquivos: File Transfer Protocol. Seu acesso pode ser de qualquer usuário da rede ou reservado (com pedido de login e senha). O servidor FTP utiliza o protocolo FTP via navegador ou via cliente ftp dedicado

Exemplos de aplicação: 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.

Importante ressaltar que sites FTP são diferentes de um site comum (HTTP). A principal característica deles é que ao invés de apresentar escritas, banners, figuras, etc, são exibidos arquivos e pastas.

 

Primeiro Passo

Logado como root vamos instalar o pagote do proftp, um dos servidores de FTP bastante simples de se implementar e de configurar.

# yum install proftpd

 

Configuração

Configurar para que  o proftpd inicie durante o boot do sistema.

#chkconfig proftpd on

Por padrão, após instalar o pacote, basta startar o serviço que estará funcionado. # service proftpd start

Após startar o serviço, o FTP poderá ser acessado através de $ ftp ip ou pelo nome informando a URL: ftp://ip.

Será solicitado um nome de login e senha. Caso queira liberar acesso anonymous, basta descomentar as linhas que falam sobre o mesmo.

A configuração consiste em apenas um arquivo /etc/proftpd.conf. Para editar este arquivos vamos utilizar o comando:

# vim /etc/proftpd.conf.

 

Modelo de Configuração Simplificado

Na configuração padrão que vem no pacote, modifique apenas as seguintes directivas:

ServerName “ProFTPD – Servidor FTP”
ServerIdent on “Bem-vindo ao Servidor FTP”
ServerAdmin root@localhost
ServerType standalone
DefaultRoot ~
MaxClients 20
MaxClientsPerHost 4

 

Modelo de arquivo de configuração detalhado:

#——————- Arquivo proftpd.conf ——————–#

# Arquivo de configuracao – ProftpD
# Autor: Alunos Curso Linux – Senac
# Data de criacao: 11/06/2011

#Nome do Servidor

ServerName ”Nome do seu servidor que será mostrado quando o usuário se conectar”

# Arquivo que exibira’ a mensagem de boas vindas no momento da conexao.
# Edite este arquivo para sua mensagem personalizada
DisplayConnect /usr/local/etc/proftpd.banner

Ou

ServerIdenton “Bem-vindo ao Servidor FTP”

# Defina o e-mail do administrador do servidor

ServerAdmin root@localhost

# Nao exibe informacoes sobre que tipo de servidor esta’ rodando, boa pratica de seguranca.

ServerIdent off

# Modo no qual o servidor ira’ rodar (standalone ou inetd), standalone tem melhor desempelho.
ServerType standalone

#fuso horário universal (GMT) e não o local

# Se preferir horário local anterar para on e off respectivamente.
TimesGMT off
MultilineRFC2228 on

# 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

# Arquivos postados neste FTP ficaram com esta permissão.
Umask 022

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

MaxInstances 30

# Maximo de usuarios autenticados (incluindo anonimos) e mensagem
MaxClients 20 “Desculpe, mas o numero maximo de clientes foi atingido. Tente mais tarde.”

# Maximo de usuarios autenticados (incluindo anonimos) por IP

MaxClientsPerHost 4 “Desculpe, mas o maximo de 4 conexoes por cliente foi atingido. Tente mais tarde.”

# Usuario sob o qual o servidor ira rodar, criado automaticamente na instalacao.

User FTP

# Grupo sob o qual o servidor ira rodar, criado automaticamente na instalacao.

Group ftp

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

# Nao permite o login do usuario root, você pode habilitar essa opção, mas nao e’ uma boa pratica de seguranca.

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

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

# Fecha o contexto de usuarios anonimos

#——————- Fim do arquivo proftpd.conf ——————–#

 

Criando Contas de Usuário

Vamos criar uma conta de usuário que será usado e permitido apenas para conexões no Servidor FTP e definir a senha para o usuário:

# useradd -m -s /bin/false aluno

Definindo no parâmetro “-s” (–shell) o “/bin/false”, não irá permitir que façam outros tipos de conexões usando esse usuário, por exemplo, conexões SSH.

Em seguida vamos alterar a senha deste usuário:

# passwd aluno

Os arquivos deste usuário ficarão em /home/aluno.

 

FTP Público (Anonymous)

O FTP público permite que todos possam ter acesso aos arquivos do diretório Home do usuário “ftp”, podendo utilizar para compartilhar os arquivos para todos terem acessos, podendo efetuar apenas downloads, mas não uploads.

Para habitar o FTP público, edite o arquivo “/etc/sysconfig/proftpd”, modifique a variável PROFTPD_OPTIONS deixando assim:

PROFTPD_OPTIONS=”-DANONYMOUS_FTP”


Iniciando o ProFTPD

Após ter terminado as configurações, inicie o servidor ProFTPD:

# service proftpd start


Acessando o Servidor FTP

Para acessar no Servidor FTP uma conta de usuário, execute o seguinte comando:

$ ftp localhost
Connected to localhost.
220 Bem-vindo ao Servidor FTP
Name (localhost:root): usuario
331 Password required for usuario
Password: senha
230 User usuario logged in
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

 

Para acessar no Servidor FTP o FTP público, execute o seguinte comando:

$ ftp localhost

Connected to localhost.
220 Bem-vindo ao Servidor FTP
Name (localhost:root): ftp
331 Anonymous login ok, send your complete email address as your password.
Password: [ENTER]
230 Anonymous access granted, restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

Também poderemos acessar o Servidor FTP usando um browser ou softwares de cliente FTP.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *