Você está na página 1de 113

Ubuntu Server Guide

Ubuntu Documentation Project <ubuntu-doc@lists.ubuntu.com>


Ubuntu Server Guide
por Ubuntu Documentation Project <ubuntu-doc@lists.ubuntu.com>
Copyright 2004, 2005, 2006 Canonical Ltd. and members of the Ubuntu Documentation Project
Resumo
Uma introduo instalao e configurao de aplicaes de servidor no Ubuntu.
Crditos e licena
A Equipa de Documentao do Ubuntu encarregue de manter este documento :
Bhuvaneswaran Arumugam
The Ubuntu Server Guide is also based on the contributions of:
Robert Stoffers
Brian Shumate
Rocco Stanzione
Este documento disponibilizado sob uma estratgia de licena dupla que inclui a GNU Free Documentation License (GFDL) e a licena
Creative Commons ShareAlike 2.0 (CC-BY-SA).
livre de modificar, extender e melhorar a fonte da documentao Ubuntu sobre os termos das seguintes licenas. Todo o trabalho que
derive desta documentao ter de ser ser disponibilizado sobre os termos de uma destas licenas.
Esta documentao distribuda com a esperana de que seja til, mas SEM NENHUMA GARANTIA; sem mesmo a garantia implcita de
MERCANTIBILIDADE ou ADAPTAO A UM PREPSITO ESPECFICO COMO DESCRITO NAS DISPOSIES LEGAIS.
Cpias destas licenas esto disponveis na seco de apndices deste livro. Verses online podem ser encontradas nos seguintes URLs:
GNU Free Documentation License [http://www.gnu.org/copyleft/fdl.html]
Attribution-ShareAlike 2.0 [http://creativecommons.org/licenses/by-sa/2.0/]
Disclaimer
Every effort has been made to ensure that the information compiled in this publication is accurate and correct. However, this does not
guarantee complete accuracy. Neither Canonical Ltd., the authors, nor translators shall be held liable for possible errors or the consequences
thereof.
Some of the software and hardware descriptions cited in this publication may be registered trademarks and may thus fall under copyright
restrictions and trade protection laws. In no way do the authors make claim to any such names.
THIS DOCUMENTATION IS PROVIDED BY THE AUTHORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
iii
ndice
About This Guide .............................................................................................................. vi
1. Conventions ........................................................................................................... vii
2. Contributing and Feedback ..................................................................................... viii
1. Introduo ...................................................................................................................... 9
2. Instalao ....................................................................................................................... 10
1. Preparar a Instalao .............................................................................................. 11
2. Instalar a partir do CD ........................................................................................... 12
3. Gesto de Pacotes .......................................................................................................... 13
1. Introduo .............................................................................................................. 14
2. Apt-Get ................................................................................................................. 15
3. Aptitude ................................................................................................................. 17
4. Configurao .......................................................................................................... 19
5. Repositrios Extra .................................................................................................. 20
4. Rede .............................................................................................................................. 21
1. Configurao de Rede ............................................................................................ 22
2. TCP/IP .................................................................................................................. 25
3. Configurao da Firewall ....................................................................................... 29
4. Servidor OpenSSH ................................................................................................. 32
5. Servidor FTP ......................................................................................................... 35
6. Sistema de Ficheiros de Rede - Network File System (NFS) ...................................... 37
7. Protocolo de Configurao Dinmica da Mquina Dynamic Host Configuration Protocol
(DHCP) ..................................................................................................................... 39
8. Servio de Nomes de Domnios Domain Name Service DNS ..................................... 42
9. Servidor de Impresso - CUPS ................................................................................ 44
10. HTTPD - Servidor Web Apache2 .......................................................................... 47
11. PHP5 - Scripting Language ................................................................................... 57
12. Squid - Servidor Proxy ......................................................................................... 59
13. Sistema de Controlo de Verses ............................................................................ 61
14. Bases de Dados .................................................................................................... 68
15. Servios de Correio Electrnico ............................................................................ 71
16. Time Synchronisation with NTP ............................................................................ 83
5. Redes Windows ............................................................................................................. 85
1. Introduo .............................................................................................................. 86
2. Instalar o SAMBA ................................................................................................. 87
3. Configurar o SAMBA ............................................................................................ 88
A. Creative Commons by Attribution-ShareAlike 2.0 ........................................................... 94
B. GNU Free Documentation License ................................................................................. 99
1. PREAMBLE .......................................................................................................... 100
2. APPLICABILITY AND DEFINITIONS .................................................................. 101
3. VERBATIM COPYING ......................................................................................... 103
Ubuntu Server Guide
iv
4. COPYING IN QUANTITY .................................................................................... 104
5. MODIFICATIONS ................................................................................................. 105
6. COMBINING DOCUMENTS ................................................................................. 107
7. COLLECTIONS OF DOCUMENTS ....................................................................... 108
8. AGGREGATION WITH INDEPENDENT WORKS ................................................ 109
9. TRANSLATION .................................................................................................... 110
10. TERMINATION .................................................................................................. 111
11. FUTURE REVISIONS OF THIS LICENSE .......................................................... 112
12. ADDENDUM: How to use this License for your documents ................................... 113
v
Lista de Tabelas
2.1. Requisitos Mnimos Recomendados .............................................................................. 11
4.1. Mtodos de Acesso ...................................................................................................... 62
vi
About This Guide
About This Guide
vii
1. Conventions
The following notes will be used throughout the book:
A note presents interesting, sometimes technical, pieces of information related to the
surrounding discussion.
A tip offers advice or an easier way of doing something.
A caution alerts the reader to potential problems and helps avoid them.
A warning advises the reader of a hazard that may arise in a given scenario.
Cross-reference conventions for print will be displayed as follows:
Links to other documents or websites will look like this [http://www.ubuntu.com].
PDF, HTML, and XHTML versions of this document will use hyperlinks to handle
cross-referencing.
Type conventions will be displayed as follows:
File names or paths to directories will be shown in monospace.
Commands that you type at a Terminal command prompt will be shown as:
command to type
Options that you click, select, or choose in a user interface will look like this.
Menu selections, mouse actions, and keyboard short-cuts:

A sequence of menu selections will be displayed as follows: File Open


Mouse actions shall assume a right-handed mouse configuration. The terms click and
double-click refer to using the left mouse button. The term right-click refers to using the right
mouse button. The term middle-click refers to using the middle mouse button, pressing down on
the scroll wheel, or pressing both the left and right buttons simultaneously, based on the design of
your mouse.
Keyboard shortcut combinations will be displayed as follows: Ctrl-N .Where the conventions for
Control, Shift, and Alternate keys will be Ctrl, Shift, and Alt, respectively, and shall mean
the first key is to be held down while pressing the second key.
About This Guide
viii
2. Contributing and Feedback
This book is developed by the Ubuntu Documentation Team
[https://wiki.ubuntu.com/DocumentationTeam]. You can contribute to this document by sending
ideas or comments to the Ubuntu Documentation Team mailing list. Information about the
team, its mailing lists, projects, etc. can be found on the Ubuntu Documentation Team Website
[https://wiki.ubuntu.com/DocumentationTeam].
If you see a problem with this document, or would like to make a suggestion, you can simply file a
bug report at the Ubuntu Bugtracker [https://launchpad.net/products/ubuntu-doc/+bugs]. Your help is
vital to the success of our documentation!
Many thanks,
-Your Ubuntu Documentation Team
9
Captulo 1. Introduo
Welcome to the Ubuntu Server Guide!
The Ubuntu Server Guide contains information on how to install and configure various server
applications on your Ubuntu system to fit your needs. It is a step-by-step, task-oriented guide for
configuring and customizing your system. This manual discusses many intermediate topics such as
the following:
Configurao de Rede
Configurao do Apache2
Bases de Dados
Redes Windows
Este manual est dividido nas seguinte categorias principais:
Instalao
Gesto de Pacotes
Rede
Redes Windows
Este guia assume que tem conhecimentos bsicos do seu sistema Ubuntu. Se precisa de ajuda
detalhada a instalar o Ubuntu, recorra ao Guia de Instalao do Ubuntu.
HTML and PDF versions of the manual are available online at the Ubuntu Documentation website
[http://help.ubuntu.com].
You can buy this guide in book form from our Lulu store [http://www.lulu.com/ubuntu-doc]. You
will only pay for the price of printing and postage.
10
Captulo 2. Instalao
This chapter provides a quick overview of installing Ubuntu 6.10 Server Edition. For more detailed
instructions, please refer to the Ubuntu Installation Guide.
Instalao
11
1. Preparar a Instalao
Esta seco explica vrios aspectos a considerar antes de comear a instalao.
1.1. Requisitos de Sistema
Ubuntu 6.10 Server Edition supports three (3) major architectures: Intel x86, AMD64, and PowerPC.
The table below lists recommended hardware specifications. Depending on your needs, you might
manage with less than this. However, most users risk being frustrated if they ignore these suggestions.
Tabela 2.1. Requisitos Mnimos Recomendados
Tipo de Instalao RAM Espao em Disco
Servidor 64 megabytes 500 megabytes
The default profile for the Ubuntu 6.10 Server Edition is shown below. Once again, the size of the
installation will greatly depend on the services you install during setup. For most administrators, the
default services are suitable for general server use.
Servidor
Correspondem ao perfil de um pequeno servidor, que fornece uma base comum para todos os
tipos de aplicaes servidoras. uma instalao mnima desenhada para ter de incio todos os
servios desejados, tais como servidor de ficheiros / impressora, alojamento de pginas web,
alojamento de correio electrnico, etc.. Para estes servios pelo menos 500MB de espao em
disco sero suficientes, mas considere a possibilidade de adicionar mais espao, dependendo dos
servios que quiser alojar no seu servidor.
Lembre-se que estes tamanhos no incluem todos os outros materiais que normalmente so
encontrados no servidor, tais como: ficheiros dos utilizadores, mensagens de correio electrnico,
registos e dados. sempre bom ser generoso ao considerar o espao para os seus ficheiros e dados.
1.2. Efectuando a Segurana
Antes de comear, assegure-se de copiar todos os ficheiros actualmente no seu sistema. Se esta a
primeira vez que um sistema operativo no nativo instalado no seu computador, muito provvel
que necessite reparticionar o seu disco para criar espao para o Ubuntu. Sempre que particiona um
disco, deve estar preparado para a eventualidade de perder tudo o que tem nesse disco, devido a
um engano, ou porque alguma coisa corre mal, por exemplo uma falha de energia. Os programas
utilizados na instalao so fiveis, e muitos deles tm anos de utilizao, mas tembm realizam
aces destrutivas, e um engano pode resultar na perda de dados valiosos.
Se voc est a criar um sistema com vrias opes de arranque, certifique-se que tem mo os
meios de instalao dos outros sistemas operativos instalados. Especialmente se reparticionar a
sua unidade de arranque, voc pode descobrir que tem de reinstalar o gestor de arranque do seu
sistema operativo, ou em muitos casos o sistema operativo em si e todos os ficheiros nas parties
afectadas.
Instalao
12
2. Instalar a partir do CD
Insira o CD de instalao na sua unidade de CD-ROM e reinicie o computador. O sistema de
instalao comea imediatamente aps o processo de arranque a partir do CD-ROM. Uma vez
iniciado aparece um primeiro ecr.
Neste ponto leia o texto que tem no ecr. Se quiser ler a ajuda fornecida pelo sistema de instalao
pressione a tecla F1.
Para efectuar uma instalao do servidor com os valorespr-definidos, seleccione Instalar para o
disco rgido e prima Enter. O processo de instalao iniciar-se-. Siga simplesmente as instrues no
ecr, e o seu sistema Ubuntu ser instalado.
Em alternativa, para instalar um servidor LAMP (Linux, Apache, MySQL, PHP/Perl/Python),
seleccione Instalar um servidor LAMP , e siga as instrues
13
Captulo 3. Gesto de Pacotes
O Ubuntu apresenta um sistema acessvel de gesto de pacotes para instalao, actualizao,
configurao e remoo de software. Para alm de disponibilizar o acesso a uma base organizada
de mais de 17000 pacotes de software para o seu computador Ubuntu, a gesto de pacotes tambm
facilita a resoluo de dependncias e a verificao de existncia de actualizaes.
Vrias ferramentas esto disponveis para interagir com o sistema de gesto de pacotes do Ubuntu,
desde simples utilitrios de linhas de comandos que podem ser facilmente automatizados por
administradores de sistemas, at um sistema com interface grfico que pode ser facilmente utilizado
por utilizadores novatos no Ubuntu.
Gesto de Pacotes
14
1. Introduo
O sistema de gesto de pacotes do Ubuntu derivado do mesmo sistema utilizado pelo Debian
GNU/Linux. Os ficheiros dos pacotes contm todos os ficheiros necessrios, meta-dados, e instrues
para implementar uma funcionalidade ou aplicao de software em particular no seu computador
Ubuntu.
Os ficheiros de pacotes do Debian tm habitualmente a extenso '.deb', e tipicamente existem em
repositrios que so coleces de pacotes disponveis em vrios suportes, tais como CD-ROM ou
online. Os pacotes esto normalmente num formato binrio pr-compilado, pelo que a instalao
rpida e no necessita de software de compilao.
Muitos pacotes complexos utilizam o conceito de dependncias. Dependncias so pacotes adicionais
necessrios ao pacote principal para que este possa funcionar correctamente. Por exemplo, o pacote de
sintetizao de voz Festival depende do pacote festvox-kalpc16k, que o pacote que fornece uma das
vozes utilizada pela aplicao. Para que a aplicao Festival funcione todas as dependncias tm que
ser instaladas em conjunto com o pacote principal. As ferramentas de gesto de software no Ubuntu
fazem isto automaticamente.
Gesto de Pacotes
15
2. Apt-Get
O comando apt-get uma ferramenta poderosa em linha de comandos utilizada para trabalhar com
o APT Advanced Packaging Tool do Ubuntu efectuando funes tais como a instalao de novos
pacotes de software, actualizao dos pacotes instalados, actualizao da lista de pacotes, e at a
actualizao completa do sistema Ubuntu.
Sendo uma simples ferramenta de linha de comandos, o apt-get tem inmeras vantagens sobre
outras ferramentas de gesto de pacotes disponveis para os administradores de sistemas. Algumas
dessa vantagens incluem uma fcil utilizao atravs de simples ligaes via terminal (SSH) e a
possibilidade de ser utilizado em programas scripts de administrao, que podem podem ser activados
pelo utilitrio de agendamento de tarefas cron.
Alguns exemplos de utilizaes populares para o utilitrio apt-get:
Instalar um Pacote: A instalao de pacotes utilizando a ferramenta apt-get muito simples. Por
exemplo, para instalar a aplicao de anlise de redes nmap, digite o seguinte seguinte comando:
sudo apt-get install nmap
Remover um Pacote: A remoo de um ou mais pacotes tambm um processo simples. Para
remover o pacote nmap instalado no exemplo anterior, digite o seguinte comando:
sudo apt-get remove nmap
Mltiplos Pacotes: Pode indicar vrios pacotes para serem instalados ou removidos
simultaneamente separando os nomes por espaos.
Actualizao da Lista de Pacotes: O ndice de pacotes do APT essencialmente uma base de
dados dos pacotes diponveis nos repositrios definidos no ficheiro /etc/apt/sources.list. Para
actualizar a lista local de pacotes com as ltimas alteraes efectuadas nos repositrios, escreva o
seguinte comando:
sudo apt-get update
Upgrade de Pacotes: Upgrade das verses dos pacotes instalados no seu sistema podem estar
disponveis nos repositrios (por exemplo actualizaes de segurana). Para efectuar o upgrade do
seu sistema actualize em primeiro lugar a lista de pacotes como indicado acima, depois escreva:
sudo apt-get upgrade
Se um pacote necessita instalar ou remover novos pacotes dos quais depende quando pretendemos
fazer o upgrade, o comando upgrade no o far. Para esta actualizao necessrio utilizar o
comando dist-upgrade.
Also, you may upgrade your entire Ubuntu system from one revision to another with dist-upgrade.
For example, to upgrade from Ubuntu version 5.10 to version 6.10, you would first ensure
Gesto de Pacotes
16
the version 6.10 repositories replace the existing 5.10 repositories in your computer's
/etc/apt/sources.list, then simply issue the apt-get update command as detailed above, and
finally, perform the actual upgrade by typing:
sudo apt-get dist-upgrade
Aps um tempo relativamente grande o seu computador estar actualizado para a nova reviso.
Tipicamente, alguns passos ps actualizao sero requeridos tal como indicado nas notas de
actualizao da reviso para a qual est a efectuar a actualizao.
As aces do comando apt-get, tais como instalao e remoo de pacotes, esto registadas num
ficheiro /var/log/dpkg.log .
Para mais informaes sobre o uso do APT leia o extensivo Manual de utlizador Debian APT
[http://www.debian.org/doc/user-manuals#apt-howto] ou escreva:
apt-get help
Gesto de Pacotes
17
3. Aptitude
Aptitude uma interface em modo de texto baseada em menus, para o sistema APT Advanced
Packaging Tool. Muitas das funes comuns de gesto de pacotes, tais como a instalao, remoo
e actualizao, so efectuadas no Aptitude com comandos de uma nica tecla, habitualmente letras
minsculas.
Aptitude indicada para um ambiente no grfico de terminal para assegurar um melhor
funcionamento do teclado. Pode iniciar a aplicao Aptitude como um utilizador normal, escrevendo
na linha de comandos o seguinte comando:
sudo aptitude
Quando o Aptitude inicia, ir ver uma barra de menu no topo do ecr e duas seces abaixo da barra
de menu. A seco de cima contm as categorias de pacotes, tal como Novos Pacotes e Pacotes No
Instalados. A seco de baixo contm informao relativa aos pacotes e suas categorias.
Usar o Aptitude para gesto de pacotes relativamente simples, e a interface do utilizador torna
simples tarefas comuns. Seguem-se exemplos de funes populares de gesto de pacotes atravs do
Aptitude:
Instalar Pacotes: Para instalar um pacote, localize-o via a categoria Pacotes No Instalados, por
exemplo, usando as setas do teclado e a tecla ENTER, e escolha o pacote que deseja instalar. Aps
escolher o pacote a instalar, pressione a tecla +, e a entrada do pacote ir tornar-se verde, indicando
que foi marcado para instalao. De seguide pressione g para lhe ser apresentado o sumrio das
aces do pacote. Pressione g novamente, e ser-lhe- pedido que se torne superutilizador para
completar a instalao. Pressione ENTER o que ir resultar num pedido de palavra-chave. Insira
a palavra-chave do utilizador para se tornar superutilizador. Finalmente, pressione g mais uma vez
e ser-lhe- dito para fazer o download do pacote. Pressione ENTER na prompt Continuar, e ir
comear o download e instalao do pacote.
Remover Pacotes: Para remover um pacote, localize o mesmo via a categoria Pacotes Instalados,
por exemplo usando as setas de direco no teclado e o ENTER, at o pacote desejado estar
evidenciado. Depois deste passo, prima a tecla - e a entrada referente a este pacote assumir uma
cor rosa, indicando que foi marcada para remoo. De seguida prima a tecla g para que lhe seja
apresentado um sumrio das opes disponveis para o pacote. Volte a premir a tecla g e ser-lhe-
solicitado que se assuma como o utilizador root para completar a tarefa. Prima ENTER mais uma
vez obtendo assim uma caixa de dilogo solicitando a insero da password. Insira a password
do administrador/root. Finalmente prima g mais uma vez e ser-lhe- indicada a aco a decorrer.
Pressione ENTER na prompt Continuar e a remoo do pacote ter incio.
Actualizar o ndice de pacotes: para actualizar o ndice dos pacotes, simplesmente prima a tecla
u e ser-lhe- solicitado que assuma o papel de root para concluir a tarefa. Prima ENTER e insira a
password do utilizador root. A actualizao ter incio aps carregar uma vez mais em ENTER na
caixa de dilogo seguinte.
Gesto de Pacotes
18
Actualizar Pacotes: Para actualizar pacotes, proceda actualizao do ndice de pacotes como
explicado acima, e depois pressione a tecla U para marcar todos os pacotes actualizaveis. Agora
pressione g aps o que lhe ser mostrado um sumrio de aces ds pacotes. Pressione g novamente,
e ser-lhe- pedido que se torne administrador (root) para completar a instalao. Pressione
ENTER o que resultar num pedido de palavra passe (Password:). Digite a sua palavra passe
de administrador. Finalmente, pressione g mais uma vez, e ser-lhe- perguntado se quer fazer
download do pacote. Pressione ENTER em Continue, e a actualizao de pacotes comear.
A primeira coluna de informao apresentada na lista de pacotes no painel superior, quando se
visualiza efectivamente a listagem do estado actual dos pacotes, e utiliza a seguinte chave para
descrever o estado do pacote:
i: Pacote instalado.
c: Pacote no instalado, mas a respectiva configurao mantm-se no sistema.
p: Eliminado do sistema
v: Pacote virtual
B: Pacote danificado (broken)
u: Ficheiros descomprimidos (unpacked), mas o pacote no est ainda configurado
C: Parcialmente configurado - Configurao falhada e requer reparao
H: Parcialmente instalado - Remoo falhada e requer reparao
Para sair do Aptitude, pressione simplesmente a tecla q e confirme que pretende sair. Muitas outras
funes esto disponveis no menu do Aptitude pressionando a tecla F10.
Gesto de Pacotes
19
4. Configurao
A configurao dos repositrios do Utilitrio Avanado de Pacotes (APT) est armazenada no
ficheiro de configurao /etc/apt/sources.list. Um exemplo deste ficheiro est referenciado aqui, em
conjunto com informao para adicionar ou remover repositrios do ficheiro.
Aqui [../sample/sources.list] um exemplo simples do contedo tpico do ficheiro
/etc/apt/sources.list.
Pode editar o ficheiro para activar ou desactivar repositrios. Por exemplo, para desactivar o pedido
de insero do CD-ROM do Ubuntu sempre que ocorrem operaes referentes a pacotes, coloque um
comentrio na linha apropriada que aparece no incio do ficheiro:
# No voltar a pedir o CD
# deb cdrom:[Ubuntu 6.06 _Dapper Drake_ - Release i386 (20060329.1)]/ dapper main restricted
Gesto de Pacotes
20
5. Repositrios Extra
Em adio aos repositrios dos pacotes oficialmente suportados e disponveis para o Ubuntu, existem
repositrios adicionais mantidos pela comunidade que acrescentam milhares de pacotes potenciais
para instalao. Destes, dois so muito populares, os repositrios Universe e Multiverse. Estes
repositrios no so oficialmente suportados pelo Ubuntu, razo pela qual no esto activados
por omisso, mas geralmente fornecem pacotes que podem ser utilizados de forma segura no seu
computador Ubuntu.
Os pacotes do repositrio Multiverse tm frequentemente licenas que impedem a sua
distribuio com um sistema operativo gratuito, e podem ser ilegais no seu pas ou regio.
Tenha em ateno que os repositrios Universe ou Multiverse no contm pacotes
suportados oficialmente. Em particular, podem no existir actualizaes de segurana para
esses pacotes.
Muitas outras fontes de pacotes esto disponveis, por vezes contendo apenas um pacote, como no
caso de uma fonte fornecida pelo programador de apenas uma aplicao. No entanto deve ter sempre
um extremo cuidado e precauo quando utiliza pacotes no padro. Pesquise a origem e os pacotes
antes de os instalar, dado que algumas fontes e os respectivos pacotes podem tornar o seu sistema
instvel ou impedi-lo de funcionar.
Para activar os repositrios Universe e Multiverse, edite o ficheiro /etc/apt/sources.list e retire o
carcter de comentrio "#" das linhas apropriadas.
# Queremos os repositrios Universe e Multiverse, por favor
deb http://archive.ubuntu.com/ubuntu dapper universe multiverse
deb-src http://archive.ubuntu.com/ubuntu dapper universe multiverse
5.1. Referncias
Como Adicionar Repositrios (Ubuntu Wiki) [https://wiki.ubuntu.com/AddingRepositoriesHowto]
21
Captulo 4. Rede
Uma rede consiste em dois ou mais dispositivos, tais como computadores, impressoras e equipamento
relacionado ligados por cablagem ou sem fios com a finalidade de partilhar e distribuir informao
entre os dispositivos ligados.
Esta seco do Guia do Servidor Ubuntu fornece informao geral e especfica sobre redes, incluindo
uma apresentao de conceitos de redes e uma discusso detalhada dos protocolos de rede e
aplicaes de servidor mais populares.
Rede
22
1. Configurao de Rede
O Ubuntu vem com alguns utilitrios em ambiente grfico para configurao de dispositivos de rede.
Este documento est orientado para administradores de servidores, e focar-se- na gesto da rede a
partir da linha de comandos.
1.1. Ethernet
A maioria da configurao dos dispositivos ethernet est centralizada num nico ficheiro,
/etc/network/interfaces. Se no tiver dispositivos ethernet, apenas a interface loopback aparecer
neste ficheiro, de forma semelhante a esta:
# Este ficheiro descreve os interfaces de rede disponveis no seu sistema
# e como os activar. Para mais informao veja o manual de interfaces(5).
# A interface de rede loopback
auto lo
iface lo inet loopback
address 127.0.0.1
netmask 255.0.0.0
Se tiver apenas um dispositivo ethernet, eth0, que obtm a sua configurao de um servidor DHCP,
e que deva ser activado automaticamente no arranque do sistema, so necessrias apenas duas linhas
adicionais:
auto eth0
iface eth0 inet dhcp
A primeira linha especifica que que o dispositivo eth0 deve ser automaticamente activado no
arranque. A segunda linha significa que a interface (iface) eth0 deve ter um endereo IPv4
(substitua inet por inet6 para um dispositivo IPv6) e que deve obter a sua configurao
automaticamente a partir de DHCP. Assumindo que a sua rede e o servidor DHCP esto
correctamente configurados, esta mquina no deve necessitar de configurao adicional para
funcionar. O servidor DHCP fornecer a porta de ligao (gateway) por omisso (implementado
atravs do comando route), o endereo IP do dispositivo (implementado atravs do comando ifconfig,
e os servidores de DNS utilizados na rede (implementado no ficheiro /etc/resolv.conf).
Para configurar o seu dispositivo ethernet com um endereo IP fixo e uma configurao
personalizada, algumas informaes sero necessrias. Suponha que pretende atribuir o
endereo IP 192.168.0.2 ao dispositivo eth1, com a mscara de rede habitual 255.255.255.0.
A sua porta de ligao por omisso 192.168.0.1 . Dever introduzir o seguinte no ficheiro
/etc/network/interfaces:
iface eth1 inet static
address 192.168.0.2
netmask 255.255.255.0
gateway 192.168.0.1
Rede
23
Neste caso necessita especificar os servidores de DNS manualmente em /etc/resolv.conf, que
dever ficar semelhante a isto:
search mydomain.com
nameserver 192.168.0.1
nameserver 4.2.2.2
A directiva search acrescenta mydomain.com s pesquisas de nomes de computadores ao tentar
resolver nomes na sua rede. Por exemplo, se o domnio da sua rede for mydomain.com e voc
tentar efectuar um ping para o computador mybox, a pesquisa de DNS ser modificada para
mybox.mydomain.com para resoluo de nomes. As directivas nameserver especificam os
servidores de DNS a utilizar para converter os nomes dos computadores para endereos IP. Se voc
utilizar os seus prprios servidores de nomes, coloque-os aqui. Caso contrrio, pergunte ao seu
Fornecedor de Servios de Internet quais os servidores de DNS primrio e secundrio a utilizar, e
coloque-os no /etc/resolv.conf como indicado acima.
Muitas mais configuraes so possveis, incluindo interfaces de marcao telefnica PPP, redes
IPv6, dispositivos VPN, etc.. Consulte man 5 interfaces para saber mais informaes e opes
suportadas. Lembre-se que o ficheiro /etc/network/interfaces utilizado pelos scripts ifup/ifdown
como a configurao de mais alto nvel que pode ser utilizada noutras distribuies de Linux, e que os
tradicionais utilitrios de baixo nvel, tais como ifconfig, route, e dhclient ainda esto disponveis para
configuraes ad hoc.
1.2. Gerindo Entradas de DNS
Esta seco explica como configurar o servidor de nomes a utilizar aquando da converso de
endereos IP para nomes de mquinas e vice versa. No explica como configurar um sistema como
servidor de nomes.
Para gerir entradas de DNS, pode adicionar, editar ou remover nomes de DNS do ficheiro
/etc/resolv.conf. Um ficheiro de exemplo sample file [../sample/resolv.conf] dado abaixo:
search com
nameserver 204.11.126.131
nameserver 64.125.134.133
nameserver 64.125.134.132
nameserver 208.185.179.218
A palavra search indica a cadeia de carcteres a juntar no final de um nome de computador
incompleto. Aqui, mencion-mo-lo como com. Assim, quando executamos o comando: ping ubuntu,
ele ser interpretado como ping ubuntu.com.
A palavra nameserver indica o endereo IP do servidor de nomes. Este ser utilizado para determinar
um endereo IP ou um nome de computador. Este ficheiro pode ter entradas para vrios servidores de
nomes. Os servidores de nomes sero utilizadores pela pesquisa de rede pela mesma ordem.
Rede
24
Se os nomes dos servidores DNS so obtidos dinamicamente a partir de DHCP ou PPPOE
(obtidos a partir do seu ISP), no adicione entradas de "nameserver" neste ficheiro. Eles
sero actualizados automaticamente.
As alteraes que fizer no /etc/resolv.conf sero apagadas quando reiniciar o sistema. Se
deseja tornar estas alteraes permanentes deve instalar o pacote resolvconf e actualizar a
informaao de DNS no ficheiro /etc/resolvconf/resolv.conf.d/base fornecido por este
pacote.
1.3. Gerindo Computadores
Para gerir servidores, pode adicionar, editar, ou remover servidores do ficheiro /etc/hosts. Este
ficheiro contm endereos IP e os correspondentes nomes associados. Quando o seu sistema tenta
traduzir o nome de uma mquina para um endereo IP ou determinar o nome de uma mquina para
um endereo IP, vai verificar o ficheiro /etc/hosts antes de recorrer aos servidores de nomes. Se
o endereo IP est listado no ficheiro /etc/hosts, os servidores de nomes no so utilizados. Este
comportamento pode ser alterado por edio do ficheiro /etc/nsswitch.conf.
Se a sua rede contm computadores cujos endereos IP no esto listados em DNS, recomendado
que os adicione ao ficheiro /etc/hosts.
Rede
25
2. TCP/IP
O Transmission Control Protocol e o Internet Protocol (TCP/IP) um conjunto padro de protocolos
desenvolvido nos finais dos anos 70 pelo Defense Advanced Research Projects Agency (DARPA)
como forma de comunicao entre diferentes tipos de computadores e redes de computadores.
O TCP/IP a fora impulsionadora da Internet, e como tal este o conjunto de protocolos mais
populares da Terra.
2.1. Introduo ao TCP/IP
Os dois componentes do protocolo TCP/IP lidam com diferentes aspectos das redes de computadores.
O Internet Protocol, o "IP" do TCP/IP um protocolo independente da conexo que lida apenas com
o encaminhamento de pacotes na rede utilizando o IP datagram como a unidade bsica de informao
na rede. O datagrama IP consiste num cabealho seguido de uma mensagem. O Transmission Control
Protocol o "TCP" do TCP/IP e permite aos computadores da rede estabelecer ligaes que podem
ser utilizadas para intercmbio de sries de dados. O TCP tambm garante que os dados entre ligaes
so entregues e chegam a um computador da rede pela mesma ordem em que foram enviados de outro
computador da rede.
2.2. Configurao de TCP/IP
A configurao do protocolo TCP/IP consiste em vrios elementos que devem ser ajustados
editando os ficheiros apropriados, ou aplicando solues tais como o servidor Dynamic Host
Configuration Protocol (DHCP) que por sua vez pode ser configurado para fornecer as configuraes
de TCP/IP correctas ao cliente, automaticamente. Os dados desta configurao devem ser ajustados
correctamente por forma a facilitar o correcto funcionamento na rede do seu sistema Ubuntu.
Os elementos da configurao comum do TCP/IP e as suas finalidades so as seguintes
Endereo IP O endereo IP um identificador nico apresentado como quatro nmeros decimais
limitados entre zero (0) e duzentos e cinquenta e cinco (255), separados por pontos (.), cada um dos
quatro nmeros reprensenta oito (8) bits do endereo, para um comprimento total do endereo de
trinta e dois (32) bits. Este formato chamado dotted quad notation.
Netmask A Mscara de Sub-rede, (ou simplesmente netmask uma mscara de bits, ou um
conjuntos de marcas que separam as partes do endereo IP significativas para a rede, das
significativas para a sub-rede. Por exemplo, numa rede classe C, a mscara de rede padro
255.255.255.0 o que mascra os trs primeiros bytes do endereo IP e permite que o ltimo byte se
mantenha disponvel para indicar os computadores na sub-rede.
Endereo de Rede O Endereo de Rede representa os bytes correspondentes a poro relativa
rede de um endereo IP. Por exemplo, a mquina 12.128.1.2 numa rede da Classe A que
utilize o 12.0.0.0 como endereo de rede, utiliza o doze (12) para representar o primeiro byte do
endereo IP, (parte relativa rede) e zeros (0) em todos os trs bytes restantes para representar
potenciais endereos de mquinas. Mquinas numa rede utilizando os endereos IP privados como
Rede
26
o 192.168.1.100, muito comuns, utilizariam por sua vez um Endereo de Rede 192.168.1.0, que
especifica os primeiros trs bytes de uma rede da Classe C 192.168.1 e zero (0) para todos os
possveis endereos de mquinas na rede.
Endereo de Difuso O Endereo de difuso Broadcast Address um endereo que permite
o envio de dados da rede para todos os computadores de uma sub-rede simultaneamente, em
vez de especificar um computador em particular. O endereo de difuso padro para redes IP
255.255.255.255, mas este endereo de difuso no pode ser utilizado para enviar uma mensagem
para todos os computadores na Internet porque os routers o bloqueiam. Por exemplo, para o
popular IP de redes privadas Classe C 192.168.1.0, o endereo de difuso deve ser configurado
como 192.168.1.255. Mensagens de Difuso Broadcast Messages so habitualmente produzidas
por protocolos de rede tais como o Address Resolution Protocol (ARP) e o Routing Information
Protocol (RIP).
Porta de Ligao A Porta de Ligao Gateway, o endereo IP pelo qual uma rede em particular
ou um computador na rede pode ser alcanado. Se um computador da rede deseja comunicar
com outro, e esse outro no est localizado na mesma rede, ento uma porta de ligao tem que
ser utilizada. Em muitos casos, o Endereo da Porta de Ligao ser o de um router da mesma
rede, que por sua vez far a passagem do trfego para outras redes ou computadores, tais como
Servidores de Internet. O valor do endereo da Porta de Ligao tem que ser correcto, caso
contrrio o seu sistema no poder comunicar com outros computadores fora da mesma rede.
Endereo dos Servidores de Nomes Os Endereos de Servidores de Nomes Nameserver
Addresses representam os endereos IP dos sistemas dos Servios de Nomes de Domnios Domain
Name Service (DNS) que convertem (resolvem) o nome dos computadores em endereos IP.
Existem trs nveis de Endereos de Servidores de Nomes que podem ser especificados por
ordem de precedncia: O Servidor de Nomes Primrio, o Servidor de Nomes Secundrio e o
Servidor de Nomes Tercirio. Para que o seu sistema tenha capacidade de converter os nomes
dos computadores nos respectivos endereos IP, tem que especificar Endereos de Servidores
de Nomes vlidos, para os quais tenha permisses para utilizar na configurao TCP/IP do seu
sistema. Em muitos casos estes endereos podem ser, e so, fornecidos pelo seu fornecedor de
servios de rede, mas existem muitos servidores de nomes de acesso pblico e gratuito, tais como
os servidores de nvel 3 (Verizon) com endereos IP desde 4.2.2.1 at 4.2.2.6 .
O endereo IP, mscara de rede Netmask, endereo da rede Network Address,
endereo de difuso Broadcast Addresse o endereo da porta de ligao Gateway
Address so geralmente especificados atravs de directivas apropriadas no ficheiro
/etc/network/interfaces . Os Endereos dos Servidores de Nomes Nameserver
Addresses so geralmente especificados atravs das directivas nameserver no ficheiro
/etc/resolv.conf . Para mais informao, consulte a pgina do manual do sistema para
interfaces ou resolv.conf respectivamente, introduzindo os seguintes comandos na
linha de comandos:
Aceda pgina do manual de sistema para interfaces com o seguinte comando:
Rede
27
man interfaces
Aceda pgina do manual de sistema para resolv.conf com o seguinte comando:
man resolv.conf
2.3. Encaminhamento IP
O encaminhamento de IP IP Routing a forma de especificar e descobrir caminhos numa rede TPC/IP
pelos quais os dados da rede podem ser enviados. O encaminhamento utiliza um conjunto de tabelas
de encaminhamento routing tables para dirigir o envio de pacotes de dados da rede desde a sua
origem at ao seu destino, frequentemente atravs de muitos ns de rede intermedirios conhecidos
como routers. O Encaminhamento de IP a principal forma de descobrir caminhos na Internet.
Existem duas formas principais de Encaminhamento de IP: Encaminhamento Esttico Static Routing
e Encaminhamento Dinmico Dynamic Routing.
Static routing involves manually adding IP routes to the system's routing table, and this is usually
done by manipulating the routing table with the route command. Static routing enjoys many
advantages over dynamic routing, such as simplicity of implementation on smaller networks,
predictability (the routing table is always computed in advance, and thus the route is precisely the
same each time it is used), and low overhead on other routers and network links due to the lack of
a dynamic routing protocol. However, static routing does present some disadvantages as well. For
example, static routing is limited to small networks and does not scale well. Static routing also fails
completely to adapt to network outages and failures along the route due to the fixed nature of the
route.
O Encaminhamento Dinmico depende de redes grandes, com mltiplas rotas IP possveis desde
a origem at ao destino, e utiliza protocolos de encaminhamento especiais, tais como o Protocolo
de Informao de Rotas Router Information Protocol (RIP), que maneja os ajustes automticos das
tabelas de encaminhamento que tornam o encaminhamento dinmico possvel. O encaminhamento
dinmico tem vrias vantajens sobre o encaminhamento esttico, tais como uma maior escalabilidade
e a capacidade para se adaptar a falhas e quebras ao longo dos caminhos da rede. Adicionalmente,
so necessrias menos configuraes manuais das tabelas de encaminhamento, dado que os routers
aprendem uns com os outros acerca da sua existncia e dos caminhos (rotas) possveis. Isto tambm
elimina a possibilidade de introduzir erros nas tabelas de encaminhamento por erro humano.
No entanto o encaminhamento dinmico no perfeito, e apresenta desvantagens como sejam,
maior complexidade e sobrecarga adicional nas comunicaes dos routers, o que no beneficia os
utilizadores finais, e ainda consome largura de banda.
2.4. TCP e UDP
O TCP um protocolo baseado na ligao, e oferece correco de erros e a garantia de entrega
de dados atravs daquilo que conhecido como controlo de fluxo flow control. O controlo de
fluxo determina quando necessrio parar o envio de dados, e reenviar dados j enviados devido a
problemas, como por exemplo colises, isto assegura a completa e correcta entrega dos dados. O TCP
Rede
28
tipicamente utilizado para troca de informaes importantes como sejam as transaces de bases de
dados.
O Protocolo de Datagrama do Utilizador User Datagram Protocol (UDP), por outro lado, um
protocolo independente da ligao connectionless que raramente lida com a transmisso de dados
importantes, dado que no possui controlo de fluxo ou qualquer outro mtodo que assegure uma
entrega fivel dos dados. O UDP habitualmente utilizado em aplicaes como a transmisso
de udio e vdeo, visto ser consideravelmente mais rpido que o TCP, exactamente por no ter a
correco de erros e o controlo de fluxo, e em que a perda de alguns pacotes no catrastfica.
2.5. ICMP
O Protocolo de Controlo de Mensagens da Internet Internet Control Messaging Protocol (ICMP)
uma extenso do Internet Protocol (IP) tal como definido no Request For Comments (RFC) #792 e
suporta pacotes de rede que contenham informao de controlo, de erros e de mensagens. O ICMP
utilizado por aplicaes de rede como o utilitrio ping, que pode determinar a disponibilidade de
um computador ou dispositivo de rede. Exemplos de algumas mensagens de erro devolvidas pelo
ICMP que so teis para computadores da rede ou dispositivos como os routers, incluem Destination
Unreachable and Time Exceeded.
2.6. Servios
Servios Daemons so aplicaes especiais do sistema que funcionam de forma contnua na
rectaguarda e que aguardam pedidos para as funes que fornecem vindos das outras aplicaes.
Muitos servios so centrados na rede; isto , um grande nmero de servios executados na
rectaguarda de um sistema Ubuntu pode fornecer funcionalidades relacionadas com a rede. Alguns
exemplos desses servios de rede incluem o Hyper Text Transport Protocol Daemon (httpd), que
fornece a funcionalidade de um servidor web; o Secure SHell Daemon (sshd), que fornece acesso
remoto seguro e a capacidade de transferncia de ficheiros; e o Internet Message Access Protocol
Daemon (imapd), que fornece servios de correio electrnico.
Rede
29
3. Configurao da Firewall
O kernel (ncleo) do Linux inclui o sub-sistema Netfilter que utilizado para manipular ou decidir o
destino do trfego de encaminhado para ou de passagem pelo servidor. Todas as modernas solues
de firewall utilizam este sistema para filtragem de pacotes.
3.1. Introduo Firewall
O sistema de filtragem de pacotes do kernel seria de pouca utilidade sem um interface de utilizador
para o gerir. Esta a finalidade das tabelas de ip iptables. Quando um pacote chega ao servidor, ser
encaminhado para o sub-sistema Netfilter, para aceitao, manipulao ou rejeio baseado nas regras
que lhe so fornecidas rea do utilizador atravs das iptables. Assim, as iptables so tudo o que
necessrio para gerir a sua firewall se estiver familiarizado com elas, mas existem muitos interfaces
disponveis para simplificar a tarefa.
3.2. Mascaramento de IP
A finalidade do Mascaramento de IP IP Masquerading permitir que mquinas com um endereo
IP privado e no encaminhvel na sua rede, acedam Internet atravs da mquina que est a fazer o
mascaramento. O trfego da sua rede privada destinado Internet tem que ser manipulado para que
as respostas possam ser encaminhadas de volta mquina que efectuou o pedido. Para fazer isto o
kernel deve alterar o endereo IP de origem de cada pacote para que a resposta possa ser encaminhada
de volta a si, em vez de ser encaminhada para o endereo IP privado que originou o pedido, o que
impossvel atravs da Internet. O Linux utiliza o Registo do Caminho de Ligao Connection
Tracking (conntrack) para manter o registo das ligaes e a que mquinas pertencem e reencaminha
os pacotes de acordo com essa informao. O trfego que sai da sua rede privada assim "mascarado"
como tendo sido originado na mquina Ubuntu que funcione como porta de ligao. Este processo
referido na documentao da Microsoft como Partilha de Ligao Internet.
Isso pode ser conseguido com uma nica regra de iptables, que pode diferir ligeiramente na sua
configurao de rede:
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ppp0 -j MASQUERADE
O comando anterior assume que o espao do seu endereo privado 192.168.0.0/16 e que o seu
interface com a internet o ppp0. A sintaxe explica-se da seguinte forma:
-t nat -- a regra deve ser adicionada na tabela de nat
-A POSTROUTING -- a regra deve ser adicionada (-A) cadeia de POSTROUTING
-s 192.168.0.0/16 -- a regra aplica-se a trfego originrio do grupo de endereos indicado
-o ppp0 -- a regra aplica-se a trfego definido para ser encaminhado atravs do dispositivo de rede
especificado
-j MASQUERADE -- O trfego coberto por esta regra ser "encaminhado - jump" (-j) para o alvo
MASCARADO para ser manipulado conforme acima descrito
Rede
30
Cada entrada da tabela de filtragem (a tabela por omisso, e onde a maioria ou mesmo toda a
filtragem de pacotes ocorre) tem uma poltica de ACCEPT por defeito, mas se est a criar uma
firewall em adio a um equipamento de gateway, poder ter alterado esta poltica para DROP ou
REJECT, o que em qualquer dos casos exigir que o seu trfego mascarado seja autorizado atravs do
comando FORWARD para que a regra funcione:
sudo iptables -A FORWARD -s 192.168.0.0/16 -o ppp0 -j ACCEPT
sudo iptables -A FORWARD -d 192.168.0.0/16 -m state --state ESTABLISHED,RELATED -i ppp0 -j ACCEPT
Este comando permitir o estabelecimento das ligaes a partir da sua rede local para a internet e que
todo o trfego relacionado regresse mquina que o iniciou.
3.3. Ferramentas
Existem muitas ferramentas disponveis que o ajudam a construir uma firewall completa sem ter
um conhecimento aprofundado do iptables. Para quem prefere uma interface grfica, a aplicao
Firestarter bastante popular e fcil de usar, e a fwbuilder muito poderosa e possui um aspecto
bastante semelhante a aplicaes comerciais como por exemplo a Checkpoint Firewall-1. Se
prefere uma ferramenta de linha de comandos assente em ficheiros de configurao de texto puro, a
Shorewall uma soluo muito poderosa que o vai ajudar a configurar uma firewall avanada para
qualquer rede. Se a sua rede relativamente simples, ou se no possui uma rede, a ipkungfu dever
oferecer-lhe uma firewall pronta a funcionar "out-of-the-box" sem necessidade de configurao, e
permitir a criao de uma firewall mais avanada atravs da edio de ficheiros de configurao
simples mas bem documentados. Outra aplicao interessante a fireflier, desenhada para ser uma
aplicao de firewall para o desktop. constituda por um servidor (fireflier-server) e uma escolha de
clientes de interface grfico (GTK ou QT), comportando-se como as populares aplicaes de firewall
interactivas para windows.
3.4. Registos
Os registos da Firewall so essenciais para o reconhecimento de ataques, compreender os problemas
de funcionamento das regras criadas, ou mesmo detectar actividade no habitual na sua rede. Dever
incluir regras de registo na sua firewall para que estes sejam criados, e estas devero ser colocadas
antes de qualquer regra de terminao (uma regra com um alvo que decide o destino do pacote como
por exemplo ACCEPT, DROP ou REJECT). Por exemplo:
sudo iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j LOG --log-prefix "NEW_HTTP_CONN: "
Um pedido na porta 80 solicitado a partir da mquina local, gerar um registo no dmesg com este
aspecto:
[4304885.870000] NEW_HTTP_CONN: IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1 DST=127.0.0.1 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=58288 DF PROTO=TCP SPT=53981 DPT=80 WINDOW=32767 RES=0x00 SYN URGP=0
Este registo aparecer tambm no /var/log/messages, /var/log/syslog, e /var/log/kern.log.
Este comportamento pode ser modificado editando o /etc/syslog.conf apropriadamente ou
instalando e configurando o ulogd e usando-o em vez do LOG. O servio ulogd um servidor que
Rede
31
escuta ordens de criao de registo originadas no kernel, especificamente de firewalls, e pode criar o
registo em qualquer ficheiro, ou mesmo numa base de dados application>PostgreSQL
Rede
32
4. Servidor OpenSSH
4.1. Introduo
This section of the Ubuntu Server Guide introduces a powerful collection of tools for the remote
control of networked computers and transfer of data between networked computers, called OpenSSH.
You will also learn about some of the configuration settings possible with the OpenSSH server
application and how to change them on your Ubuntu system.
OpenSSH uma verso livre do protocolo Secure Shell (SSH) e da famlia de ferramentas para
controlar remotamente um computador ou transferir ficheiros entre computadores. Ferramentas
tradicionais para executar essas funes, tais como telnet ou rcp, so inseguras e transmitem as
palavras passe dos utilizadores em texto simples quando utilizadas. O OpenSSH fornece um servio
para o servidor e ferramentas cliente para facilitar um controlo remoto seguro, codificado e operaes
de transferncia de ficheiros, substituindo efectivamente as ferramentas padro.
O componente sshd do servidor OpenSSH, aguarda continuamente ligaes de qualquer das
ferramentas dos clientes. Quando um pedido de ligao ocorre, o sshd configura a ligao correcta
dependendo do tipo de ferramenta do cliente que se est a ligar. Por exemplo, se o computador
remoto se est a ligar com a aplicao cliente ssh, o processo do servidor OpenSSH inicia uma
ligao de controlo remoto aps a autenticao. Se o utilizador remoto usa uma aplicao scp o
processo do servidor OpenSSH inicia uma cpia segura dos ficheiros entre o servidor e o cliente aps
a autenticao. O OpenSSH pode utilizar vrios mtodos de autenticao, incluindo palavras passe
simples, chaves pblicas e senhas Kerberos.
4.2. Instalao
A instalao das aplicaes cliente e servidor do OpenSSH simples. Para instalar a aplicao cliente
OpenSSH no seu sistema Ubuntu, utilize este comando num terminal:
sudo apt-get install openssh-client
Para instalar a aplicao servidor OpenSSH, e ficheiros de suporte associados, utilize este comando
num terminal:
sudo apt-get install openssh-server
4.3. Configurao
Pode alterar o comportamento predefinido da aplicao servidor OpenSSH, sshd, editando o ficheiro
/etc/ssh/sshd_config. Para informaes sobre as directivas de configurao usadas neste ficheiro,
pode consultar a pgina de manual apropriada com o seguinte comando, executado num terminal:
Rede
33
man sshd_config
Existem muitas directivas no ficheiro de configurao do sshd controlando coisas como as
configuraes das comunicaes e os modos de autenticao. De seguida apresentam-se exemplos de
directivas de configurao que podem ser alteradas ao editar o ficheiro /etc/ssh/ssh_config.
Antes de editar o ficheiro de configurao, dever fazer uma cpia do original e proteg-lo
contra escrita por forma a ter sempre as configuraes originais como referncia ou para o
reutilizar se necessrio.
Copie o ficheiro /etc/ssh/sshd_config e proteja-o contra escrita com os seguintes
comandos, executados num terminal:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original
sudo chmod a-w /etc/ssh/sshd_config.original
A seguir apresentam-se exemplos de directivas que pode alterar:
Para ajustar o OpenSSH para aceitar pedidos (escutar) o protocolo TCP na porta 2222, em vez da
porta por omisso TPC porta 22, altere a directiva Port como se segue:
Port 2222
Para fazer com que o sshd permita credenciais de login baseadas em chaves pblicas, adicione
simplesmente a linha seguinte:
PubkeyAuthentication yes
no ficheiro /etc/ssh/sshd_config, ou se a linha j estiver presente assegure-se de que no est
comentada.
Para fazer com que o seu servidor OpenSSH mostre o contedo do ficheiro /etc/issue.net como
uma mensagem de pr-login, adicione simplesmente ou modifique a seguinte linha:
Banner /etc/issue.net
no ficheiro /etc/ssh/sshd_config.
Aps a marcao de alteraes no ficheiro /etc/ssh/sshd_config, grave o ficheiro e reinicie a
aplicao servidor sshd para tornar efectivas as alteraes utilizando o comando seguinte num
terminal:
sudo /etc/init.d/ssh restart
Muitas outras directivas de configurao para o sshd esto disponveis para alterar o
comportamento do servidor de forma a satisfazer as suas necessidades pessoais. Tenha em
ateno que, se o seu nico mtodo de acesso ao servidor for via ssh, e se ocorrer um erro na
configurao do sshd ao alterar o ficheiro /etc/ssh/sshd_config, poder ficar bloqueado
Rede
34
do lado de fora aps reiniciar o servidor, ou que a aplicao de servidor sshd se recuse
a iniciar em virtude de uma directiva de configurao incorrecta. Assim, tenha especial
ateno quando edita este ficheiro remotamente.
4.4. Referncias
Stio web do OpenSSH [http://www.openssh.org/]
Pgina wiki do OpenSSH avanado [https://wiki.ubuntu.com/AdvancedOpenSSH]
Rede
35
5. Servidor FTP
File Transfer Protocol (FTP) is a TCP protocol for uploading and downloading files between
computers. FTP works on a client/server model. The server component is called an FTP daemon. It
continuously listens for FTP requests from remote clients. When a request is received, it manages the
login and sets up the connection. For the duration of the session it executes any of commands sent by
the FTP client.
O acesso a um servidor FTP pode ser conseguido de duas formas:
Annimo
Autenticado
Em modo annimo, clientes remotos podem aceder ao servidor FTP utilizando a conta de utilizador
por omisso chamada "anonymous" ou "ftp" e enviando um endereo de correio electrnico como
palavra passe. Em modo autenticado o utilizador necessita de uma conta de utilizador e uma palavra
passe. O acesso do utilizador aos directrios e ficheiros de um servidor FTP depende das permisses
definidas para a conta de utilizador utilizada para aceder ao servidor. Como regra geral, o gestor FTP
esconde o directrio raiz do servidor FTP e muda-o para o directrio "Home". Isto esconde de sesses
remotas o resto do sistema de ficheiros.
5.1. vstpd - Instalao do Servidor FTP
vsftpd um servio disponvel no Ubuntu. fcil de instalar, configurar e manter. Para instalar o
vsftpd pode executar o seguinte comando:
sudo apt-get install vsftpd
5.2. vsftpd - Configurao do Servidor FTP
Pode editar o ficheiro de configurao do vsftpd /etc/vsftpd.conf para alterar os valores padro.
Por omisso apenas o acesso FTP annimo permitido. Se pretender desactivar esta opo, deve
alterar a linha:
anonymous_enable=YES
para
anonymous_enable=NO
. Por omisso, os utilizadores locais do sistema no podem iniciar sesso no servidor FTP. Para alterar
esta configurao deve retirar o comentrio linha:
#local_enable=YES
Rede
36
. Por omisso, os utilizadores locais tm permisso para transferir ficheiros do servidor FTP
(download). No tm permisso para transferir ficheiros para o servidor FTP (upload). Para alterar
esta configurao, deve retirar o comentrio da linha:
#write_enable=YES
. Similarmente, por omisso, os utilizadores annimos no tm permisso para transferir ficheiros
para o servidor FTP. Para alterar esta configurao, deve retirar o comentrio da linha:
#anon_upload_enable=YES
. O ficheiro de configurao consttuido por muitos parmetros. A informao acerca de cada
parmetro est disponvel no prprio ficheiro de configurao. Em alternativa, pode consultar a
pgina do manual, man 5 vsftpd.conf para detalhes de cada parmetro.
Uma vez configurado o vsftpd pode-se dar incio ao servidor. O seguinte comando pode ser utilizado
para correr o servidor vsftpd:
sudo /etc/init.d/vsftpd start
Note-se que os valores por omisso no ficheiro de configurao so definidos como esto
por razes de segurana. Cada uma das alteraes anteriores torna o sistema um pouco
menos seguro, pelo que s devem ser feitas se necessrio.
Rede
37
6. Sistema de Ficheiros de Rede - Network File System (NFS)
O NFS permite a um sistema partilhar directrios e ficheiros com outras pessoas atravs de uma rede.
Utilizando o NFS, utilizadores e programas podem aceder a ficheiros num sistema remoto quase como
se fossem ficheiros locais.
Alguns dos benefcios mais notveis que o NFS providencia so:
Estaes de trabalho locais utilizam menos espao em disco porque os dados frequentemente
utilizados podem ser guardados num mquina nica e permanecer, mesmo assim, acessveis a
outros atravs da rede.
No existe necessidade de os utilizadores terem directrios pessoais em cada mquina da rede. Os
directrios pessoais podem ser configurados no servidor NFS e disponibilizados atravs da rede.
Dispositivos de armazenamento como as disquetes, unidades de CDROM e unidades de memria
USB podem ser utilizados por outras mquinas na rede. Isto pode reduzir o nmero de dispositivos
deste tipo dentro da rede.
6.1. Instalao
Num terminal insira o seguinte comando para instalar o servidor NFS:
sudo apt-get install nfs-kernel-server
6.2. Configurao
Pode configurar os directrios a ser exportados adicionando-os ao ficheiro /etc/exports. Por
exemplo:
/ubuntu *(ro,sync,no_root_squash)
/home *(rw,sync,no_root_squash)
Pode substituir * com um dos formatos de nome de mquina. Faa a declarao do nome de mquina
to especifica quanto possvel para que sistemas no desejados no possam aceder montagem NFS.
Para iniciar o servidor NFS, pode correr o seguinte comando num terminal:
sudo /etc/init.d/nfs-kernel-server start
6.3. Configurao do Cliente NFS
Utilize o comando mount para montar um directrio NFS partilhado por outra mquina, digitando
uma linha de comando similar seguinte num terminal:
sudo mount example.hostname.com:/ubuntu /local/ubuntu
Rede
38
O directrio a utilizar como ponto de montagem /local/ubuntu tem que existir. No devem
existir ficheiros ou sub-directrios no directrio /local/ubuntu .
Uma forma alternativa de montar uma partilha NFS de outra mquina adicionar uma linha ao
ficheiro /etc/fstab. A linha deve declarar o nome do servidor NFS, o directrio exportado por esse
servidor, e o directrio da mquina local onde essa partilha deve ser montada.
A sintaxe geral da linha no ficheiro /etc/fstab a que se segue:
nome_de_maquina.exemplo.com:/ubuntu /local/ubuntu nfs rsize=8192,wsize=8192,timeo=14,intr
6.4. Referncias
Perguntas frequentes sobre NFS em Linux [http://nfs.sourceforge.net/]
Rede
39
7. Protocolo de Configurao Dinmica da Mquina Dynamic
Host Configuration Protocol (DHCP)
O Protocolo de Configurao Dinmica da Mquina Dynamic Host Configuration Protocol (DHCP)
um servio de rede que permite que as mquinas recebam as configuraes de rede a partir de
um servidor, em vez de ser necessrio configurar cada uma individualmente. Os computadores
configurados como clientes do DHCP no tm controlo sobre as configuraes que recebem desse
servidor, e a configurao transparente para o utilizador do computador.
As configuraes mais comuns fornecidas por um servidor DHCP a clientes DHCP incluem:
Endereo-IP e Mscara de Rede
DNS
WINS
Contudo, um servidor DHCP pode tambm disponibilizar propriedades como:
Nome do Anfitrio
Nome de Domnio
Porta de Ligao por Omisso Default Gateway
Servidor horrio
Servidor de Impresso
A vantagem de usar o DHCP a de automatizar alteraes na rede, por exemplo a alterao do
nome do servidor de domnios (DNS), s necessita de ser realizada no servidor de DHCP, e todas as
mquinas da rede sero reconfiguradas automaticamente da prxima vez que os seus clientes DHCP
sondarem por informaes. Adicionalmente mais fcil adicionar computadores rede, j que no
necessrio verificar a disponibilidade de um endereo IP. Da mesma forma conflitos na atribuio de
endereos IP so tambm reduzidos.
Um servidor de DHCP pode fornecer configuraes usando dois mtodos:
Endereo MAC
Este mtodo implica usar o DHCP para identificar endereos nicos de hardware de cada
dispositivo de rede ligado na rede, e indicar continuamente uma configurao nica e constante
cada vez que um cliente DHCP realiza uma solicitao ao servidor DHCP usando esse dispositivo
de rede.
Gama de endereos Address Pool
Este mtodo implica definir uma gama (pool) de endereos IP a partir da qual os clientes DHCP
so fornecidos, com propriedades e configuraes dinmicas, e numa lgica de servir primeiro
o primeiro a chegar (first come first serve). Quando um cliente DHCP abandona a rede por um
determinado perodo de tempo, a configurao expira, e o endereo devolvido gama dos
disponveis para ser utilizado por outro cliente DHCP.
O Ubuntu fornecido com o servidor e o cliente DHCP. O servidor o dhcpd (dynamic host
configuration protocol daemon). O cliente fornecido com o Ubuntu o dhclient e deve ser instalado
Rede
40
em todas as mquinas que requeiram uma configurao automtica. Ambos os programas so fceis
de instalar e configurar, e so iniciados automticamente no arranque do sistema.
7.1. Instalao
Num terminal, digite o seguinte comando para instalar o dhcpd:
sudo apt-get install dhcpd
Vai obter a resposta seguinte, que explica o que fazer de seguida:
Por favor note que se est a instalar o servidor DHCP pela primeira
vez necessita configur-lo. Por favor pare (/etc/init.d/dhcp stop)
o servio de DHCP, edite o /etc/dhcpd.conf para corresponder s
suas configuraes e necessidades, e reinicie o servio DHCP
(/etc/init.d/dhcp start).
Tambm necessita editar o /etc/default/dhcp para especificar os
interfaces de rede que o dhcpd deve escutar. Por omisso escuta o eth0.
NOTA: As mensagens do dhcpd so enviadas para o syslog.
Procure a por mensagens de disgnstico.
A iniciar o servidor DHCP: dhcpd falhou ao iniciar - verifique o syslog para diagnsticos.
7.2. Configurao
A mensagem de erro com que a instalao termina pode ser um pouco confusa, mas os passos
seguintes vo ajud-lo a configurar o servio:
De forma mais comum, o que pretende fazer designar um endereo IP aleatrio. Isto pode ser feito
com configuraes como as seguintes:
# Exemplo de /etc/dhcpd.conf
# (adicione comentrios aqui)
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-name "mydomain.org";
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
range 192.168.1.150 192.168.1.200;
}
Rede
41
Isto resulta num servidor DHCP atribuindo um endereo IP da gama 192.168.1.10-192.168.1.100
ou 192.168.1.150-192.168.1.200 . Esse endereo ser atribudo por um perodo de 600 segundos, se
o cliente no especificar outro intervalo de tempo. Caso contrrio, o tempo mximo (permitido) de
atribuio ser de 7200 segundos. O servidor tambm "aconselhar" o cliente a utilizar a mscara de
rede 255.255.255.0 , 192.168.1.255 como endereo de difuso, 192.168.1.254 como router/gateway e
192.168.1.1 e 192.168.1.2 clomo os seus servidores de DNS.
Se necessitar de especificar um servidor WINS para os seus clientes Windows, vai ter de incluir a
opo netbios-name-servers, por exemplo:
option netbios-name-servers 192.168.1.1;
As configuraes dhcpd foram retiradas do DHCP mini-HOWTO, que pode ser encontrado em here
[http://www.tldp.org/HOWTO/DHCP/index.html].
7.3. Referncias
Perguntas frequentes sobre o DHCP [http://www.dhcp-handbook.com/dhcp_faq.html]
Rede
42
8. Servio de Nomes de Domnios Domain Name Service DNS
Domain Name Service (DNS) is an Internet service that maps IP addresses and fully qualified domain
names (FQDN) to one another. In this way, DNS alleviates the need to remember IP addresses.
Computers that run DNS are called name servers. Ubuntu ships with BIND (Berkley Internet Naming
Daemon), the most common program used for maintaining a name server on Linux.
8.1. Instalao
Na linha de comandos, digite o comando seguinte para instalar o dns:
sudo apt-get install bind
8.2. Configurao
Os ficheiros de configurao DNS so guardados no directrio /etc/bind. O ficheiro de configurao
principal o /etc/bind/named.conf. O contedo do ficheiro de configurao por omisso
mostrado de seguida:
// Este o ficheiro principal de configurao do servidor BIND DNS.
//
// Por favor leia /usr/share/doc/bind/README.Debian para informaes sobre
// a estrutura dos ficheiros de configurao do BIND na Debian para o BIND 8.2.1
// e posteriores, *ANTES* de alterar este ficheiro de configurao
//
include "/etc/bind/named.conf.options";
// reduzir pormenor do registo em assuntos fora do nosso controlo
logging {
category lame-servers { null; };
category cname { null; };
};
// inicializar o servidor com conhecimento dos servidores de raiz
zone "." {
type hint;
file "/etc/bind/db.root";
};
// Ser autoritrio para as zonas de encaminhamento e retorno do localhost, e para
// zonas de broadcast seguindo a RFC 1912
zone "localhost" {
type master;
file "/etc/bind/db.local";
};
Rede
43
zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};
zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};
zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};
// Adicionar aqui definies de local
include "/etc/bind/named.conf.local";
A linha include especifica o ficheiro que contm as opes de DNS. A linha directory no ficheiro de
opes indica ao DNS onde procurar os ficheiros. Todos os ficheiros que o BIND usa sero relativos a
este directrio.
The file named /etc/bind/db.root describes the root name servers in the world. The servers change
over time, so the /etc/bind/db.root file must be maintained now and then.
A seco zone define um servidor mestre, e est colocada num ficheiro mencionado com a etiqueta
file. Cada ficheiro de zona contm trs registos de recurso (RRs): um SOA RR, um NS RR e um
PTR RR. O SOA o diminutivo de Start of Authority - Incio de Autoridade. O "@" uma anotao
especial indicando a origem. NS o RR de Servidor de Nome. O PTR o apontador do nome de
domnio. Para iniciar o servidor DNS, digite o seguinte comando num terminal ou linha de comandos:
sudo /etc/init.d/bind start
Pode recorrer documentao mencionada na seco de referncias para detalhes.
8.3. Referncias
DNS Como Fazer (HOWTO) [http://www.tldp.org/HOWTO/DNS-HOWTO.html]
Rede
44
9. Servidor de Impresso - CUPS
The primary mechanism for Ubuntu printing and print services is the Common UNIX Printing
System (CUPS). This printing system is a freely available, portable printing layer which has become
the new standard for printing in most Linux distributions.
O CUPS gere os trabalhos de impresso e filas de espera e oferece capacidade de impresso em rede
usando o standard Internet Printing Protocol (IPP), oferecendo simultaneamente suporte para uma
enorme diversidade de impressoras, desde agulhas a laser, e muitas outras. O CUPS suporta ainda o
PostScript Printer Description (PPD) e a auto deteco de impressoras de rede, e possui um ambiente
de configurao e administrao muito simples e assente em tecnologia web.
9.1. Instalao
To install CUPS on your Ubuntu computer, simply use sudo with the apt-get command and give the
packages to install as the first parameter. A complete CUPS install has many package dependencies,
but they may all be specified on the same command line. Enter the following at a terminal prompt to
install CUPS:
sudo apt-get install cupsys cupsys-client
Aps autenticao com a sua palavra passe (com privilgios de administrador), os pacotes devem
ser descarregados e instalados sem erros. Ao concluir a instalao, o servidor CUPS ser iniciado
automaticamente. Para resoluo de problemas pode aceder aos erros do servidor CUPS atravs
do ficheiro de registo de eventos /var/log/cups/error_log. Se o registo de erros no apresentar
informao suficiente para ajudar a resolver os problemas que encontrou, o detalhe dos registos do
CUPS pode ser aumentado alterando a directiva LogLevel no ficheiro de configurao, mencionado
acima, de "info" para "debug" ou at "debug2" que registar todos os eventos. Se efectuar esta
alterao, lembre-se de repor a directiva original ap+os resolver o problema, para impedir que o
ficheiro de registo atinga um tamanho excessivo.
9.2. Configurao
O comportamento do Common UNIX Printing System configurado atravs de directivas includas
no ficheiro /etc/cups/cupsd.conf. O ficheiro de configurao do CUPS utiliza a mesma sintaxe que
o ficheiro de configurao primrio do servidor HTTP Apache, por isso, os utilizadores familiarizados
com a edio desse ficheiro devem sentir-se vontade ao editar o ficheiro de configurao do CUPS.
Alguns exemplos de configuraes que pode pretender alterar inicialmente so mostrados aqui.
Antes de editar o ficheiro de configurao, deve fazer uma cpia do ficheiro original e
proteg-la contra a escrita, desta forma vai ter as configuraes originais como referncia, e
para reutilizar se necessrio.
Copie o ficheiro /etc/cups/cupsd.conf e proteja-o contra a escrita introduzindo os
seguintes comandos num terminal:
Rede
45
sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.original
sudo chmod a-w /etc/cups/cupsd.conf.original
ServerAdmin: Para configurar o endereo de correio electrnico do administrador do servidor
CUPS, edite simplesmente o ficheiro /etc/cups/cupsd.conf com o seu editor de texto
favorito, e modifique a linha ServerAdmin colocando a o respectivo endereo. Por exemplo,
se voc for o administrador do servidor CUPS e o seu endereo de correio electrnico for
'bjoy@somebigco.com', deve alterar a linha ServerAdmin para o seguinte:
ServerAdmin bjoy@somebigco.com
Para mais exemplos de directivas de configurao do ficheiro de configurao do servidor CUPS,
consulte a pgina de manual de sistema associada digitando o seguinte comando num terminal:
man cupsd.conf
Sempre que faa alteraes ao ficheiro de configurao /etc/cups/cupsd.conf, precisa de
reiniciar o servidor CUPS executando o comando seguinte num terminal:
sudo /etc/init.d/cupsys restart
Algumas configuraes extra do servidor CUPS so feitas no ficheiro
/etc/cups/cups.d/ports.conf:
Listen: Por omisso no Ubuntu, o servidor CUPS apenas escuta o interface loopback no endereo
IP 127.0.0.1. Para instruir o servidor CUPS para escutar o endereo do endereo IP do interface
de rede real, deve especificar o nome do computador ou o endereo IP, ou ainda opcionalmente,
um par Endereo IP/Porta atravs da directiva Listen. Por exemplo, se o seu servidor CUPS
estiver instalado numa rede local no endereo IP 192.168.10.250 e quer torn-lo acessvel a outros
sistemas nesta sub-rede, deve editar o ficheiro /etc/cups/cups.d/ports.conf e adicionar uma
directiva Listen da seguinte forma:
Listen 127.0.0.1:631 # escuta no interface loopback
Listen /var/run/cups/cups.sock # socket Listen actual
Listen 192.168.10.250:631 # Escutar o interface de rede local, na Porta, 631 (IPP)
No exemplo acima, pode comentar ou remover a referncia ao endereo de Loopback (127.0.0.1)
se no pretender que o cupsd espere ligaes nessa interface, mas espere ligaes somente nas
interfaces Ethernet da Rede de rea Local (LAN). Para activar a recepo de ligaes em todas
as interfaces de rede s quais um determinado nome de mquina est associado, incluindo o
Loopback, pode criar uma entrada Listen para o nome de mquina socrates como a seguinte:
Listen socrates:631 # Vigiar em todas as interfaces para o nome de mquina 'socrates'
Rede
46
ou omitindo a directiva Listen e usando Port em seu lugar, como em:
Port 631 # Vigiar a porta 631 em todas as interfaces
9.3. Referncias
Pgina Web do CUPS [http://www.cups.org/]
Rede
47
10. HTTPD - Servidor Web Apache2
Apache is the most commonly used Web Server on Linux systems. Web Servers are used to serve
Web Pages requested by client computers. Clients typically request and view Web Pages using Web
Browser applications such as Firefox, Opera, or Mozilla.
Users enter a Uniform Resource Locator (URL) to point to a Web server by means of its Fully
Qualified Domain Name (FQDN) and a path to the required resource. For example, to view the home
page of the Ubuntu Web site [http://www.ubuntu.com] a user will enter only the FQDN. To request
specific information about paid support [http://www.ubuntu.com/support/paid], a user will enter the
FQDN followed by a path.
O protocolo mais utilizado para transferir pginas Web o Protocolo de Transferncia de Hiper
Texto Hyper Text Transfer Protocol (HTTP). Protocolos tais como o Protocolo de Transferncia de
Hiper Texto sobre Camadas de Ligao Segura Hyper Text Transfer Protocol over Secure Sockets
Layer (HTTPS), ou o Protocolo de transferncia de Ficheiros File Transfer Protocol (FTP), que um
protocolo utilizado para enviar e receber ficheiros entre computadores, so tambm suportados.
Os servidores de Web Apache so frequentemente utilizados conjuntamente com o motor de base
de dados MySQL, a linguagem HyperText Preprocessor (PHP), e outras linguagens populares
como Python e Perl. Esta configurao designada por LAMP (Linux, Apache, MySQL and
Perl/Python/PHP) e constitui uma plataforma poderosa e robusta para o desenvolvimento e
distribuio de aplicaes baseadas na Web.
10.1. Instalao
O servidor web Apache2 est disponvel no Ubuntu Linux. Para instalar o Apache2:
Num terminal escreva o seguinte comando:
sudo apt-get install apache2
10.2. Configurao
O Apache configurado adicionando directivas em ficheiros de configurao de texto simples.
O ficheiro de configurao principal o apache2.conf. Adicionalmente, outros ficheiros de
configurao podem ser adicionados utilizando a directiva Include, podendo ser utilizados carcteres
de escape para adicionar muitos ficheiros de configurao. Qualquer directiva pode ser colocada em
qualquer destes ficheiros de configurao. Alteraes nos ficheiros de configurao principais s so
reconhecidas pelo Apache2 quando ele for iniciado ou reiniciado.
O servidor l tambm um ficheiro contendo tipos de documentos mime; este ficheiro definido pela
directiva TypesConfig, e tem o nome mime.types por omisso.
Rede
48
O ficheiro de configurao do Apache2, por omisso, o /etc/apache2/apache2.conf . Este ficheiro
pode ser editado para configurar o servidor Apache2. Podem ser configurados o nmero da porta, a
pasta de documentos de raiz, mdulos, ficheiros de registo, mquinas virtuais, etc..
10.2.1. Configuraes Bsicas
Esta seco explica os parmetros de configurao essenciais do servidor Apache2. Utilize
Documentao Apache2 [http://httpd.apache.org/docs/2.0/] para mais detalhes.
O Apache2 acompanhado de uma configurao padro de um servidor virtual, (utilizando a
directiva VirtualHost), que pode ser modificada, ou utilizada tal como est se tiver apenas um
site, ou ainda utilizada como modelo para criar servidores adicionais se tiver vrios sites. Se for o
nico, o servidor pr-configurado ser o seu stio padro, ou seja o stio web que os utilizadores
vero se o URL que escreverem no corresponder a nenuma das directivas ServerName. Para
alterar a o servidor virtual padro edite o ficheiro /etc/apache2/sites-available/default. Se
pretender configurar um novo servidor virtual ou um novo site copie este ficheiro para o directrio
com um nome igual ao que escolher. Por exemplo, sudo cp /etc/apache2/sites-available/default
/etc/apache2/sites-available/mynewsite Edite o novo ficheiro para configurar o novo stio
utilizando algumas das directivas referidas abaixo.
A directiva ServerAdmin especifica o endereo de correio electrnico a ser apresentado como sendo
o do administrador do servidor. O valor por omisso webmaster@localhost. Este deve ser alterado
para um endereo de correio electrnico voc receba (se voc for o administrador do servidor). Se
o seu site web tiver um problema, o Apache2 apresentar uma mensagem de erro contendo este
endereo de correio electrnico para que o erro possa ser reportado. Encontra esta directiva no
ficheiro de configurao dos seus sites /etc/apache2/sites-available.
A directiva Listen especifica a porta, e opcionalmente o endereo IP que o Apache2 escutar e onde
receber os pedidos. Se o IP no for especificado, o Apache2 escutar todos os endereos atribudos
mquina onde estiver a correr. O valor por omisso para a directiva Listen 80. Alter-la para
127.0.0.1:80 provocar que o Apache2 escutar apenas o interface 'loopback' portanto no ser
acessvel a partir da Internet, para (por exemplo) 81 para alterar a porta que ser escutada, ou deixe
a ditectiva tal como est para um funcionamento normal. Esta directiva pode ser encontrada e
alterada no ficheiro /etc/apache2/ports.conf.
A directiva ServerName opcional e especifca o FQDN o seu stio deve responder. O servidor
virtual por omisso no tem definida a directiva ServerName, por isso responder a todos os
pedidos que no correspondam directiva ServerName de outro servidor virtual. Se apenas
adquiriu o nome de domnio ubunturocks.com e pretende aloj-lo no seu servidor Ubuntu,
o valor da directiva ServerName no ficheiro de configurao do seu servidor virtual dever
ser ubunturocks.com . Adicione esta directiva ao ficheiro de servidores virtuais criado antes
(/etc/apache2/sites-available/mynewsite).
Tambm pode alterar o seu site para responder como www.ubunturocks.com, dado que
muitos utilizadores assumem a utilizao do prefixo www. Utilize para isto a directiva
ServerAlias. Tambm pode utilizar carcteres de substituio na directiva ServerAlias.
Rede
49
Por exemplo, ServerAlias *.ubunturocks.com far com que o seu stio responda a
qualquer pedido de um domnio terminado em .ubunturocks.com .
A directiva DocumentRoot especifca onde que o Apache deve procurar os ficheiros
que constituem o seu stio web. O valor por omisso /var/www . No existe nenhum
stio configurado nesta pasta, mas se descomentar a directiva RedirectMatch do ficheiro
/etc/apache2/apache2.conf os pedidos sero redireccionados para /var/www/apache2-default
onde existe um stio pr-definido pelo Apache2. Altere este valor no seu ficheiro de servidores
virtuais, e lembre-se de criar o directrio se necessrio!
O directrio /etc/apache2/sites-available not processado pelo Apache2. A ligao
simblica symbolic link /etc/apache2/sites-enabled aponta para stios "disponveis".
Utilize o utilitrio a2ensite (Apache2 Enable Site) para criar estas ligaes simblicas,
desta forma: sudo a2ensite omeunovositio em que o ficheiro de configurao do seu stio
/etc/apache2/sites-available/omeunovositio. De forma semelhante o utilitrio
a2dissite deve ser utilizado para desabilitar estes stios.
10.2.2. Configuraes Pr-definidas
Esta seco explica as configuraes pr-definidas do servidor Apache2. Por exemplo, se adicionar
um servidor virtual, os parmetros que configurar sero utilizados por esse servidor virtual. Caso uma
determinada directiva no esteja configurada para o servidor virtual, sero utilizados os parmetros
pr-definidos do Apache2.
A directiva DirectoryIndex a pgina por omisso apresentada pelo servidor quando um utilizador
solicitar o contedo de um directrio, colocando uma barra (/) aps o nome do directrio.
Por exemplo, quando um utilizador solicita a pgina http://www.exemplo.pt/este_directorio/,
ele/a obter a pgina DirectoryIndex se esta existir, a listagem dos ficheiros do directrio, gerada
pelo servidor, se a pgina no existir, ou a pgina Permisso Negada Permission Denied caso as
anteriores hipteses no sejam verdadeiras. O servidor tentar encontrar um dos ficheiros existentes
na directiva DirectoryIndex e devolver o primeiro que encontrar. Se no encontrar nenhum desses
ficheiros e se a directiva Options Indexes apontar para esse directrio, o servidor gerar e devolver
uma lista, em formato HTML, das sub-directrios e ficheiros existentes no directrio. O valor por
omisso, existente no ficheiro /etc/apache2/apache2.conf " index.html index.cgi index.pl
index.php index.xhtml". Assim, se o Apache2 encontrar um ficheiro no directrio pedido que
corresponda a um destes nomes, o primeiro deles ser apresentado.
A directiva ErrorDocument permite-lhe especificar um ficheiro que o Apache utilizar
para erros especficos. Por exemplo, se um utilizador solicitar um recurso que no
exista ocorrer um erro 404, e na configurao pr-definida do Apache2, o ficheiro
/usr/share/apache2/error/HTTP_NOT_FOUND.html.var ser apresentado. Este ficheiro
no est no servidor em DocumentRoot, mas existe uma directiva Alias no ficheiro
/etc/apache2/apache2.conf que redirecciona os pedidos para o directrio de erros
/usr/share/apache2/error/ . Para ver a lista das directivas de erro ErrorDocument pr-definidas,
utilize o comando: grep ErrorDocument /etc/apache2/apache2.conf .
Rede
50
Por omisso, o servidor escreve as transferncias executadas para o ficheiro de registos
/var/log/apache2/access.log . Pode alterar isto para uma configurao baseada stio a stio na
ficheiro de configurao dos seus stios virtuais com a directiva CustomLog, ou omiti-la para
aceitar o valor pr-definido, indicado no ficheiro /etc/apache2/apache2.conf. Tambm pode
indicar o ficheiro no qual sero feitos os registos de erros, atravs da directiva ErrorLog, que
por omisso /var/log/apache2/error.log. Estes registos so mantidos separados dos das
transferncias para ajudar na resoluo de problemas com o seu servidor Apache2. Tambm pode
especificar o nvel de registo LogLevel (o valor pr-definido aviso "warn") e o Formato de
Registo LogFormat (veja o ficheiro /etc/apache2/apache2.conf para o valor pr-definido).
Algumas opes so indicadas directrio a directrio em vez de serem para o servidor. Option
uma destas directivas. Um declarao Directory includa entre etiquetas de formato semelhante ao
XML, desta forma:
<Directory /var/www/omeunovositio>
...
</Directory>
A directiva Options dentro da declarao Directory aceita um ou mais dos seguintes valores (entre
outros), separados por espaos:
ExecCGI - Permitir execuo de scripts CGI. Os scripts CGI no so executados se esta opo
no for escolhida.
Grande parte dos ficheiros no devem ser executados como scripts CGI. Isso seria
muito perigoso. Scripts CGI devem ser mantidos num directrio separado e fora
do directrio de raiz DocumentRoot, e apenas esse directrio deve ter a opo
ExecCGI definida. Isto o predefinido, e a localizao por omisso dos scripts CGI
/usr/lib/cgi-bin.
Includes - Permite incluses no servidor, isto , permite que um ficheiro HTML incluir
include outros ficheiros. Esta opo no frequente. Consulte Apache2 SSI - Como fazer
[http://httpd.apache.org/docs/2.0/howto/ssi.html] para obter mais informao.
IncludesNOEXEC - Permite a incluso de ficheiros do servidor, mas desabilita os comandos
#exec e #include nos programas GCI.
Indexes - Apresenta uma lista formatada do contedo do directrio, se um dos ficheiros
indicados na directiva DirectoryIndex (como por exemplo o index.html) no existir no directrio
pedido.
Por razes de segurana, esta opo no deve ser utilizada, e no deve ser certamente
utilizada no Directrio de Raiz. Habilite esta opo cuidadosamente, directrio a
directrio e apenas se tiver a certeza que os utilizadores vejam o contedo completo do
directrio.
Multiview - Suporta a apresentao mltipla de contedos "negociados"; esta
opo est desabilitada por omisso por motivos de segurana. Consulte ulink
url="http://httpd.apache.org/docs/2.0/mod/mod_negotiation.html#multiviews">A documentao
do Apache2 sobre esta opo
Rede
51
SymLinksIfOwnerMatch - Apenas segue as ligaes sinmblicas se o ficheiro ou directrio
indicado pela ligao pertencer ao proprietrio da ligao.
10.2.3. Configurao de Stios Virtuais Virtual Hosts
A opco Servidores Virtuais permite correr vrios servidores em diferentes endereos IP, diferentes
nomes de Stios Web, ou diferentes portas na mesma mquina. Por exemplo, pode ter os stio web
http://www.exemplo.pt e http://www.outroexemplo.pt no mesmo servidor web utilizando servidores
virtuais. Esta opo corresponde directiva <VirtualHost> para o servidor virtual por omisso e para
os servidores virtuais baseados em endereos IP. Corresponde directiva <NameVirtualHost> para
servidores virtuais baseados no nome.
As directivas configuradas para um determina servidor virtual, aplicam-se apenas a ele. Se uma
determinada directiva for configurada para o servidor global, e no for definida para o servidor
virtual, utilizada a configurao pr-definida para essa directiva. Por exemplo, pode definir um
endereo de correio electrnico para o servidor principal, e no definir um endereo especfico para
cada servidor virtual.
Ajuste a directiva DocumentRoot para o directrio que contm o documento de raiz do stio web (por
exemplo index.html). O valor por omisso de DocumentRoot /var/www.
The ServerAdmin directive within the VirtualHost stanza is the email address used in the footer of
error pages if you choose to show a footer with an email address on the error pages.
10.2.4. Configuraes do Servidor
Esta seco explica como efectuar as configuraes bsicas do servidor.
LockFile - A directiva LockFile indica qual o caminho para o ficheiro de bloqueios que
o servidor utiliza quando compilado seja com USE_FCNTL_SERIALIZED_ACCEPT ou
USE_FLOCK_SERIALIZED_ACCEPT. Deve ser guardado num disco local. Deve ser deixado no
valor por omisso a no ser que o directrio de registos esteja localizado numa partilha NFS. Neste
caso, o valor por omisso deve ser alterado para um directrio no disco local que tenha permisses de
leitura apenas para o root.
PidFile - A directiva PidFile indica qual o ficheiro em que o servidor deve gravar os seus
identificadores de processos Process ID (pid). Este ficheiro deve ter acesso de leitura apenas pelo
root. Na maioria dos casos deve ser deixado com o valor por omisso.
User - A directiva User indica a identificao de utilizador utilizada pelo servidor para responder aos
pedidos. Esta configurao determina o acesso ao servidor. Quaisquer ficheiros inacessveis a este
utilizador sero tambm inacessveis aos visitantes do stio web. O valor por omisso para User
www-data.
A no ser que saiba exactamente o que est a fazer, no coloque na directiva User root.
Utilizar o root como User criar grandes falhas de segurana no seu servidor Web.
Rede
52
A directiva Group semelhante directiva User. Group indica qual o grupo para o qual o servidor
responder aos pedidos. O grupo por omisso tambm www-data.
10.2.5. Mdulos Apache
O Apache um servidor modular. Isto implica que apenas as funcionalidades mais bsicas esto
includas no ncleo do servidor. Funes adicionais esto disponveis sob a forma de mdulos
que podem ser carregados para o Apache. Por omisso, um conjunto base de mdulos includo
no servidor na altura da compilao. Se o servidor estiver configurado para utilizar mdulos de
carregamento dinmico, ento os mdulos podem ser compilados separadamente e adicionados em
qualquer altura utilizando a directiva LoadModule. Caso contrrio, o Apache tem de ser recompilado
para adicionar ou remover mdulos. O Ubuntu compila o Apache2 para permitir o carregamento
dinmico de mdulos. As directivas de configurao podem ser includas condicionalmente para a
presena de um mdulo em particular colocando-o na seco <IfModule> . Pode instalar mdulos
adicionais para o Apache2 e inclu-los no seu servidor Web. Pode instalar mdulos para o apache
utilizando o comando apt-get . Por exemplo, para instalar o mdulo do Apache2 para autenticao
com o MYSQL, pode utilizar o seguinte comando num terminal:
sudo apt-get install libapache2-mod-auth-mysql
Uma vez instalado o mdulo, ele estar disponvel no directrio /etc/apache2/mods-available.
Pode utilizar o comando a2enmod para habilitar um mdulo. Para desabilit-lo utilize o
comando a2dismod. Uma vez habilitado um mdulo este estar disponvel no directrio
/etc/apache2/mods-enabled.
10.3. Configurao HTTPS
O mdulo mod_ssl adiciona uma importante funcionalidade ao servidor Apache2 - a capacidade de
codificar comunicaes. Assim, quando o seu navegador comunicar utilizando codificao SSL, o
prefixo https:// utilizado no incio do Uniform Resource Locator (URL) na barra de endereos.
O mdulo mod_ssl est disponvel no pacote apache2-common. Se instalou este pacote, pode executar
o seguinte comando num terminal para habilitar o mdulo mod_ssl.
sudo a2enmod ssl
10.3.1. Certificados e Segurana
Para configurar o seu servidor seguro, utilize a encriptao pblica de chaves para criar um par chave
pblica e chave privada. Na maioria dos casos, voc envao p seu pedido de certificado (incluindo a
sua chave pblica), comprova a identidade da sua empresa, e um pagamento para uma Autoridade
de Certificao (AC) Certificate Authority (CA) . A AC verifica o pedido de certificado e a sua
identidade, e seguidamente envia um certificado para o seu servidor seguro.
Rede
53
Alternativamente, voc pode criar o seu prprio certificado auto-autenticado. Note, no entanto, que
o certificados auto-autenticados no devem ser utilizados na maioria dos ambientes de trabalho. Os
certificados auto-autenticados no so automaticamente aceites pelos navegadores dos utilizadores,
sendo solicitado a esses solicitado a esses utilizadores que aceitem o certificado e criem a ligao
segura.
Uma vez que tenha criado um certificado auto-autenticado ou um certificado assinado por uma AC,
necessita instal-la no seu servidor seguro.
10.3.2. Tipos de Certificados
Voc necessita uma chave e um certificado para o funcionamento do seu servidor seguro, o que
significa que pode gerar um certificado auto-autenticado ou adquirir um certificado autenticado por
uma Autoridade de Certificao. O certificado adquirido fornece duas importantes capacidades ao seu
servidor.
Os navegadores (habitualmente) reconhecem o certificado e permitem o estabelecimento de uma
ligao segura sem perguntar ao utilizador.
Quando uma Autoridade de Certificao emite um certificado assinado, est garantida a identidade
da organizao que fornece as pginas web ao navegador.
A maioria dos navegadores Web que suportam SSL tm uma lista de ACs cujos certificados so
automaticamente aceites. Se um navegador encontra um certificado cuja AC no est na lista, o
navegador pergunda ao utilizador se aceita ou no a ligao.
Pode gerar um certificado auto assinado para o seu servidor seguro, mas tenha concincia de que
esse certificado no oferece as mesmas funcionalidades que o certificado assinado por uma AC. Um
certificado auto assinado no automaticamente reconhecido pela maioria dos navegadores e no
garante a identidade da organizao que fornece o stio web. Um certificado assinado por uma AC
oferece estas duas importantes funcionalidades para um servidor seguro. O processo de obteno de
um certificado de uma AC bastante simples. Numa rpida viso como se segue:
1. Criar um par chave privada e chave pblica de codificao.
2. Criar um pedido de certificado baseado numa chave pblica. O pedido de certificado contm
informao acerca do seu servidor e da empresa que o hospeda.
3. Envie o pedido de certificado junto com documentos comprovando a sua identidade para a
Autoridade de Certificao. No podemos dizer-lhe qual autoridade de certificao a escolher. A
sua deciso pode ser baseada em experincias anteriores, experincias de amigos ou colegas ou at
em factores econmicos.
Uma vez se tenha decidido sobre uma AC, necessita seguir as instrues que eles lhe tenham
fornecido sobre a obteno do certificado.
4. Quando a AC se considerar que voc ou a sua empresa so quem afirmam ser, enviar-lhe-o o
certificado digital.
5. Instale esse certificado no seu servidor seguro, e comece a utilizar transaces seguras.
Rede
54
Quer obtenha um certificado de uma AC quer gere o seu prprio certificado, o primeiro passo gerar
uma chave.
10.3.3. Gerao de Pedido de Assinatura de Certificado (CSR)
Para gerar o Pedido de Assinatura de Certificado (CSR), deve criar a sua prpria chave. Pode executar
o seguinte comando num terminal para criar a chave:
openssl genrsa -des3 -out server.key 1024
Generating RSA private key, 1024 bit long modulus
.....................++++++
.................++++++
unable to write 'random state'
e is 65537 (0x10001)
Enter pass phrase for server.key:
Pode agora digitar a sua palavra passe. Para melhor segurana, ela deve conter pelo menos oito
carcteres. O comprimento mnimo quando se especifica -des3 quatro carcteres. Deve conter
algarismos e/ou pontuao e no ser uma palavra de dicionrio. Lembre-se ainda que a sua palavra
passe sensvel a carcteres maisculos ou minsculos.
Volte a inserir a palavra passe para verificao. Uma vez que a tenha reinserido correctamente, a
chave do servidor gerada e guardada no ficheiro server.key.
Pode ainda correr o seu servidor web seguro sem palavra passe. Isso conveniente porque
assim no vai precisar de inserir a palavra passe sempre que inicie o seu servidor web
seguro. No entanto isso altamente inseguro e uma chave comprometida significa tambm o
comprometimento do servidor.
Em qualquer dos casos, pode optar por correr o seu servidor web seguro sem a palavra passe deixando
de fora a opo -des3 aquando da fase de gerao ou utilizando o seguinte comando num terminal:
openssl rsa -in server.key -out server.key.insecure
Uma vez que tenha executado o comando anterior, a chave insegura vai ser guardada no ficheiro
server.key.insecure. Pode usar este ficheiro para gerar o CSR sem palavra passe.
Para criar o CSR, execute o seguinte comando no terminal:
openssl req -new -key server.key -out server.csr
Ele vai pedir-lhe que insira a frase passe. Se inserir a frase correcta , vai pedir-lhe que indique o nome
da empresa (Company Name), o endereo do servidor Web (Site Name), correio electrnico (Email
ld), etc.. Aps o fornecimento de todos estes dados, o seu CSR ser gerado e guardado no ficheiro
Rede
55
server.csr. Pode submeter este ficheiro CSR a um AC para processamento. O CAN utilizar este
CSR e emitir o certificado. Por outro lado, pode criar um certificado auto assinado utilizando este
CSR.
10.3.4. Criar um Certificado Auto Assinado
Para criar um certificado auto assinado, execute o seguinte comando num terminal:
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
O comando anterior vai solicitar-lhe a frase passe. Uma vez introduzida a frase correcta, o seu
certificado ser gerado e guardado no ficheiro server.crt.
Se o seu servidor seguro se destina a ser usado num ambiente de produo, provavelmente
vai necessitar de um certificado AC assinado. No recomendado o uso de certificados auto
assinados.
10.3.5. Instalao do Certificado
Pode instalar o ficheiro chave server.key e o ficheiro de certificado server.crt ou ainda o ficheiro
certificado enviado pelo seu AC executando os seguintes comandos no terminal:
sudo cp server.crt /etc/ssl/certs
sudo cp server.key /etc/ssl/private
Dever adicionar as quatro linhas seguintes ao ficheiro /etc/apache2/sites-available/default
ou ao ficheiro de configurao da sua mquina virtual segura. Deve colocar as linhas na seco
VirtualHost. Devem ser colocadas depois da linha DocumentRoot:
SSLEngine on
SSLOptions +FakeBasicAuth +ExportCertData +CompatEnvVars +StrictRequire
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
HTTPS dever escutar no nmero de porto 443. Dever adicionar a linha seguinte ao ficheiro
/etc/apache2/ports.conf:
Listen 443
10.3.6. Aceder ao Servidor
Uma vez instalado o certificado, dever reiniciar o seu servidor web. Para o reiniciar pode executar o
comando seguinte num terminal:
sudo /etc/init.d/apache2 restart
Rede
56
Deve relembrar e inserir a frase passe de cada vez que inicia o seu servidor web seguro.
A frase passe ser-lhe- pedida. Uma vez que tenha introduzido a frase correcta, o servidor web seguro
ser iniciado. Para aceder s pginas do servidor seguro digite https://nome_seu_servidor/url/ na barra
de endereos do seu navegador.
10.4. Referncias
Documentao Apache2 [http://httpd.apache.org/docs/2.0/]
Documentao Mod SSL [http://www.modssl.org/docs/]
Rede
57
11. PHP5 - Scripting Language
PHP is a general-purpose scripting language suited for Web development. The PHP script can be
embedded into HTML. This section explains how to install and configure PHP5 in Ubuntu System
with Apache2 and MySQL.
This section assumes you have installed and configured Apache 2 Web Server and MySQL Database
Server. You can refer to Apache 2 section and MySQL sections in this document to install and
configure Apache 2 and MySQL respectively.
11.1. Instalao
The PHP5 is available in Ubuntu Linux.
To install PHP5 you can enter the following command in the terminal prompt:
sudo apt-get install php5-common php5 libapache2-mod-php5
You can run PHP5 scripts from command line. to run PHP5 scripts from command line you
should install php5-cgi package. To install php5-cgi you can enter the following command in the
terminal prompt:
sudo apt-get install php5-cgi
To use MySQL with PHP5 you should install php5-mysql package. To install php5-mysql you
can enter the following command in the terminal prompt:
sudo apt-get install php5-mysql
Similarly, to use PostgreSQL with PHP5 you should install php5-pgsql package. To install
php5-pgsql you can enter the following command in the terminal prompt:
sudo apt-get install php5-pgsql
11.2. Configurao
Once you install PHP5, you can run PHP5 scripts from your web browser. If you have installed
php5-cgi package, you can run PHP5 scripts from your command prompt.
By default, the Apache 2 Web server is configured to run PHP5 scripts. In other words, the PHP5
module is enabled in Apache2 Web server automatically when you install the module. Please verify
if the files /etc/apache2/mods-enabled/php5.conf and /etc/apache2/mods-enabled/php5.load
exist. If they do not exists, you can enable the module using a2enmod command.
Rede
58
Once you install PHP5 related packages and enabled PHP5 Apache 2 module, you should restart
Apache2 Web server to run PHP5 scripts. You can run the following command at a terminal prompt
to restart your web server:
sudo /etc/init.d/apache2 restart
11.3. Testar
To verify your installation, you can run following PHP5 phpinfo script:
<?php
print_r (phpinfo());
?>
You can save the content in a file phpinfo.php and place it under DocumentRoot directory of
Apache2 Web server. When point your browser to http://hostname/phpinfo.php, it would display
values of various PHP5 configuration parameters.
Rede
59
12. Squid - Servidor Proxy
O Squid uma aplicao servidora de armazenamento web completa que fornece servios de proxy e
de armazenamento para Protocolo de Transporte de HiperTexto (HTTP), Protocolo de Transporte de
Ficheiros (FTP), e outros protocolos de rede populares. O Squid pode implementar armazenamento
e execuo de proxy de pedidos de Camadas de Sockets Seguros (SSL) e armazenamento de
pesquisas a Servidor de Nomes de Domnio (DNS), e executar armazenamento transparente. O
Squid suporta ainda uma ampla variedade de protocolos de armazenamento, como o Protocolo
de Armazenamento da Internet, (ICP) o Protocolo de Armazenamento de HiperTexto, (HTCP) o
Protocolo de Direccionamento de Tabelas de Armazenamento (CARP), e o Protocolo Coordenao de
Armazenamento Web (WCCP).
O servidor de armazenamento proxy Squi8d uma excelente soluo para vrias necessidades de
armazenamento e proxy do servidor, e cresce desde uma rede de um pequeno escritrio at uma rede
de nvel empresarial, enquanto oferece mecanismos de acesso individualizado o monitorizao de
parmetros crticos via Protocolo de Gesto de Redes Simples Simple Network Management Protocol
(SNMP). Ao seleccionar um sistema para utilizar como servidor Squid dedicado, ou servidor de
armazenamento temporrio, assegure-se que esse sistema possui bastante memria RAM, dado que o
Squid utiliza bastante para assegurar um desempenho melhorado.
12.1. Instalao
Num terminal, insira o seguinte comando para instalar o servidor Squid:
sudo apt-get install squid squid-common
12.2. Configurao
O Squid configurado editando as directivas contidas no ficheiro de configurao
/etc/squid/squid.conf. Os exemplos seguintes ilustram algumas das directivas que podem
ser modificadas para alterar o comportamento do servidor Squid. Para uma configurao mais
aprofundada do Squid, consulte a seco de referncias.
Antes de editar o ficheiro de configurao, deve fazer uma cpia do mesmo e proteg-lo
contra escrita de forma a que possa usar as configuraes originais como referncia, ou
reutilizar o ficheiro conforme necessrio.
Copie o ficheiro /etc/squid/squid.conf e proteja-o contra a escrita com os comandos
seguintes utilizando o terminal:
sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.original
sudo chmod a-w /etc/squid/squid.conf.original
Para configurar o servidor Squid para escutar no porto TCP 8888 em vez do porto pr-definido
3128, altere a directiva http_port da seguinte forma:
Rede
60
http_port 8888
Altere a directiva visible_hostname por forma a dar ao servidor Squid um nome de mquina
especfico. Este nome de mquina no precisa necessriamente de ser o nome de mquina do
computador. Neste exemplo ele configurado como weezie
visible_hostname weezie
Mais uma vez, utilizando o controlo de acesso do Squid, pode configurar a utilizao de servios
da Internet alvo de proxy pelo Squid por forma a que somente estejam acessiveis a utilizadores
com determinados Endereos Internet (IP) . Por exemplo, vamos ilustrar o acesso apenas por
utilizadores da subrede 192.168.42.0/24:
Adicione o seguinte no fim da seco ACL do seu ficheiro /etc/squid/squid.conf:
acl fortytwo_network src 192.168.42.0/24
Depois, adicione o seguinte no incio da seco http_access do seu ficheiro
/etc/squid/squid.conf:
http_access allow fortytwo_network
Utilizando as excelentes caracteristicas de controlo de acesso do Squid, pode configurar a utilizao
de servios da Internet alvo de proxy pelo Squid para que estejem acessiveis somente durante as
horas de expediente. Por exemplo, vamos ilustrar o acesso dos empregados de um negcio que
funciona das 9:00 as 17:00, de Segunda-feira a Sexta-feira, e que utiliza a subrede 10.1.42.0/42:
Adicione o seguinte no fim da seco ACL do seu ficheiro /etc/squid/squid.conf:
acl rede_trabalho src 10.1.42.0/24 acl horas_trabalho time M T W T F 9:00-17:00
Depois, adicione o seguinte no incio da seco http_access do seu ficheiro
/etc/squid/squid.conf:
http_access allow rede_trabalho horas_trabalho
Aps alterar o ficheiro /etc/squid/squid.conf, grave-o e reinicie o servidor squid para
efectivar as alteraes utilizando o seguinte comando num terminal:
sudo /etc/init.d/squid restart
12.3. Referncias
Stio web Squid [http://www.squid-cache.org/]
Rede
61
13. Sistema de Controlo de Verses
O controlo de Verses a arte de gerir alteraes informao. Tem sido desde h muito uma
ferramenta crtica para programadores, que tipicamente gastam o seu tempo a executar pequenas
alteraes a software e depois desfazendo essas alteraes no dia seguinte. No entanto a utilidade
do software de controlo de verses extende-se bastante mais para alm das fronteiras do mundo do
desenvolvimento de software. Em qualquer lado onde encontre pessoas a utilizar computadores para
gerir informao que muda frequentemente, existe espao para o controlo de verses.
13.1. Subversion
O Subversion um sistema de controlo de verses 'open source'. Utilizando o Subversion pode
gravar a histria de ficheiros de cdigo fonte e documentos. Eles gere ficheiros e directrios ao longo
do tempo. Uma 'rvore' de ficheiros colocada num repositrio central. Este repositrio muito
semelhante a um vulgar servidor de ficheiros, excepto que se lembra de todas as alteraes efectuadas
nos ficheiros e directrios.
13.1.1. Instalao
Para aceder ao repositrio do Subversion utilizando o protocolo HTTP deve instalar e configurar
um servidor web com certificado digital. Est provado que o Apache2 funciona com o Subversion.
Por favor consulte a sub-seco HTTP da seco Apache2 para o instalar e configurar. Consulte a
sub-seco HTTPS da seco Apache2 para o instalar e configurar um certificado digital.
Para instalar o Subversion, execute o seguinte comando num terminal:
sudo apt-get install subversion libapache2-svn
13.1.2. Configurao de Servidor
Este passo assume que instalou os pacotes acima referidos no seu sistema. Esta seco explica como
criar um repositrio Subversion e aceder ao projecto.
13.1.2.1. Criar um Repsitrio Subversion
O repositrio Subversion pode ser criado usando o comando seguinte num terminal:
svnadmin create /path/to/repos/project
13.1.3. Mtodos de Acesso
Os repositrios Subversion podem ser acedidos (verificados) atravs de vrios mtodos -- num disco
local, ou utilizando vrios protocolos de rede. No entanto a localizao de um repositrio sempre
um URL. A tabela refere como diferentes esquemas URL indicam deferentes mtodos de acesso.
Rede
62
Tabela 4.1. Mtodos de Acesso
Esquema Mtodo de Acesso
file:// acesso directo ao repositrio (no disco local)
http:// Acesso via protocolo WebDAV a um servidor
web Apache2 com Subversion
https:// O mesmo que http://, mas com codificao SSL
svn:// Acesso via protocolo personalizado a um servidor
svnserve
svn+ssh:// O mesmo que svn://, mas atravs de tnel SSH
Nesta seco, veremos como configurar o Subversion para todos estes mtodos de acesso.
Aqui, cobrimos o bsico. Para mais detalhes em utilizaes avanadas, consulte o livro svn
[http://svnbook.red-bean.com/].
13.1.3.1. Acesso directo ao repositrio (file://)
Este o mais simples de todos os mtodos de acesso. No requere nenhum processo do Subversion
a funcionar no servidor. Este mtodo utilizado para aceder ao Subversion na mesma mquina. A
sintaxe do comando, executado num terminal, a seguinte:
svn co file:///caminho/para/repositorio/projecto
ou
svn co file://nome_da_maquina/para/repositorio/projecto
Se no especificar o nome da mquina existem trs barras (///) - duas para o protocolo (neste
caso file) mais uma para o caminho. Se indicar o nome da mquina deve utilizar duas barras
(//).
As permisses do repositrio dependem das permisses do sistema de ficheiros. Se o utilizador tem
permisso leitura/escrita, possvel efectuar as operaes sida e envio (checkout e commit) no
repositrio.
13.1.3.2. Acesso via protocolo WebDav (http://)
Para aceder ao repositrio Subversion via protocolo WebDAV, deve configurar o seu servidor web
Apache2. Ter de adicionar o seguinte no ficheiro /etc/apache2/apache2.conf:
<Location /svn>
DAV svn
SVNPath /caminho/para/repositorio
AuthType Basic
AuthName "O nome do seu repositrio"
Rede
63
AuthUserFile /etc/subversion/passwd
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
A seguir, deve criar o ficheiro /etc/subversion/passwd. Este ficheiro contm as informaes
de autenticao dos utilizadores. Para adicionar uma entrada, isto , adicionar um utilizador, deve
executar o seguinte comando num terminal:
htpasswd2 /etc/subversion/passwd nome_do_utilizador
Este comando pedir-lhe- para indicar uma palavra passe. Quando o fizer o utilizador ser adicionado.
Agora, para aceder ao repositrio pode executar o seguinte comando:
svn co http://nome_do_servidor/svn
A palavra passe transmitida como texto simples. Se estiver preocupado com a pesquisa
indevida de palavras passe, aconselhamos a utilizalo de codificao SSL. Para detalhes
consulte a seco seguinte:
13.1.3.3. Acesso via protocolo webDAV com codificao SSL (https://)
Aceder ao repositrio Subversion atravs do protocolo WebDAT com codificao SSL (https://)
semelhante ao http://, excepto que deve instalar e configurar um certificado difital no seu servidor
web Apache2.
Pode instalar um certificado digital emitido por uma companhia creditada como a Verisign.
Alternativamente, pode instalar o seu prprio certificado auto assinado.
Este passo assume que instalou e configurou um certificado digital no seu servidor web Apache2.
Agora, para aceder ao repositrio Subversion, consulte a seco acima! Os mtodos de acesso so
exactamente os mesmos, excepto o protocolo. Agora deve utilizar o https:// para aceder ao repositrio
Subversion.
13.1.3.4. Acesso via protocolo personalizado (svn://)
Uma vez criado o repositrio Subversion, pode configurar o controlo de acessos. Edite o ficheiro
/path/to/repos/project/conf/svnserve.conf para configurar o controlo de acessos. Por exemplo,
para configurar a autenticao, pode retirar os comentrios nas linhas seguintes do ficheiro de
configurao:
# [general]
# password-db = passwd
Depois de retirar os comentrios nas linhas acima, pode gerir a lista de utilizadores no ficheiro
passwd. Assim, edite o ficheiro passwd no mesmo directrio e adicione um novo utilizador. A
sintaxe a seguinte:
Rede
64
username = password
Para mais detalhes, consulte o ficheiro por favor.
Agora, para aceder ao Subversion via protocolo svn://, quer da mesma mquina ou de uma mquina
diferente, pode executar o svnserver usando o comando svnserve. A sintaxe a seguinte:
$ svnserve -d --foreground -r /caminho/para/repositorio
# -d -- modo servio
# --foreground -- correr visvel (til para correco de erros)
# -r -- raiz do directrio a disponibilizar
Para mais detalhes sobre a utilizao, por favor consulte:
$ svnserve --help
Uma vez executado este comando, o Subversion comea a escutar no porto pr-definido (3690). Para
aceder ao repositrio do projecto, deve executar o comando seguinte num terminal:
svn co svn://nome_da_maquina/projecto projecto --username nome_do_utilizador
Dependendo da configurao, ele pede a palavra passe. Uma vez autenticado, ele verifica o cdigo no
repositrio Subversion. Para sincronizar o repositrio do projecto com a cpia local, pode executar
num terminal o sub-comando update. A sintaxe a seguinte:
cd project_dir ; svn update
Para mais detalhes acerca de cada subcomando do Subversion, pode consultar o manual. Por exemplo,
para aprender mais sobre o comando co (do ingls checkout, verificar), por favor execute o comando
seguinte num terminal:
svn co help
13.1.3.5. Acesso via protocolo personalizado com codificao SSL (svn+ssh://)
A configurao e o processamento do servidor so os mesmos que o do mtodo svn:// . Para mais
detalhes consulte a seco acima. Este passo assume que seguiu os passos acima e iniciou o servidor
Subversion utilizando o comando svnserve.
Tambm assumido que o servidor ssh est funcionar nessa mquina e que aceita ligaes de entrada.
Para confirmar, por favor tente entrar na mquina utilizando o ssh. Se conseguir entrar, est tudo bem.
Se no conseguir, por favor verifique o servidor antes de continuar.
O protocolo svn+ssh:// utilizado para aceder ao repositrio Subversion utilizando codificao SSL.
Os dados transferidos so codificados utilizando este mtodo. Para aceder ao repositrio do projecto
(para efectuar, por exemplo, uma verificao), deve utilizar a seguinte sintaxe no comando:
svn co svn+ssh://nome_da_maquina/var/svn/repos/projecto
Rede
65
Tem que indicar o caminho completo (/path/to/repos/project) para aceder ao repositrio do
Subversion utilizando este mtodo.
Dependendo da configurao, ele pede uma palavra passe. Tem que digitar a palavra passe que utiliza
para iniciar a sesso via ssh. Uma vez autenticado, ele verifica o cdigo no repositrio Subversion.
13.2. Servidor CVS
CVS um sistema de controlo de versoes. Pode utiliz-lo para registar o histrico dos ficheiros
fonte.
13.2.1. Instalao
Num terminal execute o seguinte comando para instalar o cvs:
sudo apt-get install cvs
Aps instalar o cvs, deve instalar o xinetd para iniciar ou parar o servidor cvs. No terminal digite o
seguinte comando para instalar a aplicao xinetd:
sudo apt-get install xinetd
13.2.2. Configurao
Once you install cvs, the repository will be automatically initialized. By default, the repository resides
under the /var/lib/cvs directory. You can change this path by running following command:
cvs -d /your/new/cvs/repo init
Once the initial repository is set up, you can configure xinetd to start the CVS server. You can copy
the following lines to the /etc/xinetd/cvspserver file.
service cvspserver
{
port = 2401
socket_type = stream
protocol = tcp
user = root
wait = no
type = UNLISTED
server = /usr/bin/cvs
server_args = -f --allow-root /var/lib/cvs pserver
disable = no
}
Assegure-se que edita o repositrio se alterou o directrio do repositrio pr-definido
(/var/lib/cvs).
Rede
66
Once you have configured xinetd you can start the cvs server by running following command:
sudo /etc/init.d/xinetd start
Pode confirmar que o servidor CVS est em funcionamento executando o seguinte comando:
sudo netstat -tap | grep cvs
Quando executa este comando, dever ver a linha seguinte ou algo similar:
tcp 0 0 *:cvspserver *:* LISTEN
A partir daqui pode continuar a adicionar utilizadores, adicionar novos projectos, e a gerir o servidor
CVS.
O CVS permite ao utilizador adicionar utilizadores independentemente da instalao do
Sistema Operativo subjacente. Provavelmente a maneira mais fcil a de usar Linux Users
for CVS, embora tenha alguns problemas potenciais de segurana. Queira consultar o
manual do CVS para mais detalhes.
13.2.3. Adicionar Projectos
This section explains how to add new project to the CVS repository. Create the directory and add
necessary document and source files to the directory. Now, run the following command to add this
project to CVS repository:
cd your/project
cvs import -d :pserver:username@hostname.com:/var/lib/cvs -m "Importing my project to CVS repository" . new_project start
Pode usar a varivel ambiente CVSROOT para guardar o directrio de raiz do CVS. Uma
vez exportada a varivel de ambiente CVSROOT, pode evitar usar a opo -d no comando
cvs acima.
The string new_project is a vendor tag, and start is a release tag. They serve no purpose in this
context, but since CVS requires them, they must be present.
Quando adiciona um novo projecto, o utilizador CVS que estiver a utilizar tem de ter
permisses de escrita no repositrio CVS (/var/lib/cvs). Por omisso, o grupo src tem
permisso de escrita no repositrio CVS. Assim, pode adicionar o utilizador a este grupo,
podendo este ento adicionar e gerir projectos no repositrio CVS.
13.3. Referncias
Pgina do Subversion [http://subversion.tigris.org/]
Livro do Subversion [http://svnbook.red-bean.com/]
Rede
67
Manual do CVS [http://ximbiot.com/cvs/manual/cvs-1.11.21/cvs_toc.html]
Rede
68
14. Bases de Dados
O Ubuntu fornece dois servidores de Bases de Dados. Eles so:
MySQL
PostgreSQL
Ambos disponveis no repositrio main. Esta seco explica como instalar e configurar estes
servidores de bases de dados.
14.1. MySQL
O MySQL um servidor robusto de base de dados SQL, rpido, multi-tarefa, multi-utilizador.
orientado para actividades crticas, de produo com grandes cargas, e tambm para ser embebido em
software distribudo em massa.
14.1.1. Instalao
Para instalar o MySQL, execute o comando seguinte a partir de um terminal:
sudo apt-get install mysql-server mysql-client
Uma vez completada a instalao, o servidor MySQL dever iniciar automaticamente. Pode executar
o comando seguinte num terminal para verificar se o servidor MySQL est em execuo:
sudo netstat -tap | grep mysql
Quando executa este comando, dever ver a linha seguinte ou algo similar:
tcp 0 0 localhost.localdomain:mysql *:* LISTEN -
Se o servidor no estiver a executar correctamente, pode digitar o seguinte comando para o iniciar:
sudo /etc/init.d/mysql restart
14.1.2. Configurao
Por omisso, a palavra passe do administrador no est definida. Uma vez instalado o MySQL, a
primeira coisa que deve fazer configurar a palavra passe do administrador. Para fazer isso, execute
os seguintes comandos:
sudo mysqladmin -u root password novapalavrapassedorootsql
sudo mysqladmin -p -u root -h localhost password newrootsqlpassword
Rede
69
Pode editar o ficheiro /etc/mysql/my.cnf para configurar definies bsicas -- ficheiro de registos,
nmero de porto, etc. Consulte o ficheiro /etc/mysql/my.cnf para mais detalhes.
14.2. PostgreSQL
PostgreSQL um sistema de base de dados, relacional e orientada para objectos, que tem as
funcionalidades tradicionais dos sistemas comerciais e com melhorias que podem ser encontradas na
prxima gerao de sistemas DBMS.
14.2.1. Instalao
Para instalar PostgreSQL, execute o comando seguinte numa linha de comandos:
sudo apt-get install postgresql
Uma vez completada a instalao, dever configurar o servidor PostgreSQL de acordo com as suas
necessidades, embora a configurao por omisso seja vivel.
14.2.2. Configurao
Por omisso, a ligao TCP/IP est desactivada. PostgreSQL suporta mtodos mltiplos de
autenticao. Por omisso, o mtodo de autenticao IDENT usado. Por favor consulte o guia do
Administrador PostgreSQL [http://www.postgresql.org/docs/8.1/static/admin.html].
A discusso seguinte assume que deseja activar ligaes TCP/IP e usar o mtodo MD5 para
autenticao de clientes. Os ficheiros de configurao PostgreSQL so guardados no directrio
/etc/postgresql/<verso>/main. Por exemplo, se instalar o PostgreSQL 7.4, os ficheiros de
configurao sero guardados no directrio /etc/postgresql/7.4/main.
Para configurar autenticao ident, adicione entradas ao ficheiro
/etc/postgresql/7.4/main/pg_ident.conf.
Para activar ligaes TCP/IP, edite o ficheiro /etc/postgresql/7.4/main/postgresql.conf
Localize a linha #tcpip_socket = false e altere-a para tcpip_socket = true. Pode tambm editar
outros parmetros, se sabe exactamente aquilo que est a fazer! Para detalhes, consulte o ficheiro de
configurao ou a documentao do PostgreSQL.
Por omisso, as credenciais de utilizador no so definidas para autenticao de clientes MD5.
Assim, necessrio em primeiro lugar configurar o servidor PostgreSQL para usar autenticao
de clientes trust, ligar-se base de dados, configurar a palavra passe, e reverter a configurao de
volta para autenticao de clientes MD5. Para activar autenticao de clientes trust, edite o ficheiro
/etc/postgresql/7.4/main/pg_hba.conf
Retire o comentrio de todas as linhas existentes que usam autenticao de clientes ident e MD5 e
adicione a linha seguinte:
Rede
70
local all postgres trust sameuser
Em seguida, execute o comando seguinte para iniciar o servidor PostgreSQL:
sudo /etc/init.d/postgresql start
Uma vez que o servidor PostgreSQL tenha iniciado com sucesso, execute o comando seguinte num
terminal para se ligar base de dados modelo por defeito do PostgreSQL
psql -U postgres -d template1
O comando acima liga-se ao template1 da base de dados PostgreSQL como utilizador postgres. Uma
vez que se ligue ao servidor PostgreSQL, vai estar numa linha de comando do SQL. Pode executar
o seguinte comando SQL na linha de comando psql para configurar a palavra passe do utilizador
postgres.
template1=# ALTER USER postgres with encrypted password 'a_sua_palavra_passe';
Depois de configurar a senha, edite o ficheiro /etc/postgresql/7.4/main/pg_hba.conf para usar
autenticao MD5:
Comente (#) a linha recm adicionada trust e adicione a seguinte:
local all postgres md5 sameuser
A configurao acima no deve ser entendida de forma alguma como completa. Consulte O
Guia do Administrador PostgreSQL [http://www.postgresql.org/docs/8.1/static/admin.html]
para configurar mais parametros.
Rede
71
15. Servios de Correio Electrnico
O processo de obteno de uma mensagem de coreeio electrnico de uma pessoa para outra atravs
de uma rede ou da internet envolve muitos sistemas a trabalhar em conjunto. Cada um destes sistemas
tem de estar correctamente configurado para que o processo funcione. O remetente utiliza um Agente
de Utilizador de Correio Mail User Agent (MUA), ou cliente de email, para enviar a mensagem
atravs de um ou mais Agente de Transferncia de Correio Mail Transfer Agent (MTA), o ltimo dos
quais a vai entregar a um Agente de Entrega de Correio Mail Delivery Agent (MDA) para entrega nas
caixas de correio de destino, das quais ser obtida pelos clientes de email dessas caixas, normalmente
via um servidor POP3 ou IMAP.
15.1. Postfix
O Postfix o Agente de Transporte de Correio (MTA) pr-definido no Ubuntu. Este tenta ser rpido e
fcil de administrar e seguro. compativel com o MTA sendmail. Esta seco explica como instalar e
configurar o postfix. Tambm explica como configur-lo como servidor SMTP utilizando uma ligao
segura (para envio de email de forma segura).
15.1.1. Instalao
Para instalar postfix com SMTP-AUTH e Transport Layer Security (TLS), execute o comando
seguinte:
sudo apt-get install postfix
Pressione enter quando o processo de instalao lhe colocar questes, a configurao ser feita com
mais detalhe posteriormente.
15.1.2. Configurao Bsica
Para configurar o postfix, execute o seguinte comando:
sudo dpkg-reconfigure postfix
A interface do utilizador ser mostrada. Em cada ecr, seleccione os valores seguintes:
Ok
Internet Site
NONE
mail.example.com
mail.example.com, localhost.localdomain, localhost
No
127.0.0.0/8
Yes
0
+
Rede
72
all
Substitua mail.example.com com o nome do seu servidor de correio electrnico.
15.1.3. Autenticao SMTP
Os passos seguintes so para configurar o postfix para utilizar o SASL para SMTP AUTH. Em vez
de editar o ficheiro de configurao directamente, pode utilizar o comando postconf para configurar
todos os parmetros do postfix. Os parmetros de configurao sero armazenados no ficheiro
/etc/postfix/main.cf. Mais tarde, se desejar reconfigurar um parmetro em particular, pode
executar o comando ou alter-lo manualmente o ficheiro.
1. Configure Postfix to do SMTP AUTH using SASL (saslauthd):
postconf -e 'smtpd_sasl_local_domain ='
postconf -e 'smtpd_sasl_auth_enable = yes'
postconf -e 'smtpd_sasl_security_options = noanonymous'
postconf -e 'broken_sasl_auth_clients = yes'
postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'
postconf -e 'inet_interfaces = all'
Open the /etc/postfix/sasl/smtpd.conf file and add the following lines to end of the file:
pwcheck_method: saslauthd
mech_list: plain login
2. Next, configure the digital certificate for TLS. When asked questions, follow the instructions and
answer appropriately.
openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024
chmod 600 smtpd.key
openssl req -new -key smtpd.key -out smtpd.csr
openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
openssl rsa -in smtpd.key -out smtpd.key.unencrypted
mv -f smtpd.key.unencrypted smtpd.key
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650
sudo mv smtpd.key /etc/ssl/private/
sudo mv smtpd.crt /etc/ssl/certs/
sudo mv cakey.pem /etc/ssl/private/
sudo mv cacert.pem /etc/ssl/certs/
Pode obter o certificado digital de uma autoridade certificada. Alternativamente, pode
voc mesmo gerar o certificado. Consulte Seco 10.3.4, Criar um Certificado Auto
Assinado [55] para mais detalhes.
3. Configurar Postfix para efectuar encriptao TSL para correio electrnico de entrada e de sada:
postconf -e 'smtpd_tls_auth_only = no'
Rede
73
postconf -e 'smtp_use_tls = yes'
postconf -e 'smtpd_use_tls = yes'
postconf -e 'smtp_tls_note_starttls_offer = yes'
postconf -e 'smtpd_tls_key_file = /etc/ssl/private/smtpd.key'
postconf -e 'smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt'
postconf -e 'smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem'
postconf -e 'smtpd_tls_loglevel = 1'
postconf -e 'smtpd_tls_received_header = yes'
postconf -e 'smtpd_tls_session_cache_timeout = 3600s'
postconf -e 'tls_random_source = dev:/dev/urandom'
postconf -e 'myhostname = mail.example.com'
Aps ter executado todos os comandos, o SMTP AUTH est configurado no postfix. O
certificado auto-assinado criado para TLS e configurado no postfix.
Agora, o ficheiro /etc/postfix/main.cf dever ser semelhante a este
[../sample/postfix_configuration].
A configurao inicial do postfix est completa. Execute o comando seguinte para iniciar o
controlador postfix:
sudo /etc/init.d/postfix start
Agora o controlador postfix est instalado, configurado e executado com sucesso. Postfix suporta
SMTP AUTH como definido em RFC2554 [ftp://ftp.isi.edu/in-notes/rfc2554.txt]. baseado em SASL
[ftp://ftp.isi.edu/in-notes/rfc2222.txt]. Contudo ainda necessrio configurar autenticao SASL antes
de poder utilizar SMTP.
15.1.4. Configurar SASL
The libsasl2, sasl2-bin and libsasl2-modules are necessary to enable SMTP AUTH using SASL. You
can install these applications if you have not installed them already.
sudo apt-get install libsasl2 sasl2-bin
So necessrias algumas alteraes para funcionar devidamente. Porque o Postfix executado
chrooted em /var/spool/postfix, SASL necessita de ser configurado para correr no root falso
(/var/run/saslauthd torna-se /var/spool/postfix/var/run/saslauthd):
mkdir -p /var/spool/postfix/var/run/saslauthd
rm -rf /var/run/saslauthd
Para activar saslauthd, edite o ficheiro /etc/default/saslauthd, e altere ou adicione a varivel
START. De forma a configurar saslauthd para correr em root falso, adicione as variveis PWDIR,
PIDFILE e PARAMS. Finalmente, configure a varivel MECHANISMS conforme pretender. O
ficheiro dever parecer-se com:
# Isto necessita reconfigurado antes que o saslauthd funcione
# automaticamente
Rede
74
START=yes
PWDIR="/var/spool/postfix/var/run/saslauthd"
PARAMS="-m ${PWDIR}"
PIDFILE="${PWDIR}/saslauthd.pid"
# Necessita especificar o mecanismo de autenticao que deseja utilizar
# O pr-definido o "pam" para suportar o PAM, mas tambm pode incluir
# "shadow" ou "sasldb", assim:
# MECHANISMS="pam shadow"
MECHANISMS="pam"
Se preferir, pode usar shadow em vez de pam. Isto usar a transferncia de senha MD5
hashed e perfeitamente segura. O nome de utilizador e senha que precisam de autenticao
sero os mesmos que os utilizadores do sistema onde executa o servidor.
Em seguida, actualize o estado dpkg de /var/spool/portfix/var/run/saslauthd. O script de
inicializao saslauthd usa esta definio para criar o directrio em falta com as permisses e
proprietrio adequados.
dpkg-statoverride --force --update --add root sasl 755 /var/spool/postfix/var/run/saslauthd
15.1.5. Testar
A configurao de SMTP AUTH est completa. Agora est na hora de iniciar e testar a configurao.
Pode executar o seguinte comando para iniciar o servio SASL:
sudo /etc/init.d/saslauthd start
Para verificar se o SMTP-AUTH e o TLS trabalham correctamente, execute o comando seguinte:
telnet mail.example.com 25
Aps ter estabelecido a ligao ao servidor de correio postfix, escreva:
ehlo mail.example.com
Se obtiver as linhas seguintes entre outras, ento tudo estar a funcionar perfeitamente. Escreva quit
para sair.
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250 8BITMIME
15.2. Exim4
Exim4 is another Message Transfer Agent (MTA) developed at the University of Cambridge for use
on Unix systems connected to the internet. Exim can be installed in place of sendmail, although the
configuration of exim is quite different to that of sendmail.
Rede
75
15.2.1. Instalao
Para instalar o exim4, execute o seguinte comando:
sudo apt-get install exim4 exim4-base exim4-config
15.2.2. Configurao
Para configurar o exim4, execute o comando seguinte:
sudo dpkg-reconfigure exim4-config
A interface de utilizador ser apresentada. A interface do utilizador permite-lhe configurar muitos
parmetros. Por exemplo, no exim4 os ficheiros de configurao so divididos entre ficheiros
mltiplos. Se desejar ter esses ficheiros num s ficheiro pode configurar essa forma na interface de
utilizador.
All the parameters you configure in the user interface are stored in
/etc/exim4/update-exim4.conf.conf file. If you wish to re-configure, either you re-run the
configuration wizard or manually edit this file using your favourite editor. Once you configure, you
can run the following command to generate the master configuration file:
sudo update-exim4.conf
The master configuration file, is generated and it is stored in
/var/lib/exim4/config.autogenerated.
Em momento algum, deve editar o ficheiro de configurao principal,
/var/lib/exim4/config.autogenerated manualmente. Este actualizado
automaticamente sempre que executar o comando update-exim4.conf
You can run the following command to start exim4 daemon.
sudo /etc/init.d/exim4 start
TODO: This section should cover configuring SMTP AUTH with exim4.
15.3. Servidor Dovecot
Dovecot um Agente de Entrega de Correio Electrnico, escrito principalmente com a preocupao
da segurana em mente. Suporta os principais formatos de caixas de correio: mbox ou Maildir. Esta
seco exemplifica como configur-lo como servidor imap ou pop3.
15.3.1. Instalao
Para instalar dovecot, execute o comando seguinte numa linha de comandos:
Rede
76
sudo apt-get install dovecot-common dovecot-imapd dovecot-pop3d
15.3.2. Configurao
Para configurar dovecot, edite o ficheiro /etc/dovecot/dovecot.conf. Pode escolher
o protocolo a utilizar. Nomeadamente, pop3, pop3s (pop3 seguro), imap e imaps (imap
seguro). Uma descrio destes protocolos est para alm dos objectivos deste guia. Para mais
informao, consulte os artigos wikipedia em POP3 [http://en.wikipedia.org/wiki/POP3] e IMAP
[http://en.wikipedia.org/wiki/Internet_Message_Access_Protocol].
IMAPS and POP3S are more secure that the simple IMAP and POP3 because they use SSL
encryption to connect. Once you have chosen the protocol, amend the following line in the file
/etc/dovecot/dovecot.conf:
protocols = pop3 pop3s imap imaps
It enables the protocols when dovecot is started. Next, add the following line in the pop3 section of
the file /etc/dovecot/dovecot.conf:
pop3_uidl_format = %08Xu%08Xv
Next, choose the mailbox you use. Dovecot supports maildir and mbox formats. These are the most
commonly used mailbox formats. They both have their own benefits and they are discussed on the
dovecot website [http://dovecot.org/doc/configuration.txt].
Uma vez escolhido o tipo de caixa de correio, edite o ficheiro /etc/dovecot/dovecot.conf e altere a
linha seguinte:
default_mail_env = maildir:~/Maildir # (para o maildir)
or
default_mail_env = mbox:~/mail:INBOX=/var/spool/mail/%u # (para mbox)
You should configure your Mail Transport Agent (MTA) to transfer the incoming mail to
this type of mailbox if it is different from the one you have configured.
Once you have configured dovecot, start the dovecot daemon in order to test your setup:
sudo /etc/init.d/dovecot start
If you have enabled imap, or pop3, you can also try to log in with the commands telnet localhost
pop3 or telnet localhost imap2. If you see something like the following, the installation has been
successful:
bhuvan@rainbow:~$ telnet localhost pop3
Trying 127.0.0.1...
Rede
77
Connected to localhost.localdomain.
Escape character is '^]'.
+OK Dovecot ready.
15.3.3. Configurao SSL do Dovecot
Para configurar o dovecot para utilizar SSL, pode editar o ficheiro /etc/dovecot/dovecot.conf e
corrija as seguintes linhas:
ssl_cert_file = /etc/ssl/certs/dovecot.pem
ssl_key_file = /etc/ssl/private/dovecot.pem
ssl_disable = no
disable_plaintext_auth = no
Os ficheiros cert e key so gerados automaticamente pelo dovecot quando o instala. Por favor note
que estas chaves no so assinadas e daro erros "bad signature" quando se ligar de um cliente. Para
evitar isso, pode utilizar certificados comerciais, ou ainda melhor, pode utilizar os seus prprios
certificados SSL.
15.3.4. Configurao da Firewall para um Servidor de Email
Para aceder ao seu servidor de correio electrnico a partir de outro computador, deve configurar a sua
firewall para permitir ligaes ao servidor nos portos necessrios.
IMAP - 143
IMAPS - 993
POP3 - 110
POP3S - 995
15.4. Mailman
Mailman um programa de cdigo fonte aberto para gerir discusses de correio electrnico e listas
de notcias. Muitas listas de correio electrnico de software livre usam como software principal o
Mailman (inclundo as listas de correio electrnico do Ubuntu [http://lists.ubuntu.com].) poderoso
e fcil de instalar e manter.
15.4.1. Instalao
Mailman fornece um interface web para administradores e utilizadores. Por isso, requer apache com
suporte mod_perl. Mailman usa um servidor de correio electrnico externo para enviar e receber
correio electrnico. Funciona perfeitamente com os servidores de email seguintes:
Postfix
Exim
Sendmail
Qmail
Rede
78
Veremos como instalar mailman, o servidor web apache e o servidor de email Exim. Se deseja instalar
mailman com um servidor de email diferente, consulte a seco de referncias.
15.4.1.1. Apache2
Para instalar apache2 consulte Seco 10.1, Instalao [47].
15.4.1.2. Exim4
To install Exim4 you run the following commands at a terminal prompt:
sudo apt-get install exim4
sudo apt-get install exim4-base
sudo apt-get install exim4-config
Once exim4 is installed, the configuration files are stored in the /etc/exim4 directory. In Ubuntu, by
default, the exim4 configuration files are split across different files. You can change this behavior by
changing the following variable in the /etc/exim4/update-exim4.conf file:
dc_use_split_config='true'
15.4.1.3. Mailman
Para instalar Mailman, execute o comando seguinte num terminal:
sudo apt-get install mailman
Copia os ficheiros de instalao no directrio /var/lib/mailman. Instala os scripts CGI no directrio
/usr/lib/cgi-bin/mailman. Cria o utilizador linux list. Cria o grupo linux list. Este utilizador ser o
proprietrio do processo mailman.
15.4.2. Configurao
Esta seco assume que instalou com sucesso mailman, apache2, e exim4. Agora apenas precisa de os
configurar.
15.4.2.1. Apache2
Uma vez instalado o apache2, pode adicionar as linhas seguintes no ficheiro
/etc/apache2/apache2.conf:
Alias /images/mailman/ "/usr/share/images/mailman/"
Alias /pipermail/ "/var/lib/mailman/archives/public/"
O Mailman utiliza o apache2 para executar os seus scripts CGI. Os scripts CGI do mailman
so instalados no directrio /usr/lib/cgi-bin/mailman. Assim, o url do mailman ser
http://hostname/cgi-bin/mailman/. Pode fazer alteraes ao ficheiro /etc/apache2/apache2.conf se
desejar alterar este comportamento.
Rede
79
15.4.2.2. Exim4
Uma vez instalado o Exim4, pode iniciar o servidor Exim utilizando o seguinte comando num
terminal:
sudo apt-get /etc/init.d/exim4 start
Por forma a fazer o mailman utilizar o exim4, precisa de configurar o exim4. Como mencionado
anteriormente, por omisso, o exim4 utiliza ficheiros de configurao mltiplos e de tipos diferentes.
Para detalhes, consulte a pgina Exim [http://www.exim.org]. Para executar o mailman, devemos
adicionar um novo ficheiro de configurao aos seguintes tipos de configurao:
Principal
Transporte
Encaminhador (Router)
O Exim gera o ficheiro de configurao principal ordenando todos estes mini-ficheiros de
configurao. Assim, a ordem destes ficheiros de configurao bastante importante.
15.4.2.3. Principal
Todos os ficheiros de configurao pertencentes ao tipo main so guardados no directrio
/etc/exim4/conf.d/main/. Pode adicionar o contedo seguinte ao novo ficheiro, denominado
04_exim4-config_mailman:
# inicio
# directrio Home para a sua instalao do Mailman -- tambm referido
# como prefixo do directrio do Mailman
# No Ubuntu dever ser "/var/lib/mailman"
# Normalmente tem o mesmo significado que ~mailman MM_HOME=/var/lib/mailman
#
# Utilizador e Grupo para o Mailman, devem coincidir com a
# opo --with-mail-gid do script de configurao do Mailman.
# O valor normalmente "mailman"
MM_UID=list
MM_GID=list
#
# Os domnios a listar esto numa - lista separada por vrgulas
# deve querer adiciona-los tambm ao local_domains tambm
domainlist mm_domains=hostname.com
#
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=#
#
# Estes valores derivam daqueles acima e no devem necessitar
# de ser editados a no ser que tenha alterado a dua instalao mailman
#
# Caminho do script mscara do correio Mailman
MM_WRAP=MM_HOME/mail/mailman
#
# Caminho do ficheiro da lista de configurao (utilizado como ficheiro
Rede
80
# necessrio quando so verificadas moradas de listas)
MM_LISTCHK=MM_HOME/lists/${lc::$local_part}/config.pck
# fim
15.4.2.4. Transporte
Todos os ficheiros de configurao pertencentes ao tipo de transporte so guardados no directrio
/etc/exim4/conf.d/transport/. Pode adicionar o contedo seguinte a um novo ficheiro chamado
40_exim4-config_mailman:
mailman_transport:
driver = pipe
command = MM_WRAP \
'${if def:local_part_suffix \
{${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \
{post}}' \
$local_part
current_directory = MM_HOME
home_directory = MM_HOME
user = MM_UID
group = MM_GID
15.4.2.5. Encaminhador (Router)
Todos os ficheiros de configurao pertencentes ao tipo encaminhador so guardados no directrio
/etc/exim4/conf.d/router/. Pode adicionar o contedo seguinte a ficheiro novo chamado
101_exim4-config_mailman:
mailman_router:
driver = accept
require_files = MM_HOME/lists/$local_part/config.pck
local_part_suffix_optional
local_part_suffix = -bounces : -bounces+* : \
-confirm+* : -join : -leave : \
-owner : -request : -admin
transport = mailman_transport
Os ficheiros de configurao principal e de transporte podem estar em qualquer ordem. Mas,
a ordem dos ficheiros de configurao do encaminhador (router) deve ser a mesma. Este
ficheiro em particular deve aparecer antes do ficheiro 200_exim4-config_primary. Estes dois
ficheiros de configurao contem o mesmo tipo de informao. O primeiro ficheiro tem a
precedncia. Para mais detalhes, consulte as seces de referncia por favor.
15.4.2.6. Mailman
Once mailman is installed, you can run it using the following command:
sudo /etc/init.d/mailman start
Rede
81
Once mailman is installed, you should create the default mailing list. Run the following command to
create the mailing list:
sudo /usr/sbin/newlist mailman
Inroduza o endereo de correio electrnico da pessoa que gere a lista: bhuvan at ubuntu.com
Palavra passe inicial do mailman:
Para terminar a sua lista de correio electrnico, deve editar o seu ficheiro /etc/aliases
(ou equivalente) adicionando as seguintes linhas, e posivelmente executar
o programa `newaliases':
## mailman lista de correio
mailman: "|/var/lib/mailman/mail/mailman post mailman"
mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman"
mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman"
mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman"
mailman-join: "|/var/lib/mailman/mail/mailman join mailman"
mailman-leave: "|/var/lib/mailman/mail/mailman leave mailman"
mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman"
mailman-request: "|/var/lib/mailman/mail/mailman request mailman"
mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman"
Pressione enter para notificar o proprietrio do mailman ...
#
We have configured exim to recognize all emails from mailman. So, it is not mandatory to make any
new entries in /etc/aliases. If you have made any changes to the configuration files, please ensure
that you restart those services before continuing to next section.
15.4.3. Administrao
We assume you have a default installation. The mailman cgi scripts are still in the
/usr/lib/cgi-bin/mailman/ directory. Mailman provides a web based administration facility. To access
this page, point your browser to the following url:
http://hostname/cgi-bin/mailman/admin
The default mailing list, mailman, will appear in this screen. If you click the mailing list name, it will
ask for your authentication password. If you enter the correct password, you will be able to change
administrative settings of this mailing list. You can create a new mailing list using the command line
utility (/usr/sbin/newlist). Alternatively, you can create a new mailing list using the web interface.
15.4.4. Utilizadores
O Mailman providencia uma interface baseada na web para os utilizadores. Para aceder a esta pgina,
aponte o seu navegador para o seguinte url:
Rede
82
http://nomedoanfitriao/cgi-bin/mailman/listinfo
A lista de correio electrnico pr-definida, mailman, aparecer neste ecr. Se clicar no nome da
lista, ser-lhe- apresentado um formulrio de subscrio. Pode preencher o seu endereo de correio
electrnicp, nome (opcional), e senha de subscrio. Ser-lhe- enviado um convite via correio
electrnico. Pode seguir as instrues dessa mensagem para subscrever a lista.
15.4.5. Referncias
GNU Mailman - Manual de Instalao [http://www.list.org/mailman-install/index.html]
COMO FAZER - Utilizar o Exim 4 e o Mailman 2.1 em conjunto
[http://www.exim.org/howto/mailman21.html]
Rede
83
16. Time Synchronisation with NTP
This page describes methods for keeping your computer's time accurate. This is useful for servers, but
is not necessary (or desirable) for desktop machines.
NTP is a TCP/IP protocol for synchronising time over a network. Basically a client requests the
current time from a server, and uses it to set its own clock.
Behind this simple description, there is a lot of complexity - there are tiers of NTP servers, with
the tier one NTP servers connected to atomic clocks (often via GPS), and tier two and three servers
spreading the load of actually handling requests across the internet. Also the client software is a lot
more complex than you might think - it has to factor out communication delays, and adjust the time in
a way that does not upset all the other processes that run on the server. But luckily all that complexity
is hidden from you!
Ubuntu has two ways of automatically setting your time: ntpdate and ntpd.
16.1. ntpdate
Ubuntu comes with ntpdate as standard, and will run it once at boot time to set up your time according
to Ubuntu's NTP server. However, a server's clock is likely to drift considerably between reboots, so
it makes sense to correct the time ocassionally. The easiest way to do this is to get cron to run it every
day. With your favourite editor, create a file /etc/cron.daily/ntpdate containing:
ntpdate ntp.ubuntu.com
16.2. ntpd
ntpdate is a bit of a blunt instrument - it can only adjust the time once a day, in one big correction.
The ntp daemon ntpd is far more subtle. It calculates the drift of your system clock and continuously
adjusts it, so there are no large corrections that could lead to inconsistent logs for instance. The cost is
a little processing power and memory, but for a modern server this is negligible.
To set up ntpd:
sudo apt-get install ntp-simple
16.3. Changing Time Servers
In both cases above, your system will use Ubuntu's NTP server at ntp.ubuntu.com by default. This is
OK, but you might want to use several servers to increase accuracy and resilience, and you may want
to use time servers that are geographically closer to you. to do this for ntpdate, change the contents of
/etc/cron.daily/ntpdate to:
ntpdate ntp.ubuntu.com pool.ntp.org
Rede
84
And for ntpd edit /etc/ntp.conf to include additional server lines:
ntp.ubuntu.com
server pool.ntp.org
You may notice pool.ntp.org in the examples above. This is a really good idea which uses
round-robin DNS to return an NTP server from a pool, spreading the load between several different
servers. Even better, they have pools for different regions - for instance, if you are in New Zealand, so
you could use nz.pool.ntp.org instead of pool.ntp.org . Look at http://www.pool.ntp.org/ for more
details.
You can also Google for NTP servers in your region, and add these to your configuration. To test that
a server works, just type sudo ntpdate ntp.server.name and see what happens.
16.4. Related Pages
NTP Support [http://ntp.isc.org/bin/view/Support/WebHome]
The NTP FAQ and HOWTO [http://www.ntp.org/ntpfaq/NTP-a-faq.htm]
85
Captulo 5. Redes Windows
As redes de computadores so frequentemente compostas por sistemas diversos e, enquanto trabalhar
numa rede composta apenas por computadores e servidores Ubuntu seria certamente divertido, alguns
ambientes de rede so constituidos por sistemas Ubuntu e Microsoft Windows trabalhando em
conjunto em harmonia. Esta seco do Ubuntu Server Guide introduz os princpios e ferramentas
usados na configurao do seu Servidor Ubuntu para partilhar recursos de rede com computadores
Windows.
Redes Windows
86
1. Introduo
Ligar em rede o seu sistema Ubuntu a clientes Windows com sucesso envolve providenciar e
integrar com servios comuns aos ambientes Windows. Tais servios assistem na partilha de dados e
informao acerca dos computadores e utilizadores envolvidos na rede, e podem ser classificados em
trs principais categorias de funcionalidade:
Servios de Partilha de Ficheiros e Impressoras . Usando o protocolo Server Message Block
(SMB) para facilitar a partilha de ficheiros, pastas, volumes e a partilha de impressoras pela rede.
Servios de Directrio. Partilha informao vital acerca dos computadores e utilizadores da rede
com tecnologias tais como Lightweight Directory Access Protocol (LDAP) e Microsoft Active
Directory.
Acesso e Autenticao. Estabelecendo a identidade de um computador ou utilizador da rede e
determinando a informao do computador ou utilizador autorizado a aceder usando princpios
e tecnologias tais como permisses de ficheiros, polticas de grupo, e o servio de autenticao
Kerberos.
Fortunately, your Ubuntu system may provide all such facilities to Windows clients and share
network resources among them. One of the principle pieces of software your Ubuntu system includes
for Windows networking is the SAMBA suite of SMB server applications and tools. This section
of the Ubuntu Server Guide will briefly introduce the installation and limited configuration of
the SAMBA suite of server applications and utilities. Additional, detailed documentation and
information on SAMBA is beyond the scope of this documentation, but exists on the SAMBA website
[http://www.samba.org].
Redes Windows
87
2. Instalar o SAMBA
Na linha de comandos prompt introduza o comando seguinte para instalar as aplicaes do servidor
SAMBA:
sudo apt-get install samba
Redes Windows
88
3. Configurar o SAMBA
Pode configurar o servidor SAMBA editando o ficheiro /etc/samba/smb.conf para alterar
as definies padro ou adicionar novas definies. Informao extra sobre cada definio
est disponvel nos comentrios do ficheiro /etc/samba/smb.conf ou vendo o manual do
/etc/samba/smb.conf a partir da linha de comandos prompt com o seguinte comando escrito no
terminal:
man smb.conf
Antes de editar o ficheiro de configurao, deve criar uma cpia do ficheiro original e
proteg-lo de escrita de modo a ter as definies originais como referncia e reus-las se
necessrio.
Cria cpia de segurana do ficheiro /etc/samba/smb.conf:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.original
Agora, edite o ficheiro /etc/samba/smb.conf e faa as suas alteraes.
3.1. Servidor
Para alm do pacote SAMBA para partilha de ficheiros e impressoras no servidor, Ubuntu tambm
inclui outras potentes aplicaes de servidor desenhadas para fornecer funcionalidades adicionais
para clientes Windows, semelhantes s funcionalidades actualmente disponibilizadas pelos
servidores Windows. Por exemplo: Ubuntu oferece gesto centralizada de recursos de rede, tais como
computadores e utilizadores atravs de Servios de Directrio, e facilita a identificao e autorizao
de computadores e utilizadores atravs de Servios de Autenticao.
As seces seguintes discutem com mais detalhe o SAMBA e as tecnologias de suporte, tais como
o servidor Lightweight Directory Access Protocol (LDAP), e o servidor de autenticao Kerberos.
Tambm conhecer algumas directivas disponveis no ficheiros de configurao do SAMBA que
facilitam a integrao com clientes e servidores Windows.
3.1.1. Directrio Activo
Active Directory (Directrio Activo) uma implementao proprietria da Microsoft dos Servios
de Directrio, e utilizada para fornecer meios de partilhar informao acerca dos recursos e
utilizadores de rede. Para alm de fornecer uma fonte centralizada destas informaes, Active
Directory tambm funciona como central de autenticao e segurana para a rede. Active Directory
combina funcionalidades tradicionalmente separadas em sistemas de directrio especializados,
para simplificar a integrao, gesto e segurana dos recursos da rede. O pacote SAMBA pode ser
configurado para utilizar os servios de Active Directory de um Controlador de Domnio Windows.
Redes Windows
89
3.1.1.1. LDAP
A aplicao de servidor LDAP oferece funcionalidades de Servios de Directrio a computadores
Windows de forma muito semelhante aos servios Active Directory da Microsoft. Tais servios
incluem a gesto de identidades e relao de computadores, utilizadores e grupos de computadores
ou utilizadores que fazem parte da rede, e fornece uma forma consistente para descrever, localizar
e gerir esses recursos. A implementao gratuita do LDAP disponvel para o seu sistema Ubuntu
chama-se OpenLDAP. Os processos do servidor responsveis por manipular os pedidos OpenLDAP
de directrios e de propagao dos dados de directrios de um servidor LDAP para outro em Ubuntu
so, slapd e slurpd. OpenLDAP pode ser utilizado em conjunto com o SAMBA para fornecer
servios de Ficheiros, Impresso e de Directrios da mesma forma que um Controlador de Domnios
Windows, desde que o SAMBA seja compilado com suporte LDAP.
3.1.1.2. Kerberos
O sistema de autenticao segura Kerberos um servio padro para fornecer autenticao a
computadores e utilizadores atravs de um servidor central que garante, senhas de autorizao
codificadas aceites por qualquer outros computador que utilize o Kerberos. As vantagens do Kerberos
incluem autenticao mtua, autenticao por delegao, interoperabilidade e gesto simplificada
de domnios de confiana. Os processos do servidor principal para gesto da autenticao Kerberos,
e da administrao da base de dados do Kerberos no Ubuntu so krb5kdc e kadmin. O SAMBA
pode utilizar o Kerberos como mecanismo de autenticao de computadores e utilizadores num
Controlador de Domnio Windows. Para isso o Ubuntu deve ter o Kerberos instalado e o ficheiro
/etc/samba/smb.conf deve ser modificado para seleccionar o modo adequado de realm e security.
Por exemplo: edite o ficheiro /etc/samba/smb.conf e acrescente os valores:
realm = NOME_DOMNIO
security = ADS
para o ficheiro, e grave o ficheiro.
Assegure-se de que substitui NOME_DOMNIO no exemplo acima pelo nome real do seu
Domnio Windows especfico.
Deve reiniciar os servios SAMBA para as alteraes terem efeito. Reinicie os servios SAMBA com
o seguinte comando escrito no terminal:
sudo /etc/init.d/samba restart
3.1.2. Contas de Computador
Contas de Computador so usadas nos Servios de Directrio para a identificao nica de sistemas
de computador participando em rede, e so mesmo tratadas da mesma maneira que utilizadores
em termos de segurana. Contas de Computador podem ter palavras passe tal como tm as contas
Redes Windows
90
de utilizador, e so sujeitas a autorizao a recursos de rede na mesma maneira que as contas de
utilizador. Por exemplo, se um utilizador de rede, com uma conta vlida para uma rede especfica
se tentar autenticar com um recurso de rede de um computador que no possui conta de computador
vlida, dependendo de polticas impostas na rede, pode ser negado ao utilizador acesso ao recurso
se o computador a partir do qual o utilizador se tenta autenticar considerado um computador no
autorizado.
Uma conta para um computador pode ser adicionado ao ficheiro de palavras passe do SAMBA desde
que o computador j exista como um utilizador vlido na base de dados local de palavras passe. Para
adicionar um computador ou mquina ao ficheiro de palavras passe do SAMBA utilize o comando
smbpasswd na linha de comandos, com a sintaxe seguinte:
sudo smbpasswd -a -m NOME_COMPUTADOR
Tenha em conta que deve substituir o NOME_DE_COMPUTADOR no exemplo acima com
o verdadeiro nome do computador especfico para o qual deseja adicionar uma conta de
mquina.
3.1.3. Permisses de Ficheiros
Permisses de Ficheiros definem explicitamente os privilgios que um computador ou utilizador
tm para um directrio, ficheiro ou conjunto de ficheiros. Tais privilgios podem ser definidos
editando o ficheiro /etc/samba/smb.conf e indicando explicitamente as permisses de uma partilha.
Por exemplo, se tiver definida uma partilha chamada sourcedocs e pretende dar permisses "s de
leitura" read-only ao grupo de utilizadores definido como planning, mas pretende atribuir privilgios
de escrita ao grupo de utilizadores authors e ao utilizador richard, ento pode editar o ficheiro
/etc/samba/smb.conf e acrescentar as seguintes linhas dentro da seco [sourcedocs] :
read list = @planning
write list = @authors, richard
Grave o /etc/samba/smb.conf para as alteraes terem efeito.
Outro privilgio possvel declarar permisses administrativas administrative para uma partilha
em particular. Os utilizadores com permisses administrativas podem ler, escrever ou modificar
qualquer informao dentro do recurso para o qual o utilizador deu explicitamente permisses
administrativas. Por exemplo, se quiser dar ao utilizador melissa permisses administrativas para
a partilha sourcedocs, edite o ficheiro /etc/samba/smb.conf e adicione a seguinte linha dentro da
seco [sourcedocs] :
admin users = melissa
Grave o /etc/samba/smb.conf para as alteraes terem efeito.
Redes Windows
91
3.2. Clientes
O Ubuntu inclui aplicaes cliente e capacidades para aceder a recursos de rede partilhados com o
protocolo SMB. Por exemplo, o utilitrio smbclient permite o acesso remoto a sistemas de ficheiros
partilhados, de forma semelhante a uma aplicao cliente de FTP File Transfer Protocol. Para aceder
a uma pasta partilhada designada documents oferecida por uma mquina remota Windows com o
nome bill, utilizando o smbclient, poderia-se introduzir por exemplo, um comando similar ao seguinte
na linha de comandos:
smbclient //bill/documents -U <utilizador>
Ser-lhe- pedida a palavra passe do utilizador cujo nome foi indicado aps o parmetro -U , e aps
autenticao vlida, aparecer uma linha de comandos onde pode digitar comandos para manipulao
e transferncia de ficheiros utilizando uma sintaxe semelhante utilizada por clientes de FTP em
modo de texto. Para mais informao acerca do utilitrio smbclient leia a pgina do respectivo manual
com o comando:
man smbclient
A montagem local de um recurso remoto utilizando o protocolo SMB tambm possvel utilizando
o comando mount. Por exemplo, para montar uma pasta partilhada com o nome project-code num
servidor Windows chamado development como o utilizador dlightman no ponto de montagem local da
mquina Ubuntu /mnt/pcode, deve utilizar o seguinte comando na linha de comandos:
mount -t smbfs -o username=dlightman //cevelopment/project-code /mnt/pcode
Ser-lhe- pedida a palavra passe, e aps autenticao validada os contedos do recurso partilhado
estaro disponveis atravs do ponto de montagem especificado como ltimo argumento do comando
mount. Para desligar o recurso partilhado, utilize o comando umount como com qualquer outro
sistema de ficheiros montado. Por exemplo:
umount /mnt/pcode
3.2.1. Contas de Utilizadores
Contas de Utilizador definem pessoas com algum tipo de permisses para utilizarem determinadps
computadores e recursos de rede. Tipicamente, num ambiente de rede, fornecida a cada pessoa uma
conta com a qual pode aceder a um computador ou rede, onde polticas e permisses definem quais os
privilgios especficos desse utilizador. Para definir utilizadores de rede SAMBA para o seu sistema
Ubuntu pode utilizar o comando smbpasswd. Por exemplo, para adicionar um utilizador SAMBA ao
seu sistema Ubuntu com o nome de utilizador jseinfeld, digite este comando na linha de comandos:
Redes Windows
92
smbpasswd -a jseinfeld
A aplicao smbpasswd ir ento pedir-lhe que introduza a palavra passe para o utilizador:
Nova palavra passe SMB:
Insira a palavra passe que deseja para este utilizador, e a aplicao smbpasswd ir pedir-lhe que
confirme a palavra passe:
Insira novamente a nova palavra passe SMB:
Confirme a palavra passe e o smbpasswd adicionar a entrada do novo utilizador no ficheiro de
palavras passe do SAMBA.
3.2.2. Grupos
Os Grupos definem um conjunto de computadores ou de utilizadores com um nvel de acesso comum
a um recurso particular da rede e oferece um nvel de granularidade no controlo de acesso a esses
recursos. Por exemplo, se um grupo qa estiver definido e contiver os utilizadores freda, danika, e rob,
e um segundo grupo support estiver definido e contiver os utilizadores danika, jeremy e vincent, ento
alguns recursos de rede configurados para permitirem o acesso pelo grupo qa permitiro o acesso de
freda, danika, e rob, mas no de jeremy ou vincent. Dado que a utilizadora danika pertence a ambos
os grupos, qa e supportrole="italic">support
Ao definir grupos no ficheiro de configurao do SAMBA /etc/samba/smb.conf a sintaxe
reconhecida acrescentar o smbolo @ como prefixo ao nome do grupo. Por exemplo, se pretende
definir um grupo chamado sysadmin numa determinada seco do ficheiro /etc/samba/smb.conf,
f-lo- indicando nessa seco o grupo como @sysadmin .
3.2.3. Poltica de Grupo
Poltica de Grupo define determinadas configuraes do SAMBA respeitantes ao Domnio ou Grupo
de Trabalho ao qual o computador pertence, e outras configuraes globais do servidor SAMBA. Por
exemplo, se o servidor SAMBA pertence a um Grupo de Trabalho de computadores em Windows
chamado LEVELONE, o ficheiro /etc/samba/smb.conf pode ser editado e o valor seguinte alterado
em conformidade:
workgroup = LEVELONE
Grave o ficheiros e reinicie os servios (daemons) do SAMBA para aplicar as alteraes.
Outra configurao importante de poltica global inclui a server string que define o nome NETBIOS
do servidor comunicado pelo seu sistema Ubuntu a outras mquinas da rede baseada em Windows.
por este nome que o seu sistema Ubuntu ser reconhecido pelos clientes Windows e outros
computadores capazes de pesquisar na rede utilizando o protocolo SMB. Adicionalmente, pode
especificar o nome e a localizao do ficheiro de registos log do servidor SAMBA utilizando a
directiva log file no ficheiro /etc/samba/smb.conf.
Redes Windows
93
Algumas das directivas adicionais que comandam a poltica de grupo global incluem a especificao
da natureza global de todos os recursos partilhados. Por exemplo, ao colocar determinadas directivas
dentro da seco [global] no incio de ficheiro /etc/samba/smb.conf afectaro todos os recursos
partilhados a no ser que uma directiva que se sobreponha seja colocada na seco de um recurso
em particular. Pode especificar que todas as partilhas so pesquisveis por todos os clientes da rede
colocando a directiva browseable, que aceita um valor Lgico, dentro da seco [global] no incio de
/etc/samba/smb.conf. Isto , se editar o ficheiro e adicionar a linha:
browseable = true
dentro da seco [global] do ficheiro /etc/samba/smb.conf, todas as partilhas disponibilizadas pelo
seu sistema Ubuntu atravs do SAMBA ficaro pesquisavis por todos os clientes autorizados, a no
ser que uma partilha especfica contenha a directiva browseable = false que se sobrepe directiva
global.
Outros exemplos que funcionam de forma similar so as directivas public e writeable . A directiva
public aceita um valor lgico e determina que um recurso partilhado em particular visvel para todos
os clientes, autorizados ou no. A directiva writeable tambm aceita um valor lgico e define se um
recurso partilhado em particular tem acesso de escrita para todo e qualquer cliente de rede.
94
Apndice A. Creative Commons by
Attribution-ShareAlike 2.0
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT
PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE
AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR
DAMAGES RESULTING FROM ITS USE.
License
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE
COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY
COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN
AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND
AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU
THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH
TERMS AND CONDITIONS.
1. Definitions.
a. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in
which the Work in its entirety in unmodified form, along with a number of other contributions,
constituting separate and independent works in themselves, are assembled into a collective
whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as
defined below) for the purposes of this License.
b. "Derivative Work" means a work based upon the Work or upon the Work and other
pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization,
motion picture version, sound recording, art reproduction, abridgment, condensation, or any
other form in which the Work may be recast, transformed, or adapted, except that a work that
constitutes a Collective Work will not be considered a Derivative Work for the purpose of
this License. For the avoidance of doubt, where the Work is a musical composition or sound
recording, the synchronization of the Work in timed-relation with a moving image ("synching")
will be considered a Derivative Work for the purpose of this License.
c. "Licensor" means the individual or entity that offers the Work under the terms of this License.
d. "Original Author" means the individual or entity who created the Work.
e. "Work" means the copyrightable work of authorship offered under the terms of this License.
f. "You" means an individual or entity exercising rights under this License who has not
previously violated the terms of this License with respect to the Work, or who has received
Creative Commons by Attribution-ShareAlike 2.0
95
express permission from the Licensor to exercise rights under this License despite a previous
violation.
g. "License Elements" means the following high-level license attributes as selected by Licensor
and indicated in the title of this License: Attribution, ShareAlike.
2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising
from fair use, first sale or other limitations on the exclusive rights of the copyright owner under
copyright law or other applicable laws.
3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You
a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright)
license to exercise the rights in the Work as stated below:
a. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to
reproduce the Work as incorporated in the Collective Works;
b. to create and reproduce Derivative Works;
c. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly
by means of a digital audio transmission the Work including as incorporated in Collective
Works;
d. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly
by means of a digital audio transmission Derivative Works.
e. For the avoidance of doubt, where the work is a musical composition:
i. "Performance Royalties Under Blanket Licenses." Licensor waives the exclusive right
to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI,
SESAC), royalties for the public performance or public digital performance (e.g. webcast) of
the Work.
ii. "Mechanical Rights and Statutory Royalties." Licensor waives the exclusive right to
collect, whether individually or via a music rights society or designated agent (e.g. Harry
Fox Agency), royalties for any phonorecord You create from the Work ("cover version")
and distribute, subject to the compulsory license created by 17 USC Section 115 of the US
Copyright Act (or the equivalent in other jurisdictions).
f. "Webcasting Rights and Statutory Royalties." For the avoidance of doubt, where the Work
is a sound recording, Licensor waives the exclusive right to collect, whether individually or via
a performance-rights society (e.g. SoundExchange), royalties for the public digital performance
(e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of
the US Copyright Act (or the equivalent in other jurisdictions).
The above rights may be exercised in all media and formats whether now known or hereafter
devised. The above rights include the right to make such modifications as are technically necessary
to exercise the rights in other media and formats. All rights not expressly granted by Licensor are
hereby reserved.
4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by
the following restrictions:
Creative Commons by Attribution-ShareAlike 2.0
96
a. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work
only under the terms of this License, and You must include a copy of, or the Uniform Resource
Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly
display, publicly perform, or publicly digitally perform. You may not offer or impose any terms
on the Work that alter or restrict the terms of this License or the recipients' exercise of the
rights granted hereunder. You may not sublicense the Work. You must keep intact all notices
that refer to this License and to the disclaimer of warranties. You may not distribute, publicly
display, publicly perform, or publicly digitally perform the Work with any technological
measures that control access or use of the Work in a manner inconsistent with the terms of this
License Agreement. The above applies to the Work as incorporated in a Collective Work, but
this does not require the Collective Work apart from the Work itself to be made subject to the
terms of this License. If You create a Collective Work, upon notice from any Licensor You
must, to the extent practicable, remove from the Collective Work any reference to such Licensor
or the Original Author, as requested. If You create a Derivative Work, upon notice from any
Licensor You must, to the extent practicable, remove from the Derivative Work any reference to
such Licensor or the Original Author, as requested.
b. You may distribute, publicly display, publicly perform, or publicly digitally perform a
Derivative Work only under the terms of this License, a later version of this License with
the same License Elements as this License, or a Creative Commons iCommons license that
contains the same License Elements as this License (e.g. Attribution-ShareAlike 2.0 Japan).
You must include a copy of, or the Uniform Resource Identifier for, this License or other
license specified in the previous sentence with every copy or phonorecord of each Derivative
Work You distribute, publicly display, publicly perform, or publicly digitally perform. You
may not offer or impose any terms on the Derivative Works that alter or restrict the terms of this
License or the recipients' exercise of the rights granted hereunder, and You must keep intact all
notices that refer to this License and to the disclaimer of warranties. You may not distribute,
publicly display, publicly perform, or publicly digitally perform the Derivative Work with any
technological measures that control access or use of the Work in a manner inconsistent with the
terms of this License Agreement. The above applies to the Derivative Work as incorporated in a
Collective Work, but this does not require the Collective Work apart from the Derivative Work
itself to be made subject to the terms of this License.
c. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or
any Derivative Works or Collective Works, You must keep intact all copyright notices for the
Work and give the Original Author credit reasonable to the medium or means You are utilizing
by conveying the name (or pseudonym if applicable) of the Original Author if supplied; the title
of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier,
if any, that Licensor specifies to be associated with the Work, unless such URI does not refer
to the copyright notice or licensing information for the Work; and in the case of a Derivative
Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation
of the Work by Original Author," or "Screenplay based on original Work by Original Author").
Such credit may be implemented in any reasonable manner; provided, however, that in the case
Creative Commons by Attribution-ShareAlike 2.0
97
of a Derivative Work or Collective Work, at a minimum such credit will appear where any
other comparable authorship credit appears and in a manner at least as prominent as such other
comparable authorship credit.
5. Representations, Warranties and Disclaimer
UNLESS OTHERWISE AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS
THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
ANY KIND CONCERNING THE MATERIALS, EXPRESS, IMPLIED, STATUTORY
OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE,
MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT,
OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE
OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS
DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION
MAY NOT APPLY TO YOU.
6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN
NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY
SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES
ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. Termination
a. This License and the rights granted hereunder will terminate automatically upon any breach by
You of the terms of this License. Individuals or entities who have received Derivative Works or
Collective Works from You under this License, however, will not have their licenses terminated
provided such individuals or entities remain in full compliance with those licenses. Sections 1,
2, 5, 6, 7, and 8 will survive any termination of this License.
b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration
of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right
to release the Work under different license terms or to stop distributing the Work at any time;
provided, however that any such election will not serve to withdraw this License (or any other
license that has been, or is required to be, granted under the terms of this License), and this
License will continue in full force and effect unless terminated as stated above.
8. Miscellaneous
a. Each time You distribute or publicly digitally perform the Work or a Collective Work, the
Licensor offers to the recipient a license to the Work on the same terms and conditions as the
license granted to You under this License.
b. Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the
recipient a license to the original Work on the same terms and conditions as the license granted
to You under this License.
c. If any provision of this License is invalid or unenforceable under applicable law, it shall not
affect the validity or enforceability of the remainder of the terms of this License, and without
Creative Commons by Attribution-ShareAlike 2.0
98
further action by the parties to this agreement, such provision shall be reformed to the minimum
extent necessary to make such provision valid and enforceable.
d. No term or provision of this License shall be deemed waived and no breach consented to unless
such waiver or consent shall be in writing and signed by the party to be charged with such
waiver or consent.
e. This License constitutes the entire agreement between the parties with respect to the Work
licensed here. There are no understandings, agreements or representations with respect to the
Work not specified here. Licensor shall not be bound by any additional provisions that may
appear in any communication from You. This License may not be modified without the mutual
written agreement of the Licensor and You.
Creative Commons is not a party to this License, and makes no warranty whatsoever in connection
with the Work. Creative Commons will not be liable to You or any party on any legal theory for any
damages whatsoever, including without limitation any general, special, incidental or consequential
damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if
Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights
and obligations of Licensor.
Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL,
neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative
Commons without the prior written consent of Creative Commons. Any permitted use will be in
compliance with Creative Commons' then-current trademark usage guidelines, as may be published
on its website or otherwise made available upon request from time to time.
Creative Commons may be contacted at http://creativecommons.org/.
99
Apndice B. GNU Free Documentation
License
Version 1.2, November 2002
Copyright 2000,2001,2002 Free Software Foundation, Inc.
Free Software Foundation, Inc.
51 Franklin St, Fifth Floor,
Boston,
MA
02110-1301
USA

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it
is not allowed.
Version 1.2, November 2002
GNU Free Documentation License
100
1. PREAMBLE
The purpose of this License is to make a manual, textbook, or other functional and useful document
"free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it,
with or without modifying it, either commercially or noncommercially. Secondarily, this License
preserves for the author and publisher a way to get credit for their work, while not being considered
responsible for modifications made by others.
This License is a kind of "copyleft", which means that derivative works of the document must
themselves be free in the same sense. It complements the GNU General Public License, which is a
copyleft license designed for free software.
We have designed this License in order to use it for manuals for free software, because free software
needs free documentation: a free program should come with manuals providing the same freedoms
that the software does. But this License is not limited to software manuals; it can be used for any
textual work, regardless of subject matter or whether it is published as a printed book. We recommend
this License principally for works whose purpose is instruction or reference.
GNU Free Documentation License
101
2. APPLICABILITY AND DEFINITIONS
This License applies to any manual or other work, in any medium, that contains a notice placed by the
copyright holder saying it can be distributed under the terms of this License. Such a notice grants a
world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated
herein. The "Document", below, refers to any such manual or work. Any member of the public is a
licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work
in a way requiring permission under copyright law.
A "Modified Version" of the Document means any work containing the Document or a portion of it,
either copied verbatim, or with modifications and/or translated into another language.
A "Secondary Section" is a named appendix or a front-matter section of the Document that deals
exclusively with the relationship of the publishers or authors of the Document to the Document's
overall subject (or to related matters) and contains nothing that could fall directly within that overall
subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not
explain any mathematics.) The relationship could be a matter of historical connection with the subject
or with related matters, or of legal, commercial, philosophical, ethical or political position regarding
them.
The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of
Invariant Sections, in the notice that says that the Document is released under this License. If a section
does not fit the above definition of Secondary then it is not allowed to be designated as Invariant.
The Document may contain zero Invariant Sections. If the Document does not identify any Invariant
Sections then there are none.
The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or
Back-Cover Texts, in the notice that says that the Document is released under this License. A
Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.
A "Transparent" copy of the Document means a machine-readable copy, represented in a format
whose specification is available to the general public, that is suitable for revising the document
straightforwardly with generic text editors or (for images composed of pixels) generic paint programs
or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters
or for automatic translation to a variety of formats suitable for input to text formatters. A copy made
in an otherwise Transparent file format whose markup, or absence of markup, has been arranged
to thwart or discourage subsequent modification by readers is not Transparent. An image format is
not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called
"Opaque".
Examples of suitable formats for Transparent copies include plain ASCII without markup,
Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and
standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples
of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary
GNU Free Documentation License
102
formats that can be read and edited only by proprietary word processors, SGML or XML for which
the DTD and/or processing tools are not generally available, and the machine-generated HTML,
PostScript or PDF produced by some word processors for output purposes only.
The "Title Page" means, for a printed book, the title page itself, plus such following pages as are
needed to hold, legibly, the material this License requires to appear in the title page. For works in
formats which do not have any title page as such, "Title Page" means the text near the most prominent
appearance of the work's title, preceding the beginning of the body of the text.
A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely
XYZ or contains XYZ in parentheses following text that translates XYZ in another language.
(Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements",
"Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you
modify the Document means that it remains a section "Entitled XYZ" according to this definition.
The Document may include Warranty Disclaimers next to the notice which states that this License
applies to the Document. These Warranty Disclaimers are considered to be included by reference in
this License, but only as regards disclaiming warranties: any other implication that these Warranty
Disclaimers may have is void and has no effect on the meaning of this License.
GNU Free Documentation License
103
3. VERBATIM COPYING
You may copy and distribute the Document in any medium, either commercially or noncommercially,
provided that this License, the copyright notices, and the license notice saying this License applies
to the Document are reproduced in all copies, and that you add no other conditions whatsoever to
those of this License. You may not use technical measures to obstruct or control the reading or further
copying of the copies you make or distribute. However, you may accept compensation in exchange
for copies. If you distribute a large enough number of copies you must also follow the conditions in
section 3.
You may also lend copies, under the same conditions stated above, and you may publicly display
copies.
GNU Free Documentation License
104
4. COPYING IN QUANTITY
If you publish printed copies (or copies in media that commonly have printed covers) of the
Document, numbering more than 100, and the Document's license notice requires Cover Texts, you
must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover
Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly
and legibly identify you as the publisher of these copies. The front cover must present the full title
with all words of the title equally prominent and visible. You may add other material on the covers
in addition. Copying with changes limited to the covers, as long as they preserve the title of the
Document and satisfy these conditions, can be treated as verbatim copying in other respects.
If the required texts for either cover are too voluminous to fit legibly, you should put the first ones
listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.
If you publish or distribute Opaque copies of the Document numbering more than 100, you must
either include a machine-readable Transparent copy along with each Opaque copy, or state in or
with each Opaque copy a computer-network location from which the general network-using public
has access to download using public-standard network protocols a complete Transparent copy of
the Document, free of added material. If you use the latter option, you must take reasonably prudent
steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent
copy will remain thus accessible at the stated location until at least one year after the last time you
distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.
It is requested, but not required, that you contact the authors of the Document well before
redistributing any large number of copies, to give them a chance to provide you with an updated
version of the Document.
GNU Free Documentation License
105
5. MODIFICATIONS
You may copy and distribute a Modified Version of the Document under the conditions of sections
2 and 3 above, provided that you release the Modified Version under precisely this License, with the
Modified Version filling the role of the Document, thus licensing distribution and modification of
the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the
Modified Version:
GNU FDL Modification Conditions
A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and
from those of previous versions (which should, if there were any, be listed in the History section
of the Document). You may use the same title as a previous version if the original publisher of that
version gives permission.
B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the
modifications in the Modified Version, together with at least five of the principal authors of the
Document (all of its principal authors, if it has fewer than five), unless they release you from this
requirement.
C. State on the Title page the name of the publisher of the Modified Version, as the publisher.
D. Preserve all the copyright notices of the Document.
E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
F. Include, immediately after the copyright notices, a license notice giving the public permission to
use the Modified Version under the terms of this License, in the form shown in the Addendum
below.
G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in
the Document's license notice.
H. Include an unaltered copy of this License.
I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the
title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there
is no section Entitled "History" in the Document, create one stating the title, year, authors, and
publisher of the Document as given on its Title Page, then add an item describing the Modified
Version as stated in the previous sentence.
J. Preserve the network location, if any, given in the Document for public access to a Transparent
copy of the Document, and likewise the network locations given in the Document for previous
versions it was based on. These may be placed in the "History" section. You may omit a network
location for a work that was published at least four years before the Document itself, or if the
original publisher of the version it refers to gives permission.
K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section,
and preserve in the section all the substance and tone of each of the contributor acknowledgements
and/or dedications given therein.
GNU Free Documentation License
106
L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles.
Section numbers or the equivalent are not considered part of the section titles.
M.Delete any section Entitled "Endorsements". Such a section may not be included in the Modified
Version.
N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any
Invariant Section.
O. Preserve any Warranty Disclaimers.
If the Modified Version includes new front-matter sections or appendices that qualify as Secondary
Sections and contain no material copied from the Document, you may at your option designate some
or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the
Modified Version's license notice. These titles must be distinct from any other section titles.
You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of
your Modified Version by various parties--for example, statements of peer review or that the text has
been approved by an organization as the authoritative definition of a standard.
You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as
a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of
Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by)
any one entity. If the Document already includes a cover text for the same cover, previously added by
you or by arrangement made by the same entity you are acting on behalf of, you may not add another;
but you may replace the old one, on explicit permission from the previous publisher that added the old
one.
The author(s) and publisher(s) of the Document do not by this License give permission to use their
names for publicity for or to assert or imply endorsement of any Modified Version.
GNU Free Documentation License
107
6. COMBINING DOCUMENTS
You may combine the Document with other documents released under this License, under the terms
defined in section 4 above for modified versions, provided that you include in the combination all
of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant
Sections of your combined work in its license notice, and that you preserve all their Warranty
Disclaimers.
The combined work need only contain one copy of this License, and multiple identical Invariant
Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same
name but different contents, make the title of each such section unique by adding at the end of it, in
parentheses, the name of the original author or publisher of that section if known, or else a unique
number. Make the same adjustment to the section titles in the list of Invariant Sections in the license
notice of the combined work.
In the combination, you must combine any sections Entitled "History" in the various original
documents, forming one section Entitled "History"; likewise combine any sections Entitled
"Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled
"Endorsements".
GNU Free Documentation License
108
7. COLLECTIONS OF DOCUMENTS
You may make a collection consisting of the Document and other documents released under this
License, and replace the individual copies of this License in the various documents with a single
copy that is included in the collection, provided that you follow the rules of this License for verbatim
copying of each of the documents in all other respects.
You may extract a single document from such a collection, and distribute it individually under this
License, provided you insert a copy of this License into the extracted document, and follow this
License in all other respects regarding verbatim copying of that document.
GNU Free Documentation License
109
8. AGGREGATION WITH INDEPENDENT WORKS
A compilation of the Document or its derivatives with other separate and independent documents or
works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright
resulting from the compilation is not used to limit the legal rights of the compilation's users beyond
what the individual works permit. When the Document is included in an aggregate, this License
does not apply to the other works in the aggregate which are not themselves derivative works of the
Document.
If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the
Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on
covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the
Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole
aggregate.
GNU Free Documentation License
110
9. TRANSLATION
Translation is considered a kind of modification, so you may distribute translations of the Document
under the terms of section 4. Replacing Invariant Sections with translations requires special
permission from their copyright holders, but you may include translations of some or all Invariant
Sections in addition to the original versions of these Invariant Sections. You may include a translation
of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided
that you also include the original English version of this License and the original versions of those
notices and disclaimers. In case of a disagreement between the translation and the original version of
this License or a notice or disclaimer, the original version will prevail.
If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the
requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.
GNU Free Documentation License
111
10. TERMINATION
You may not copy, modify, sublicense, or distribute the Document except as expressly provided for
under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void,
and will automatically terminate your rights under this License. However, parties who have received
copies, or rights, from you under this License will not have their licenses terminated so long as such
parties remain in full compliance.
GNU Free Documentation License
112
11. FUTURE REVISIONS OF THIS LICENSE
The Free Software Foundation may publish new, revised versions of the GNU Free Documentation
License from time to time. Such new versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
Each version of the License is given a distinguishing version number. If the Document specifies that
a particular numbered version of this License "or any later version" applies to it, you have the option
of following the terms and conditions either of that specified version or of any later version that has
been published (not as a draft) by the Free Software Foundation. If the Document does not specify
a version number of this License, you may choose any version ever published (not as a draft) by the
Free Software Foundation.
GNU Free Documentation License
113
12. ADDENDUM: How to use this License for your documents
To use this License in a document you have written, include a copy of the License in the document
and put the following copyright and license notices just after the title page:
Sample Invariant Sections list
Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or
modify this document under the terms of the GNU Free Documentation License,
Version 1.2 or any later version published by the Free Software Foundation; with no
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the
license is included in the section entitled "GNU Free Documentation License".
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts."
line with this:
Sample Invariant Sections list
with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts
being LIST, and with the Back-Cover Texts being LIST.
If you have Invariant Sections without Cover Texts, or some other combination of the three, merge
those two alternatives to suit the situation.
If your document contains nontrivial examples of program code, we recommend releasing these
examples in parallel under your choice of free software license, such as the GNU General Public
License, to permit their use in free software.

Você também pode gostar