Terça-feira, 21 de Agosto de 2007

Servidor caseiro - XXIV

O FTP é um protocolo que a maioria dos utilizadores regulares desconhece já completamente.
Contudo, os utilizadores mais experientes e profissionais, não dispensam esta ferramenta.

O servidor que vem incluído no CentOS é o vsFTPd (very secure TFP daemon).
Confesso que nunca experimentei, há muitos anos que utilizo o pure-ftpd, é extremamente seguro, com uma quantidade de opções de configuração enorme e, last but not the least, permite a virtualização de utilizadores o que é sempre uma good thing :)


Instalar o pure-ftpd:

Começo por criar um directório no qual vou guardar o certificado para que o servidor suporte SSL
# mkdir /etc/pure-ftpd-ssl

Crio o certificado:
# ./openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pure-ftpd-ssl/pure-ftpd.pem -out /etc/pure-ftpd-ssl/pure-ftpd.pem


Compilar e instalar o pure-ftpd:
# ./configure --prefix=/usr/local/pure-ftpd --with-puredb --with-quotas --with-ratios --with-peruserlimits --with-largefile --with-certfile=/etc/pure-ftpd-ssl/pure-ftpd.pem
# make
# make install-strip


Uma breve explicação sobre as opções seleccionadas:

--with-puredb
É o que vai permitir a virtualização de utilizadores.

--with-quotas
Permite a utilização de quotas por utilizador.

--with-ratios
Permite a configuração de rácios upload/download do servidor ou por utilizador.

--with-peruserlimits
Permite definir um número máximo de ligações simultâneas ao servidor pelo mesmo IP ou por utilizador.

--with-largefile
Permite downloads superiores a 2 GB.

--with-certfile
Permite FTP sobre SSL.


Confesso que nunca percebi porque o install do pure-ftp não cria este directório, uma vez que é necessário, portanto tenho que o criar:
# cd /usr/local/pure-ftpd
# mkdir etc


Criar o utilizador virtual gamito:
# ./bin/pure-pw useradd gamito -u gamito -g gamito -d /home/gamito/ gamito

Criar a versão binária do ficheiro de logins e passwords:
# ./bin/pure-pw mkdb


Agorra, arranco o servidor:
# /usr/local/pure-ftpd/sbin/pure-ftpd -l puredb:/usr/local/pure-ftpd/etc/pureftpd.pdb &

(Para que o servidor arranque sempre que o computador é iniciado, coloco esta linha no ficheiro /etc/rc.local)


Vou testar:

# ftp planetgeek.dynip.sapo.pt
Connected to planetgeek.dynip.sapo.pt.
220---------- Welcome to Pure-FTPd ----------
220-You are user number 1 of 50 allowed.
220-Local time is now 08:45. Server port: 21.
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
500 This security scheme is not implemented
500 This security scheme is not implemented
KERBEROS_V4 rejected as an authentication type
Name (planetgeek.dynip.sapo.pt:root): gamito
331 User gamito OK. Password required
Password:
230-User gamito has group access to:  506
230 OK. Current directory is /
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir
227 Entering Passive Mode (192,168,0,101,102,202)
150 Accepted data connection
-rw-r--r--    1 0        0         7231146 Aug 21 07:29 Zope-2.10.4-final.tgz
226-Options: -l
226 1 matches total
ftp> binary
200 TYPE is now 8-bit binary
ftp> mget *.tgz
mget Zope-2.10.4-final.tgz? y
227 Entering Passive Mode (192,168,0,101,246,80)
150-Accepted data connection
150 7061.7 kbytes to download
226-File successfully transferred
226 0.376 seconds (measured here), 18.32 Mbytes per second
7231146 bytes received in 0.38 seconds (1.9e+04 Kbytes/s)
ftp> quit

E está tudo bem :)

Vou ver com um cliente de FTP:





E cá estou eu ligado, é de notar (ver círculo) que apesar de estar na verdade no directório /home/gamito, estou jailed, i. e., não posso subir na hierarquia de directórios.

O pure-ftpd é extremamente versátil, quer na configuração, quer nos parâmetros de arranque, para mais informação, visite a página oficial do projecto.


See you on Zope...
tags:
publicado por gamito às 08:59
link do post | comentar
1 comentário:
De Manifest0 a 21 de Agosto de 2007 às 14:27
FTP? Isso tá morto.... :P
rsync FTW!

Comentar post

Os comentários são da exclusiva resonsabilidade dos seus autores.
Mário Gamito, 2004 - 2007
Todos os direitos reservados.

Mais sobre mim

pesquisar

Janeiro 2008

Dom
Seg
Ter
Qua
Qui
Sex
Sab
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

Posts recentes

Portagens

Há 20 anos atrás... *sigh...

Vou criar a minha própria...

Finalmente

SAPO codebits

Sporting

Caixa Mágica e Mandriva

A1 Aveiro - Lisboa

Browser mamão

gFTP

PlayStation 3 e Sony

Mas quem é o gajo ?

Negócios do Open Source

Não estão fartos disto ?

Naughty, naughty

PHP chrooted

Joomla

Novo Projecto

MySQL :: It's the ctl, st...

MySQL :: Just a little ti...

MySQL chrooted

BASH, stdout e stderr

4 kb stack ou 8kb stack

A funny guy...

Truques, Minas e Alçapões...

Truques, Minas e Alçapões...

Logs do mrtg

Salmos, 23

Servidor caseiro - XXVII

Servidor caseiro - XXVI

Servidor caseiro - XXV

Números de telemóvel aban...

Servidor caseiro - XXIV

Humm...

Servidor caseiro - XXIII

Servidor caseiro - XXII

Servidor caseiro - XXI

Servidor caseiro - XX

Servidor caseiro - XIX

Ubuntu : O Enigma

Leixões 1 - Benfica 1

Servidor caseiro - XVIII

Servidor caseiro - XVII

Servidor caseiro - XVI

Servidor caseiro - XV

Servidor caseiro - XIV

Servidor caseiro - XIII

Servidor caseiro - XII

Servidor caseiro - XI

Servidor caseiro - X

Arquivos

Contacto

gamito@gmail.com

No Planeta Geek

tags

todas as tags

subscrever feeds