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-sslCrio o certificado:
# ./openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pure-ftpd-ssl/pure-ftpd.pem -out /etc/pure-ftpd-ssl/pure-ftpd.pemCompilar 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-stripUma breve explicação sobre as opções seleccionadas:
--with-puredbÉ o que vai permitir a virtualização de utilizadores.
--with-quotasPermite a utilização de quotas por utilizador.
--with-ratiosPermite a configuração de rácios upload/download do servidor ou por utilizador.
--with-peruserlimitsPermite definir um número máximo de ligações simultâneas ao servidor pelo mesmo IP ou por utilizador.
--with-largefilePermite downloads superiores a 2 GB.
--with-certfilePermite 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 etcCriar o utilizador virtual gamito:
# ./bin/pure-pw useradd gamito -u gamito -g gamito -d /home/gamito/ gamitoCriar a versão binária do ficheiro de
logins e
passwords:
# ./bin/pure-pw mkdbAgorra, 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.ptConnected 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 implemented500 This security scheme is not implementedKERBEROS_V4 rejected as an authentication typeName (planetgeek.dynip.sapo.pt:root): gamito331 User gamito OK. Password requiredPassword:230-User gamito has group access to: 506230 OK. Current directory is /Remote system type is UNIX.Using binary mode to transfer files.ftp> dir227 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.tgz226-Options: -l226 1 matches totalftp> binary200 TYPE is now 8-bit binaryftp> mget *.tgzmget Zope-2.10.4-final.tgz? y227 Entering Passive Mode (192,168,0,101,246,80)150-Accepted data connection150 7061.7 kbytes to download226-File successfully transferred226 0.376 seconds (measured here), 18.32 Mbytes per second7231146 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...
Os comentários são da exclusiva resonsabilidade dos seus autores.
Mário Gamito, 2004 - 2007
Todos os direitos reservados.