Vous êtes sur la page 1sur 8

Instalar um servidor de FTP

Sou questionado algumas vezes se a instalao/configurao de um servidor FTP em


Linux fcil. Costumo responder que fcil no super fcil. Normalmente, quando
necessito de instalar um servidor de FTP, o vsftpd o meu favorito pela flexibilidade,
segurana, simplicidade e estabilidade que oferece.

O vsftpd um servidor de FTP fantstico, que oferece funcionalidades bastante


interessantes, das quais se destacam:

Suporte para Virtual IP

Suporte para utilizadores virtuais

Suporte para IPv6

Encriptao de dados atravs da integrao do protocolo SSL

Controlo da largura de banda

Configurao por utilizadore

Para instalar um servidor de FTP no Ubuntu ou Mint, o utilizador apenas necessita de


realizar os seguintes passos.

Passo 1 Instalar o vsftpd

sudo apt-get install vsftpd


Passo 2 Configuraes do servio vsftpd Por norma os ficheiros de configurao dos
servios encontram-se em /etc. No caso do vsftpd o ficheiro de configurao
/etc/vsftpd.conf Vamos abrir o ficheiro e editar/rever algumas directivas:

sudo nano -w /etc/vsftpd.conf

Ficheiro vsftpd.confDesactivar o acesso annimo.

anonymous_enable=NO

Permitir o acesso a utilizadores locais

local_enable=YES

Passo 3 Adicionar uma Shell fake Por forma a no permitir a autenticao dos
utilizadores FTP via SSH ou login local vamos adicionar uma shell fake e assim limitar
o acesso a esses utilizadores. Desta forma, as credenciais de um utilizador FTP apenas
servem para se autenticar via FTP.

Vamos ento abrir o ficheiro /etc/shells e adicionar a linha /bin/false

# /etc/shells: valid login shells


/bin/sh
/bin/bash
/bin/false

Passo 4 Criar um utilizador (conta) FTP

Como j referido anteriormente, importante que as credenciais de uma conta FTP


apenas funcionam para autenticao via FTP. Neste passo vamos proceder ao seguinte:

Criar pasta do utilizador (ex. /home/ftp/ftpuser)

sudo mkdir -p /home/ftp/ftpuser

Criar utilizador, definir qual a sua directoria e associ-lo a shell fake (ex. user
ftpuser)

sudo useradd ftpuser -d /home/ftp/ftpuser/ -s /bin/false

Criar/mudar a password do utilizador (com o comando passwd)

sudo passwd ftpuser

tambm importante que o utilizador tenha permisses de escrita na sua pasta uma vez
que a pasta criada ficou associada ao root. Para isso podemos simplesmente mudar o
owner da pasta atravs do comando

sudo chown ftpuser /home/ftp/ftpuser


Passo 5 As configuraes esto feitas, teremos apenas de reiniciar o servio vsftpd
atravs do comando:

Coloquei entretanto 1 ficheiro na pasta /home/ftp/ftpuser/ para exemplificar o


exemplo.

Nota: No ficheiro de configurao do servio (/etc/vsftpd.conf) possvel especificar


muitos parmetros como por exemplo: o nmero de clientes, adicionar um banner, etc
etc.

Como aceder ao servidor FTP

Depois do servio montado o acesso ao FTP pode ser realizado via um simples browser
ou atravs de uma aplicao cliente para FTP (ex. filezzila, fireFTP). Neste exemplo
vou usar o filezzila. Para isso, basta introduzir o IP do servidor de FTP, o utilizador e a
respectiva password.

O vsftpd o meu servidor de FTP favorito, pelas caractersticas j referidas. Alm disso,
como puderam comprovar, o vsftpd muito simples de instalar e de configurar.
Experimentem vocs mesmos instalar e configurar um autentico servidor FTP. Em caso
de duvidas, estamos c para ajudar.

o Firewall do Linux?

Primeiro activar os modulos


# modprobe ip_conntrack
# modprobe ip_conntrack_ftp
Depois no iptables
iptables -A INPUT -p tcp sport 1024:65535 dport 21 -m state state
NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp sport 1024:65535 dport 1024:65535 -m state
state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp sport 1024:65535 dport 20 -m state state
ESTABLISHED -j ACCEPT

No ubuntu, por defeito, basta fazer sudo ufw enable. A firewall fica activa
e no boot.
Para abrir uma porta basta fazer sudo ufw allow numero_da_porta. Faam
sudo ufw help

1. Como que fao p liberar o ftp para acesso externo e em vez de entrar via ip da
mquina usara algo como ftp://joao.com por exemplo?

Utiliza um servio de ip dinamico. O principal objectivo disso mesmo


fazer o k tu queres.
Existem mtos gratuitos. Por exemplo o no-ip ou o dyndns. preciso que
o router de tua casa suporte isso (ddns).

Aconselho-te a pequisar pela net por ddns e veres o seu


significado.

Sim costuma-se utilizar esses servios para quem tem


uma linha com ip dinmico (quase todos os home users
em Portugal).
Como montar um servidor FTP no Ubuntu

Passo 1 Instalar o vsftpd

sudo apt-get install vsftpd

Passo 2 Configuraes do servio vsftpd

Por norma os ficheiros de configurao dos servios encontram-se em /etc. No caso do


vsftpd o ficheiro de configurao /etc/vsftpd.conf

Vamos abrir o ficheiro e editar/rever algumas directivas:

sudo nano -w /etc/vsftpd.conf

Ficheiro vsftpd.conf

Desactivar o acesso annimo.

anonymous_enable=NO

Permitir o acesso a utilizadores locais

local_enable=YES

Passo 3 Adicionar uma Shell fake

Por forma a no permitir a autenticao dos utilizadores FTP via SSH ou login local
vamos adicionar uma shell fake e assim limitar o acesso a esses utilizadores. Desta
forma, as credenciais de um utilizador FTP apenas servem para se autenticar via FTP.

Vamos ento abrir o ficheiro /etc/shells e adicionar a linha /bin/false

# /etc/shells: valid login shells


/bin/sh

/bin/bash

/bin/false
Passo 4 Criar um utilizador (conta) FTP

Como j referido anteriormente, importante que as credenciais de uma conta FTP


apenas funcionam para autenticao via FTP. Neste passo vamos proceder ao seguinte:

Criar pasta do utilizador (ex. /home/ftp/ftpuser)

Criar utilizador, definir qual a sua directoria e associ-lo a shell fake (ex. user
ftpuser)

Criar/mudar a password do utilizador (com o comando passwd)

sudo mkdir -p /home/ftp/ftpuser


sudo useradd ftpuser -d /home/ftp/ftpuser/ -s /bin/false

sudo passwd ftpuser

tambm importante que o utilizador tenha permisses de escrita na sua pasta uma vez
que a pasta criada ficou associada ao root. Para isso podemos simplesmente mudar o
owner da pasta atravs do comando

sudo chown ftpuser /home/ftp/ftpuser

Passo 5 As configuraes esto feitas, teremos apenas de reiniciar o servio vsftpd


atravs do comando:

sudo /etc/init.d/vsftpd restart

Coloquei entretanto 2 ficheiros na pasta /etc/vsftpd.conf para exemplificar o exemplo.

Nota: No ficheiro de configurao (/etc/vsftpd.conf) do servio possvel especificar


muitos parmetros como por exemplo: o nmero de clientes, adicionar um banner, etc
etc.

Como aceder ao FTP

Depois do servio montado o acesso ao FTP pode ser realizado via um simples browser
ou atravs de uma aplicao cliente para FTP (ex. filezzila, fireFTP). Neste exemplo
vou usar o browser.

Colocamos ento ftp://<IP_Servidor>

No esquecer, que o <IP_Servidor> deve ser mudado pelo IP da mquina onde


instalaram o vsftpd (No meu caso o 192.168.193.13)
Inserimos os dados de autenticao (criados no passo 4)

E acedemos ao nosso servidor FPT. Agora basta colocar contedos e partilhar. claro
que as aplicaes cliente FTP do mais flexibilidade na gesto dos contedos, por isso
basta por exemplo fazerem download do filezzila (FileZilla 3.3.2 RC2 Um excelente
cliente FTP)

Vous aimerez peut-être aussi