FTP é um acrônimo para File Transfer Protocol ou Protocolo de Transferência de Arquivos. O protocolo FTP permite a transferências de arquivos binários e arquivos texto com alta eficiência através de uma rede. É muito interessante para empresas que desejam compartilhar arquivos com os usuários na rede, ou servidores web que desejam disponibilizar áreas para usuários fazerem transferência de arquivos.
Nesta seção será explicada a configuração do servidor FTP. O Proftpd (Professional File Transfer Protocol Daemon) é o programa que implementa o servidor padrão e realiza os serviços de FTP no Conectiva Linux. O Proftpd possui uma configuração muito simples, parecida com a configuração do servidor web Apache, possuindo toda a configuração do servidor em um único arquivo, com diretivas. Além disso, implementações de segurança podem ser feitas em diretórios (seguindo o exemplo do arquivo .htaccess do Apache, o Proftpd pode utilizar o arquivo .ftpaccess), permitindo restrições a diretórios que serão acessados por usuários.
Para implementar esta solução você não precisará de nenhum pré-requisito especial, basta que sua máquina possua uma placa de rede e também que o Webmin já esteja instalado.
Para instalação do servidor FTP execute o Synaptic e instale os seguintes pacotes:
proftpd
anonftp
ou utilize o apt-get:
# apt-get install anonftp proftpd |
Para iniciar a configuração do servidor FTP, acesse -> pelo Webmin.
Assim como outros módulos do Webmin, o módulo do Proftpd também é dividido em duas partes: uma para configurações globais e outra para servidores virtuais. As configurações aplicadas nas opções globais irão ter efeito sobre o servidor padrão e todos os servidores virtuais. Opções de um servidor virtual específico deverão ser configuradas na sessão do próprio servidor virtual. Entre as configurações globais, algumas estão citadas abaixo:
Opções de Rede
Numero máximo de sessões concorrentes: Número de conexões simultâneas no servidor FTP pode receber;
Tempo de inatividade antes de desconectar: Tempo ocioso que o servidor deve aguardar antes de desconectar o usuário;
Tempo de espera para a primeira transferência: Tempo máximo de espera para a primeira transferência antes de o servidor desconectar o usuário;
Tempo de espera para autenticação: Tempo máximo de espera para a autenticação.
Controle de Acesso
Mensagem de sucesso no login: Mensagem apresentada ao usuário quando o login for realizado com sucesso. Pode-se deixar a mensagem padrão, ou optar por uma personalizada;
Mensagem de falha no login: idem a anterior, porém apresentada ao usuário quando o login falhar;
Autorizar escrita sobre arquivos já existentes? - Permitir ou não que os arquivos sejam sobrescritos no servidor.
Usuários FTP Negados
Nesta opção, é possível configurar quais usuários do sistema serão proibidos de acessar o servidor.
Lembre-se de sempre clicar no botão Salvar depois de ter alterado alguma configuração.
Para criar um servidor virtual, basta preencher o formulário que está na parte de baixo da página principal do módulo do Proftpd no Webmin - lembre-se de que as configurações realizadas em um determinado servidor virtual sobrescrevem as configurações globais:
Endereço: Endereço IP do servidor;
Porta do FTP: Porta na qual o servidor deverá estar funcionando; o recomendado é deixar marcada a opção Padrão;
Nome do servidor: Nome de acesso ao servidor virtual.
Após isto, clique em e aguarde a atualização da página, onde serão exibidas as opções de configuração para o servidor virtual.
Além das mesmas opções que pode ser realizadas nas opções globais, como por exemplo proibir o acesso a determinados usuários, existem outras configurações exclusivas do servidor virtual de FTP, como por exemplo a opção Configurar Servidor Virtual. Nesta opção, além de poder editar as configurações feitas anteriormente para endereço, porta e nome do servidor virtual, o usuário também poderá remover o servidor clicando em Remover servidor virtual.
Depois de ter realizado todas as configurações necessárias, na página inicial do módulo do Proftpd no Webmin, clique em Iniciar Servidor para iniciar o servidor FTP.
A configuração de FTP anônimo também pode ser realizada via Webmin. Para isso, clique no ícone do servidor desejado (ao final da página principal, em forma de ícone), acesse a opção Anonymous FTP e preencha o formulário de acordo com as informações listadas a seguir:
Limitar ao diretório: Este é o diretório em que o usuário ficará restrito quando estiver logado como usuário anônimo. O diretório deve existir para que possa ser incluído aqui, portanto, crie-o ou verifique se ele já está criado. Por exemplo: /srv/ftp/anonymous;
Acessar arquivos como usuário: Usuário com o qual serão acessados os arquivos. Inclua o usuário ftp;
Acessar arquivos como grupo: Grupo com o qual serão acessados os arquivos. Inclua o grupo ftp.
Após ter feito as configurações, clique em Criar para que as alterações sejam realizadas no arquivo de configuração do Proftpd.
Agora, na seção Opções para FTP Anonymous, clique em Autenticação para criar o alias entre o usuário anonymous e ftp. Note que esta opção é diferente de Opções de autenticação, que permite configurações de log do acesso anônimo.
Para criar o alias, na opção Apelidos para nomes de usuários, preencha o campo Login username com o valor anonymous, e Nome real do usuário com o valor ftp.
Clique em Salvar para realizar as alterações e, na página inicial do módulo de configuração do Proftpd, clique em Iniciar servidor para iniciá-lo ou em Aplicar mudanças caso o servidor já esteja sendo executado.
Primeiramente, verifique se um processo está executando o servidor:
$ ps aux | grep proftpd proftpd 5935 0.0 0.5 4496 2224 ? S 23:57 0:00 proftpd:\ (accepting connections) |
Para testar o acesso ao servidor FTP anonimamente, forneça o usuário anonymous e uma string qualquer (um endereço de e-mail, por exemplo):
$ ftp localhost Connected to localhost 220 ProFTPD 1.2.9 Server Ready (ProFTPD - Instalação Padrão) Name (localhost:usuario): anonymous 331 Anonymous login ok, send your complete email address as your password. Password: 230 Acesso anônimo aceito para anonymous. Remote system type is UNIX. Using binary mode to transfer files. ftp> |
Note que a senha não é mostrada. O usuário anonymous não precisa (nem deve) ser cadastrado em seu Conectiva Linux, já que ele é um usuário especial para o servidor FTP. Quando é feita uma tentativa de acesso com o usuário anonymous, o servidor automaticamente trata o acesso como anônimo, aceitando o endereço de correio eletrônico como senha. Se algo não der certo, verifique se o pacote para acesso anônimo está instalado e reveja as configurações.
Você pode utilizar um arquivo .message para dar breves explicações sobre os propósitos dos diretórios que estão sendo acessados. Além disso, você poderia ajudar o usuário a encontrar o que ele está procurando. Para testar, crie um arquivo .message como um arquivo texto e coloque-o no diretório onde ele deve ser mostrado, com mensagens úteis sobre o acesso ao servidor FTP. Reinicialize o Proftpd e acesse o servidor novamente.