Sei sulla pagina 1di 5

Servidor FTP

Existe o FTP Server e o FTP Client. O Server o responsvel por prover o servio e o
cliente ser o que far a conexo com o servidor.
Exemplos de Cliente:
Navegadores de Internet, filezilla, terminal, prompt de comando.
Exemplos de Server:
vsFTPD, proFTPD.
Atravs de uma pesquisa rpida no Google fica evidente que a maioria dos blogs
comentam sobre o vsFTPD e proFTPD. Todos os dois so muito bons, e vamos instalar
o vsFTPD.

Instalao
No se esquea de dar os comandos como root.
aptitude install vsftpd

Configurao
Faa uma cpia do arquivo de configurao, assim voc mantem a configurao original
caso tenha problemas na configurao que est fazendo:
cp /etc/vsftpd.conf /etc/vsftpd.conf.original

Modifique o arquivo de configurao /etc/vsftpd.conf de modo a que apenas os usurios


locais possam se conectar, os annimos no, e que os arquivos escondidos fiquem
visveis.
# Proibir annimos
anonymous_enable=NO
# Permite os usurios locais se conectarem
local_enable=YES
# Permitir a gravao de arquivos (upload)
write_enable=YES

Prender usurios nas pastas pessoais


Para "prender" usurios s suas pastas pessoais, tem trs possibilidades. Procure pela
palavra "chroot_local_user" no arquivo e depois altere:
# 1. Todos ficam "presos" por omisso:
chroot_local_user=YES

chroot_list_enable=NO
# 2. Apenas alguns ficam "presos":
chroot_local_user=NO
chroot_list_enable=YES
# uma lista em /etc/vsftpd.chroot_list
presos.

com

os

usurios

que

ficam

# 3. Apenas alguns so "livres" podem ver todas as pastas:


chroot_local_user=YES
chroot_list_enable=YES
# Crie uma lista em /etc/vsftpd.chroot_list com os usurios que ficam
livres.

Negar (ou permitir) acesso a alguns dos usurios


Para negar o acesso a alguns usurios, adicione as seguintes opes no fim do arquivo:
userlist_deny=YES
userlist_file=/etc/vsftpd.denied_users

No arquivo /etc/vsftpd.denied_users adicione uma lista com o nome de usurio


(username) dos que no quer que acessem ao servidor FTP. Um nome em cada linha.
Para permitir que apenas alguns usurios acessem ao servidor:
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/vsftpd.allowed_users

No arquivo /etc/vsftpd.allowed_users adicione os usurios que podem acessar ao


servidor FTP.
Os usurios que no podem acessar tero uma mensagem de erro a dizer que no podem
ligar-se antes de digitarem a password.

TLS/SSL/SFTP
Para usar o VSFTP com SSL - recomendado para quem acessa pela Internet, pois o
protocolo FTP no encripta as passwords - altere o arquivo /etc/vsftpd.conf do seguinte
modo:
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES
# descomente se quiser utilizar a porta 990 (opcional)
#listen_port=990

Se pretender que os annimos tambm se liguem por SSL, deve alterar


"allow_anon_ssl=NO" para "allow_anon_ssl=YES".

Instale o Filezilla (disponvel no nosso FTP) e teste com a opo "FTPES - FTP over
explicit TLS/SSL".
Adicionar um Shell "fake"

Para 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":
nano /etc/shells:
/bin/sh
/bin/bash
/bin/false*

Criando um utilizador (conta) FTP

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


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

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

Criar usurio, definir qual o seu diretrio e associ-lo ao shell falso


(ex. user ftpuser)

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

mkdir -p /home/ftp/ftpuser
useradd ftpuser -d /home/ftp/ftpuser/ -s /bin/falso
passwd ftpuser

tambm importante que o usurio tenha permisses de escrita na sua pasta uma vez
que a pasta criada ficou associada ao root. Para isso podemos simplesmente mudar o
dono da pasta atravs do comando:
chown ftpuser /home/ftp/ftpuser

Lembrar que o nome ftpuser o nome do usurio criado.

Outras opes
# Mostrar as pastas . e .. e os arquivos escondidos (til para no
gravar por cima de arquivos escondidos).
force_dot_files=YES
# Esconde a informao de usurio e grupo das pastas e arquivos.
hide_ids=YES
# Limite de conexes por cada ip.
max_per_ip=1

# Limite de clientes que podem estar ligados.


max_clients=20

Veja mais opes de configurao do VSFTPD na documentao, teclando "man


vsftpd.conf" em um terminal.

Possibilitando que o usurio Annimo faa Upload.


Obs: Se voc ativar esta opo e for logar com no servidor com o usurio anonymous, voc ir
receber a seguinte mensagem:
500 OOPS: vsftpd: refusing to run with writable anonymous root
Isto contradiz toda a histria de permisso do Linux, mas isto mesmo. Para voc permitir que
o Anonymous faa login e consiga fazer uploads para o servidor de FTP, necessrio que o
diretrio /home/ftp no pertena ao usurio ftp e ainda mais, no pode ter permisso de
gravao. Voc dever criar um subdiretrio dentro do diretrio /home/ftp e ai sim, voc libera a
gravao deste subdiretrio. Ento para evitar este erro faa o seguinte:
Passe o diretrio /home/ftp para o root
# chown root:root /home/ftp
Tire as permisses de gravao deste diretrio
# chmod 555 /home/ftp
Crie um subdiretrio que contenha permisso para gravao
# mkdir /home/ftp/upload
Altere as permisses deste subdiretrio
# chmod 777 /home/ftp/upload

Concluso da instalao
Para aplicar uma nova configurao, reinicie o VSFTPD com:
/etc/init.d/vsftpd restart

A senha de acesso ao FTP a mesma definida na hora de criar o usurio. O vsftpd


simplesmente aproveita o sistema de autenticao do sistema linux. Se voc precisar
alterar a senha do usurio, use o comando passwd <<nome do usurio>>.

Esta configurao muito usada em servidores Web, que hospedam vrios sites num
sistema de hosting compartilhado. O mais comum nestes casos que cada site tenha
uma conta no sistema e uma pasta onde vo os arquivos do site, como por exemplo
/var/www/site1/. Esta pasta fica acessvel via FTP para o dono possa atualizar o site.

================================
Este Link tambm muito didtico com vrias imagens. Lembre-se que so referencias e que os
IPs e nomes no so os de seu servidor.
http://www.cleuber.com.br/index.php/2014/09/08/criando-servidor-de-ftp-facilmente-noubuntu-14-04-com-proftp

Potrebbero piacerti anche