Tópicos Especiais em Informática FTP Prof. Ms.-Eng. Igor Sousa Faculdade Lourenço Filho 3 de novembro de 2014 igorvolt@gmail.com (FLF) Tópicos Especiais em Informática 3 de novembro de 2014 1 / 18
Introdução Protocolo de Transferência de Arquivos, FTP, é um dos protocolos mais utilizados para realizar transferências de arquivos pela rede de computadores; A sigla FTP pode se referir tanto ao protocolo quanto ao programa que o implementa: Ex. servidor FTP. igorvolt@gmail.com (FLF) Tópicos Especiais em Informática 3 de novembro de 2014 2 / 18
Aspéctos Históricos 1971 - Primeiro protocolo a definir mecanismos para transferência de arquivos desenvolvido para ser implementado em hosts do MIT; 1972 - Após especificações descritas na RFC 354, o FTP passa a ser utilizado como o protocolo de transferência de arquivos da rede ARPAnet; 1973 - A RFC 454 é publicada como documento oficial do FTP, permanecendo a estrutura original já concebida; 1980 - com a transição do protocolo NCP para o TCP da rede ARPAnet, o FTP foi então especificado para ser usado com o protocolo TCP. igorvolt@gmail.com (FLF) Tópicos Especiais em Informática 3 de novembro de 2014 3 / 18
Características Implementa serviço de transferência de arquivos sob arquitetura TCP/IP; Baseado na estrutura Cliente-Servidor; Utiliza os serviços de transporte com conexão (TCP): Envio de mensagens; Permite a transferências de arquivos completos de uma estação para outra. igorvolt@gmail.com (FLF) Tópicos Especiais em Informática 3 de novembro de 2014 4 / 18
Características igorvolt@gmail.com (FLF) Tópicos Especiais em Informática 3 de novembro de 2014 5 / 18
Componentes Dica Cliente FTP: Utilizado pelos usuários para realizar a transferência de arquivos. Servidor FTP: Processa requisições de transferência de arquivos dos clientes FTP. Usuários devem ter conta de acesso no servidor; Protocolo FTP: Define um conjunto de comandos e respostas especificados no RFC 959. Caso o usuário não possua conta no servidor FTP as transferências serão realizadas através do usuário anonymous. igorvolt@gmail.com (FLF) Tópicos Especiais em Informática 3 de novembro de 2014 6 / 18
Tipos de Conexão Conexão de controle: Usada pelo cliente para enviar comandos ao servidor FTP; Usada pelo servidor para envio de respostas ao cliente; Permanentemente ativa durante toda a sessão; Servidor aguarda requisições de conexão na porta TCP 21. igorvolt@gmail.com (FLF) Tópicos Especiais em Informática 3 de novembro de 2014 7 / 18
Tipos de Conexão Conexão de dados: Usada pelo cliente e pelo servidor para transferência de arquivos: Arquivos do cliente para o servidor; Arquivos do servidor para o cliente; Listagem de diretórios do servidor para o cliente. Permanece ativa somente durante a transferência do arquivo ou listagem do diretório; Nova conexão de dados é criada para cada transferência de arquivos ou listagem do diretório; Servidor adota a porta TCP 20; igorvolt@gmail.com (FLF) Tópicos Especiais em Informática 3 de novembro de 2014 8 / 18
Instalação no Ubunto e derivados Instalação: apt-get install proftpd - (Modo privado); Configuração: Arquivo de configuração do servidor FTP no Ubuntu encontra-se em: /etc/proftpd/proftpd.conf igorvolt@gmail.com (FLF) Tópicos Especiais em Informática 3 de novembro de 2014 9 / 18
Configuração Arquivo /etc/proftpd/proftpd.conf igorvolt@gmail.com (FLF) Tópicos Especiais em Informática 3 de novembro de 2014 10 / 18
Configuração ServerName - define o nome do servidor quando o usuário se conectar; ServerIdent - configura a mensagem que é exibida quando um usuário se conecta ao servidor; ServerAdmin - define o e-mail do administrador do servidor; ServerType - configura o modo de funcionamento do ProFTPD; DefaultRoot - especifica o diretório raiz (chroot) utilizado pelo usuário que está acessando o servidor e para quais grupos isto é válido ou não; MaxClients - define o número máximo de usuários que podem acessar o servidor simultaneamente; MaxClientsPerHost - define o número máximo de usuários por máquina que podem acessar ao servidor. igorvolt@gmail.com (FLF) Tópicos Especiais em Informática 3 de novembro de 2014 11 / 18
Configuração Criando Contas de Usuário: Conta de usuário criada para permitir apenas conexões no servidor FTP; useradd -m -s /bin/false nomeusuario; passwd nomeusuario; Observação Como o usuário deve ter apenas direito a transferir arquivos entre seu host e o servidor FTP é utilizado como Shell padrão o /bin/false. Desta forma o usuário não poderá utilizar o shell o que impede de que esse usuário realize outros tipos de conexões, por exemplo, conexões SSH; Mesmo com as definições acima ainda há a necessidade de alterar a seguinte diretiva: RequireValidShell off. igorvolt@gmail.com (FLF) Tópicos Especiais em Informática 3 de novembro de 2014 12 / 18
FTP Público Definição Permite que todos possam acessar aos arquivos do diretório Home do usuário ftp, podendo utilizá-lo para compartilhar arquivos aos quais todos possam ter acesso. Contudo é possível apenas efetuar downloads. Configuração Para habilitar o modo FTP público, é necessário realizar a edição do arquivo de configuração proftpd.conf, desfazendo o comentário sobre Anonymous; igorvolt@gmail.com (FLF) Tópicos Especiais em Informática 3 de novembro de 2014 13 / 18
FTP Público igorvolt@gmail.com (FLF) Tópicos Especiais em Informática 3 de novembro de 2014 14 / 18
FTP Público Alerta! Após ter terminado as configurações reinicie o servidor proftpd: /etc/init.d/proftpd restart igorvolt@gmail.com (FLF) Tópicos Especiais em Informática 3 de novembro de 2014 15 / 18
FTP Privado igorvolt@gmail.com (FLF) Tópicos Especiais em Informática 3 de novembro de 2014 16 / 18
FTP Público igorvolt@gmail.com (FLF) Tópicos Especiais em Informática 3 de novembro de 2014 17 / 18
FTP Comandos! - Executa o comando na máquina local;? - Semelhante ao help; append - Adiciona dados a um arquivo existente; ascii - Configura o tipo de transferência de arquivos para ASCII; bell - Emite um bip quando o comando é executado; binary - Configura o tipo de transferência de arquivos para binário; bye - Encerra a sessão FTP; igorvolt@gmail.com (FLF) Tópicos Especiais em Informática 3 de novembro de 2014 18 / 18
FTP Comandos cd - Muda para o diretório informado como argumento; delete - Apaga um arquivo. Para múltiplos arquivos utiliza-se mdelete; debug - Estabelece a modalidade de depuração; dir - Mosta o conteúdo do diretório servidor atual; disconnect - Semelhante ao bye; get - Obtêm um arquivo do servidor. Para múltiplos arquivos utiliza-se mget; glob - Seleciona a expansão para nomes de arquivos; igorvolt@gmail.com (FLF) Tópicos Especiais em Informática 3 de novembro de 2014 19 / 18
FTP Comandos hash - Demonstra cada bloco do arquivo durante a transferência. Cada bloco compõe-se de 1024 bytes; help - Lista todos os comandos possíveis; literal - Permite enviar comandos arbitrários; ls - Exibe uma lista abreviada do conteúdo do diretório servidor. Para mais de uma pasta usa-se mls; mkdir - Cria um diretório ou subdiretório no servidor; prompt - Ativa ou desativa o modo interativo; pwd - Mostra o diretório de trabalho atual; igorvolt@gmail.com (FLF) Tópicos Especiais em Informática 3 de novembro de 2014 20 / 18
FTP Comandos quit - Finaliza a sessão FTP; quote - Envia subcomandos do servidor FTP, como se encontram no servidor; recv - Similar ao get; remotehelp - Solicita ajuda do servidor FTP remoto; rename - Renomeia um arquivo; send - Semelhante ao put; status - Obstem informações do estado do servidor; igorvolt@gmail.com (FLF) Tópicos Especiais em Informática 3 de novembro de 2014 21 / 18
FTP Comandos trace - Demonstra o caminho percorrido pelos arquivos de transferência; type - Especifica o tipo de representação; user - Inicia a sessão no servidor; verbose - Ativa/desativa a modalidade literal; igorvolt@gmail.com (FLF) Tópicos Especiais em Informática 3 de novembro de 2014 22 / 18