Total de visualizações de página

quinta-feira, 26 de maio de 2011

VIRTUAL HOSTS

O suporte a virtual hosts é um daqueles recursos fundamentais, que possibilitaram o surgimento da Internet da forma como a conhecemos hoje. Ele permite hospedar diversos sites, com domínios ou subdomínios diferentes usando um único servidor e um único endereço IP. Os únicos limitantes com relação ao volume de sites que é possível hospedar são os recursos de hardware do servidor e a banda disponível.

# ProFTPD Configuration
#
# Configuração do ProFTPD
#

ServerName "Servidor Proftpd"
#ServerName "ProFTPD - Instalação Default"
ServerType standalone
DefaultServer on
ScoreboardPath /var/run
DeferWelcome on
ServerAdmin root@localhost
SyslogFacility AUTH
Serverident on "Bem-Vindo ao Servidor de FTP"
# Port 21 (ftp standard) is used in case of standalone more
#
# Utiliza-se o port 21 (padrão ftp) no caso de funcionamento standalone
#
Port 21

# Umask 022 is a good default value to prevent new directories and
# files from being writable by the group or by other users
#
# Umask 022 é um bom padrão para prevenir que novos diretórios e
# arquivos sejam graváveis pelo grupo ou outros usuários
#
Umask 022

# To prevent DoS attacks, the max number of instances is limited to 30.
# If one wants to allow more then 30 simultaneous connectionva, just
# increment this value.
This directive only applies if running in standalone
# mode
#
# Para previnir ataques do tipo DoS, limita-se o numero de instâncias à
# 30. Caso se queira permitir mais de 30 conexões simultâneas, simplesmente
# aumenta-se este valor.
Esta diretiva só se aplica ao funcionamento
# standalone
MaxInstances 30

#
# This option, if enabled, will make the users unable to access anything
# outside their home directory tree.
READ THE DOCS!
#
# Esta opção, se habilitada, faz com que os usuários não consegam acessar nada
# fora da sua arvore do diretório home.
LEIA A DOCUMENTAÇÃO!
#
DefaultRoot ~
# User and Group the server will run as
#
# Usuário e grupo para o servidor
#
User nobody
Group nobody


AllowOverwrite no


# Default configuration for anonymous ftp, without an incoming directory.
# To activate, just uncomment it.
#
# Configuração básica para ftp anônimo, sem diretório para recepção
# de arquivos
# Para ativar, descomentar.
#
#
# User ftp
# Group ftp
# DirFakeUser on
# DirFakeGroup on
#
##
## This option will enable the ftp user without it having to have it's shell
## listed on the /etc/shells file
##
## Esta opção habilita o usuário ftp sem que mesmo precise ter sua shell listada
## no arquivo /etc/shells
##
# RequireValidShell off
#
# # ftp = anonymous
# UserAlias anonymous ftp
#
# # max anonymous logins at one time.
# # Uncomment one.
# #
# # número máximo de logins anônimos
# # Descomente um.
# MaxClients 10 "Número máximo de clientes, tente mais tarde."
# MaxClients 10 "No more clients allowed at this time. Try again latter."
#
# # No more then 2 connections per client
# # Uncomment one.
# #
# # No máximo duas conexões por cliente
# # Descomente um.
# MaxClientsPerHost 2 "Você já está com muitas conexões simultâneas."
# MaxClientsPerHost 2 "Too many simultaneous connections from your host."
#
# # welcome.msg is showed uppong connetiona, and .message at each directory
# # accessed
# #
# # welcome.msg mostrado na conexão e .message mostrado para cada
# # diretório acessado.
# #
# DisplayLogin welcome.msg
# DisplayFirstChdir .message
# AccessGrantMsg "Acesso anônimo aceito para %u."
# AccessGrantMsg "Anonymous access granted for %u."
#
# # Write is denied on the anonymous chroot
# #
# # Limite gravação no chroot anônimo
# #
#
# DenyAll
#

#
#

Utilizando o FTP

Entendendo!

Como ocorre a transferência de arquivos

A transferência de arquivos dá-se entre um computador chamado "cliente" (aquele que solicita a conexão para a transferência de dados) e um servidor (aquele que recebe a solicitação de transferência). O utilizador, através de software específico, pode selecionar quais arquivos enviar ou receber do servidor. Para existir uma conexão ao servidor,caso o servidor exija,o utilizador informa um nome de utilizador (ou username, em inglês) e uma senha (password), bem como o nome correcto do servidor ou seu endereço IP.

Se os dados foram informados corretamente, a conexão pode ser estabelecida.

Acesso aos servidores FTP

O acesso a servidores FTP pode ocorrer de dois modos: através de uma interface ou através da linha de comando, tanto usuários UNIX como usuários Windows podem acessar através dos dois modos. O modo linha de comando está presente em qualquer distribuição UNIX-like e Windows, através do telnet.

A partir de qualquer browser credenciado (Internet Explorer, Firefox, ou mesmo no Windows Explorer) também é possível aceder a um servidor FTP. Basta, para isso, digitar na barra de endereço:

; ftp:// [username]: [password] @ [servidor]

ENTER

Modos e interfaces

O protocolo subjacente ao FTP pode rodar nos modos interativo ou batch. O cliente FTP fornece uma interface interativa, enquanto que o MIME e o HTTP usam-no diretamente. O protocolo permite a gravação e obtenção de arquivos, a listagem da pasta e a alteração da pasta de trabalho. ok

Comandos do cliente FTP

Os servidores de FTP raramente mudam, mas novos clientes FTP aparecem com bastante regularidade. Estes clientes variam no número de comandos que implementam, a maioria dos clientes FTP comerciais implementam apenas um pequeno subgrupo de comandos FTP. Mesmo que o FTP seja um protocolo orientado a linha de comandos, a nova geração dos clientes FTP esconde esta orientação num ambiente gráfico, muitas vezes, muito desenvolvido.

A interface cliente do FTP do BSD UNIX é um padrão por si mesma, possuindo muitos comandos arcaicos: tenex ou carriage control que hoje não têm uso. Os comandos mais usados são o cd, dir, ls, get e put.

O FTP tem particularidades que são hoje pouco comuns. Depois da ativação do ftp, é estabelecida uma conexão ao host remoto. Esta conexão envolve o uso da conta do usuário no host remoto, sendo que alguns servidores FTP disponibilizam anonymous FTP.

Certos comandos são os que fazem a transferência bidirecional de arquivos, são eles:

· get do servidor FTP para o host local (mget para mais que um arquivo)

· put para o servidor FTP a partir do host local (mput para mais que um arquivo)

Nota: alguns comandos podem não funcionar com o usuário sendo anonymous, pois tal conta tem limitações de direitos a nível do sistema operacional.

Tradução de nomes de arquivos

A sintaxe dos nomes dos arquivos pode ser incompatível entre diferentes Sistemas Operacionais. OUNIX usa 128 caracteres, maiúsculas e minúsculas, enquanto que o DOS usa 8 + 3 caracteres e apenas maiúsculas. Certos nomes não podem ser usados em alguns sistemas. Devido a isto tudo o BSD ftp define regras para a tradução de nomes.

Mensagens FTP

O FTP permite dois modos de transferência de mensagens FTP: texto (com traduções apropriadas) ou binário (sem tradução). Cada mensagem do servidor inclui um identificador decimal de 3 dígitos (exemplo: 226 Transfer complete). Estas mensagens podem ser vistas ou não, usando para isso o modo verbose ou quiet, respectivamente.

Modo cliente-servidor do FTP

O servidor remoto aceita uma conexão de controle do cliente local. O cliente envia comandos para o servidor e a conexão persiste ao longo de toda a sessão (tratando-se assim de um protocolo que usa o TCP).

O servidor cria uma conexão de dados para a transferência de dados, sendo criada uma conexão para cada arquivo transferido. Estes dados são transferidos do servidor para o cliente e vice e versa.

Os comandos estão separados dos dados e o cliente pode enviar comandos durante a transferência de dados. O encerramento da conexão indica o fim do arquivo.

Lista de Comandos FTPs

Os comandos abaixo podem ser executados no FTP através da linha de comando. Os comandos do FTP podem ser abreviados, desde que não formem expressões ambíguas.

Os comandos podem estar abreviados. Seguem os comandos:

· !: Executa o comando na máquina local.

· ?: Semelhante a help.

· append: Adiciona dados a um arquivo existente.

· ascii: Configura o tipo de transferência de arquivos para ASCII.

· bell: Emite um bip quando um comando é executado.

· binary: Configura o tipo de transferência de arquivos para binário.

· bye: Encerra a sessão FTP.

· cd: Seguido de caminho/diretório muda para o diretório informado.

· delete: Apaga um arquivo. Para mais de um arquivo usa-se mdelete.

· debug: Estabelece a modalidade de depuração.

· dir: Mostra o conteúdo do diretório servidor atual.

· disconnect: Semelhante a bye.

· get: Obtêm um arquivo do servidor. Para mais de um arquivo usa-se mget.

· glob: Seleciona a expansão para nomes de arquivo.

· hash: Demonstra cada bloco do arquivo durante a transferência. Cada bloco compõe-se de 1024 bytes.

· help: Lista sumariamente todos comandos disponíveis.

· literal: Permite enviar comandos arbitrários.

· ls: Mostra 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/desativa o modo interativo.

· put: Envia um arquivo ao servidor. Para enviar mais de um arquivo usa-se mput.

· pwd: Mostra o diretório de trabalho.

· quit: Finaliza a sessão FTP.

· quote: Envia subcomandos do servidor FTP, como se encontram no servidor.

· recv: Similar a get.

· remotehelp: Solicita ajuda do servidor FTP remoto.

· rename: Renomeia um arquivo.

· send: Semelhante a put.

· status: Obtem informações de estado do servidor.

· trace: Demonstra o caminho percorrido pelo arquivo na transferência.

· type: Especifica o tipo de representação.

· user: Iniciar a sessão no servidor.

· verbose: Ativa/desativa a modalidade literal.

Diretivas e Comandos Úteis do PROFTPD

Diretiva

Função

Exemplo de Valor

ServerName

Mostrar uma string para o usuário quando este se conectar

“Bem vindo ao servidos de FTP da LBS”

ServerType

Define se o ProFTPd será executado com um daemon ou através de um NETD

standalone

DefaultServer

Define se a configuração do contexto principal será utilizado quando uma conexão se destina a um IP virtual não listado em

on

ScoreBoardPath

Determina em que diretório o ProFTPd gravará seus arquivosscoreboards. Estes arquivos são necessários para o controle utilizado pela direivaMaxClients.

/var/run

ServerAdmin

Um e-mail que poderá ser mostrado caso seja detectado algum problema.

root@localhost

SyslogFacility

Determina em que facility do syslog o ProFTPd usará para gerar seus logs.

AUTH

Port

Determina em que porta TCP o ProFTPd atenderá por conexões TCP/IP.

22

Umask

Seta a mascara de criação dos arquivos que foram feitos em uploads.

022

MaxInstances

Determina o numero Maximo de processos gerados para atender as conexões TCP/IP.

30

User

Determina com que UID o ProFTPd será executado.

Nobody

Group

Determina com que GID o ProFTPd será executado.

Nobody

DefaulRoot

Determina qual será o diretório raiz de cada instancia. O símbolo “til” (~) significa o diretório raiz do usuário que esta logando.

~

Comandos Úteis do ProFTPd:

Comando úteis

Função do comando

ftpcount

mostra o número atual de conexões ao servidor FTP

ftpwho

mostra quais usuários estão conectados atualmente

ftptop

mostra informações sobre as conexões num estilo parecido ao do comando top

ftpshut

tira o servidor FTP do ar, sem encerrar seu processo. Para retornar, deve-se executar "ftpshut -R"