Você está na página 1de 451

Guia do Servidor Linux

Editado por
Conectiva S.A.
www .ProjetodeRedes .kit. net www .ProjetodeRedes .kit. net www .ProjetodeRedes .kit. net
Material disponvel em: www.ProjetodeRedes.com.br
Guia do Servidor
Editado por Conectiva S.A.
2.0 Edio
Publicado em novembro de 2000
Copyright 2000 por Conectiva
Coordenao: Mrcia Gawlak
Autores: Roberto Teixeira; Carlos Daniel Mercer;
Imagens: Artur T. Hara
Reviso Gramatical: Fernando Cardoso Nascimento
Desenvolvimento/Diagramao: Jorge Luiz Godoy Filho
Copyright 2000 - Conectiva S.A.
Linux uma marca registrada e concedida por Linus Torvalds, seu criador e cedente.
Windows, Windows NT e Internet Explorer so marcas registradas da Microsoft Corporation.
Netware uma marca registrada da Novell, Inc.
www.ProjetodeRedes.kit.net
Macintosh e Appletalk so marcas registradas da Apple Computers.
Netscape Communicator uma marca registrada da Netscape Communications Corporation.
Todas as demais marcas registradas so de uso e direito de seus respectivos proprietrios. As marcas
registradas so de propriedade dos seus autores.
A presente publicao foi produzida com todo o cuidado e zelo possveis. O editor, porm, no assume
responsabilidades sobre eventuais erros de interpretao, omisses ou danos resultantes do uso das
informaes aqui descritas, por terceiros, de boa ou m f.
Os autores gostariam de ser avisados sobre modicaes, tradues e verses impressas.
Agradecemos a todos aqueles que tm participado ativamente no desenvolvimento dos trabalhos de traduo,
internacionalizao, divulgao e adaptao do Linux realidade latinoamericana, pois muito de nosso esforo
est calcado no esforo participativo desta comunidade.
Esperamos que este guia seja de utilidade para todos aqueles que busquem uma ferramenta de auxlio s suas
atividades dirias, e que possa enriquecer e facilitar os seus conhecimentos.
Dados Internacionais de Catalogao na Publicao (CIP)
(Cmara Brasileira do Livro, SP, Brasil)
ISBN 85-87118-29-3
1. Linux (Sistema operacional de computador)
2. Equipe Conectiva.
Conectiva S.A.
Rua Tocantins, 89 - Cristo Rei - Curitiba - PR
CEP 80.050.430
http://www.conectiva.com.br
Material disponvel em: www.ProjetodeRedes.com.br
ndice
Prefcio .......................................................................................................................... 29
Convenes Tipogrcas....................................................................................... 32
1. Linuxconf ................................................................................................................... 35
Viso Geral ............................................................................................................ 35
Interfaces do Linuxconf......................................................................................... 36
Utilizao do Linuxconf........................................................................................ 38
Habilitando o Acesso ao Linuxconf Via Rede............................................. 41
Ajuda do Linuxconf .............................................................................................. 48
Efetivar as Conguraes...................................................................................... 48
Ativando ou Desativando Mdulos ....................................................................... 50
Permisso e Propriedade de Arquivos................................................................... 51
Arquivos de Congurao..................................................................................... 57
Comandos e Programas Residentes....................................................................... 60
Controle de atividade dos servios........................................................................ 62
Mais Funcionalidades do Linuxconf ..................................................................... 63
logs do Linuxconf.................................................................................................. 65
7
2. LVM............................................................................................................................ 67
O conceito de LVM............................................................................................... 68
Terminologia ......................................................................................................... 69
A mdia fsica............................................................................................... 69
Volume Fsico (PV) ..................................................................................... 70
Extenses Fsicas (PE)................................................................................. 70
Grupo de Volumes (VG) .............................................................................. 70
Volume Lgico (LV) .................................................................................... 71
Sistema de Arquivos .................................................................................... 71
Criando um Volume Lgico......................................................................... 74
Redimensionando um Volume Lgico .................................................................. 85
Aumentando um Volume Lgico................................................................. 85
Aumentando um sistema de arquivos .......................................................... 86
Diminuindo um sistema de arquivos ........................................................... 88
Diminuindo um Volume Lgico .................................................................. 89
Redundncia e Performance.................................................................................. 91
Vantagens de uma stripe .............................................................................. 92
Desvantagens ............................................................................................... 93
8
Striping nativo do LVM............................................................................... 93
3. RAID.......................................................................................................................... 97
RAID Via Hardware e Via Software ..................................................................... 98
RAID Via Hardware .................................................................................... 98
DPT.................................................................................................... 99
Controladoras Suportadas......................................................... 99
Controladoras DPT ....................................................... 100
Controladoras ICP Vortex............................................. 100
Tipos de Hardware.................................................................. 100
Tipo Controladora......................................................... 101
Tipo Encapsulado.......................................................... 101
RAID Via Software.................................................................................... 101
O Controlador de Mltiplos Dispositivos (MD) .............................. 102
Nveis de RAID................................................................................................... 104
RAID-linear ............................................................................................... 105
RAID-0 ...................................................................................................... 106
RAID-1 ...................................................................................................... 108
RAID-2 e RAID-3 ..................................................................................... 110
9
RAID-4 ...................................................................................................... 112
RAID-5 ...................................................................................................... 114
Tipos Hbridos ........................................................................................... 116
Desempenho de RAID ........................................................................................ 117
Desempenho no MD RAID-0 e no MD RAID-linear ............................... 117
Desempenho de Leitura no MD RAID-1................................................... 118
Desempenho de Escrita no MD RAID-1................................................... 118
Desempenho de Leitura no MD RAID-4/5 ............................................... 118
Desempenho de Escrita no MD RAID-4/5................................................ 119
Comparao dos Nveis de RAID.............................................................. 119
Congurao de RAID........................................................................................ 121
Modo Linear .............................................................................................. 123
RAID-0 ...................................................................................................... 125
RAID-1 ...................................................................................................... 127
RAID-4 ...................................................................................................... 130
RAID-5 ...................................................................................................... 134
Uso de RAID para Obter Alta Disponibilidade .................................................. 136
4. LDAP........................................................................................................................ 139
10
Introduo e Conceitos........................................................................................ 139
Servio de Diretrio................................................................................... 140
Tipo de Informao.................................................................................... 142
Organizando a Informao......................................................................... 143
Classes de Objetos ..................................................................................... 144
Referenciando a Informao...................................................................... 145
Acessando a Informao............................................................................ 146
Proteo Contra Acessos No-Autorizados............................................... 146
Funcionamento do LDAP.......................................................................... 147
Conceito e Utilizao do slapd.................................................................. 147
LDAP e o X.500 ........................................................................................ 149
Replicao.................................................................................................. 150
Instalando e Congurando o LDAP .................................................................... 153
Instalando os Pacotes................................................................................. 153
Criando o Diretrio.................................................................................... 155
Executando o Script migrate_all_ofine.sh............................................... 156
Editando o Arquivo /etc/openldap/ldap.conf ............................................ 157
Inicializando o Servidor LDAP ................................................................. 157
11
Utilizando o LDAP.............................................................................................. 158
Fazendo Pesquisas na Linha de Comando................................................. 159
Congurando o Netscape Communicator.................................................. 162
Acessando o Servidor LDAP por URLs .................................................... 164
Autenticao e NSS com o LDAP....................................................................... 166
Autenticao no LDAP e o NSS................................................................ 167
Congurando o PAM para Utilizar o LDAP.............................................. 167
Testando a Autenticao e o NSS.............................................................. 170
Adicionando e Removendo Usurios Via LDAP....................................... 171
Acrescentando o log do LDAP.................................................................. 172
Ferramentas Grcas para o LDAP..................................................................... 172
O Cliente de LDAP GQ............................................................................. 172
Acesso Mvel ...................................................................................................... 174
Implementando o Acesso Mvel ............................................................... 175
Alterando o Arquivo de Atributos.................................................... 175
Alterando o Arquivo objectclass ..................................................... 176
Personalizando o slapd.conf ............................................................ 178
Alterando o Arquivo LDIF............................................................... 179
12
Reinicializando o Servidor LDAP.................................................... 180
Congurando o Netscape ................................................................. 181
5. DNS........................................................................................................................... 183
Introduo e Conceitos........................................................................................ 183
Funcionamento do DNS...................................................................................... 184
Espao de Nomes de Domnio................................................................... 185
Nomes de Domnio.................................................................................... 185
Domnios.................................................................................................... 186
O Espao de Nomes de Domnios da Internet ........................................... 187
Domnios de Primeiro Nvel ...................................................................... 187
Delegao................................................................................................... 189
Servidores de Nomes ................................................................................. 189
Resolvedores .................................................................................... 192
Resoluo de Nomes........................................................................ 192
Cache................................................................................................ 193
Instalando e Congurando o DNS............................................................. 193
Instalando os Pacotes ....................................................................... 194
Congurando o Servidor DNS......................................................... 194
13
Congurando Mapas de IPs Reversos .................................... 198
Congurando um Servidor Secundrio .................................. 199
Forward Zones........................................................................ 200
Repetidores ............................................................................. 201
Funcionalidades...................................................................... 202
Alocao de Faixas de IP........................................................ 204
Inicializando o Servio..................................................................... 206
Arquivos de Congurao do BIND................................................................... 208
O Arquivo /etc/named.conf ........................................................................ 208
O Arquivo /var/named/nome-do-dominio...................................................... 209
O Arquivo /var/named/named.local ............................................................ 211
O Arquivo /var/named/named.ca ................................................................. 211
Congurao dos Clientes................................................................................... 213
Congurao Atravs do Linuxconf.......................................................... 214
O Arquivo /etc/resolv.conf ...................................................................... 216
Consideraes Finais........................................................................................... 217
6. Servidor Internet..................................................................................................... 219
Servidor Web ....................................................................................................... 219
14
Introduo e Conceitos .............................................................................. 219
O Hipertexto..................................................................................... 219
O Protocolo HTTP ........................................................................... 220
O Apache.......................................................................................... 222
Instalando o Apache......................................................................... 223
Congurando o Apache ................................................................... 223
Servidor FTP ....................................................................................................... 232
O WU-FTPD.............................................................................................. 233
Instalao e Congurao ................................................................................... 233
Acessos Annimos..................................................................................... 239
Permitindo Envio de Arquivos................................................................... 241
Arquivos de Mensagens e Banners............................................................ 245
Arquivo de Banner ........................................................................... 245
O Arquivo .message .......................................................................... 245
Servidor Proxy..................................................................................................... 247
Caching...................................................................................................... 247
O Squid...................................................................................................... 248
Instalao e Congurao ................................................................................... 249
15
Memria para Cache.................................................................................. 250
Arquivos de Cache..................................................................................... 252
Controle de Acesso.................................................................................... 253
7. Correio Eletrnico .................................................................................................. 255
Introduo............................................................................................................ 255
A Teoria............................................................................................................... 255
Como Funciona a Troca de Mensagens Eletrnicas.................................. 256
Os Protocolos Envolvidos na Troca de Mensagens ................................... 257
SMTP ............................................................................................... 257
POP .................................................................................................. 261
IMAP................................................................................................ 264
A Prtica .................................................................................................... 279
Congurao do POP e do IMAP.................................................... 280
Congurao do SMTP.................................................................... 280
8. Segurana no Servidor ........................................................................................... 285
Viso Geral sobre Segurana............................................................................... 285
Desabilitando Servios Desnecessrios .............................................................. 288
Servios Standalone................................................................................... 288
16
Servios Executados Atravs do inetd....................................................... 290
Utilizando TCP_Wrappers .................................................................................. 294
Firewall Atravs de Filtro de Pacotes.................................................................. 303
Congurao do Filtro de Pacotes Pelo Linuxconf ................................... 307
Vericando a Integridade do Sistema.................................................................. 321
Congurao do AIDE.............................................................................. 323
Utilizao do AIDE ................................................................................... 330
9. Alta Disponibilidade ............................................................................................... 333
Introduo............................................................................................................ 333
Denio.................................................................................................... 333
Disponibilidade Bsica .................................................................... 334
Alta Disponibilidade ........................................................................ 334
Disponibilidade Contnua ................................................................ 334
Objetivos.................................................................................................... 335
Clculo da Disponibilidade........................................................................ 336
Conceitos............................................................................................................. 337
Falha .......................................................................................................... 337
Erro ............................................................................................................ 338
17
Defeito ....................................................................................................... 338
Failover ...................................................................................................... 339
Failback...................................................................................................... 340
Misso........................................................................................................ 341
A Soluo Conectiva para Alta Disponibilidade................................................. 342
Monitorao de nodos................................................................................ 343
Replicao de disco ................................................................................... 343
Sistema de arquivos ................................................................................... 344
Monitorao de servios ............................................................................ 344
Congurao do DRBD...................................................................................... 345
Congurao via Linuxconf ...................................................................... 345
Congurao pelo modo texto................................................................... 347
Sistema de arquivos Reiserfs............................................................................... 350
Congurao do Heartbeat.................................................................................. 351
Congurao pelo Linuxconf .................................................................... 352
Congurao pelo modo texto................................................................... 356
10. Redes Mistas.......................................................................................................... 361
NFS...................................................................................................................... 361
18
Introduo e Conceitos .............................................................................. 361
Instalando o NFS.............................................................................. 362
Instale o servidor NFS............................................................ 362
Congurando o Servidor NFS................................................ 363
Congurando um cliente NFS................................................ 366
Samba.................................................................................................................. 368
Congurando o Servidor Samba................................................................ 368
Instalando o Samba .......................................................................... 369
Congurao .................................................................................... 370
Senhas Criptografadas ............................................................ 370
Senhas Descriptografadas no Windows 95................ 371
Senhas Descriptografadas no Windows 98................ 371
Senhas Descriptografadas no Windows NT............... 372
Conguraes Bsicas............................................................ 373
Compartilhando um diretrio ................................................. 374
Montando um volume Samba................................................. 375
Iniciando o Samba .................................................................. 376
Congurao do cliente.......................................................... 376
19
Utilizando o SWAT................................................................. 379
Mars-NWE .......................................................................................................... 381
Introduo e Conceitos .............................................................................. 382
O protocolo IPX............................................................................... 382
O Bindery ......................................................................................... 383
Scripts de Logon............................................................................... 383
Autenticao de Usurios................................................................. 384
Utilitrios DOS ................................................................................ 387
Performance ..................................................................................... 387
Problemas Conhecidos..................................................................... 388
Congurao.............................................................................................. 389
Volumes do Servidor ........................................................................ 390
Nome do Servidor Netware........................................................... 391
Rede Interna ..................................................................................... 391
Placas de Rede ................................................................................. 392
Salvamento de Rotas ........................................................................ 393
Verso do Netware........................................................................ 394
Tratamento de Senhas ...................................................................... 395
20
www .ProjetodeRedes .kit. net www .ProjetodeRedes .kit. net
Segurana de Arquivos durante o Processo de Login ...................... 396
Usurio Convidado........................................................................... 397
Usurios com Poder de Supervisor .................................................. 398
Usurios do Netware..................................................................... 399
Mapeamento Automtico de Usurios............................................. 400
Criao dos Diretrios Essenciais.................................................... 401
Script de Login Padro..................................................................... 401
Desligamento do Banner de Impresso ........................................... 402
Filas de Impresso............................................................................ 403
A. Appletalk.................................................................................................................. 405
Instalando o Netatalk........................................................................................... 405
Congurando o Netatalk ..................................................................................... 406
Exportando Diretrios ............................................................................... 406
Congurando Permisses de Acesso......................................................... 409
Usurios ........................................................................................... 409
Permisses no Diretrio dos Volumes.............................................. 409
Na Estao ................................................................................................. 409
Inicializando o Netatalk............................................................................. 410
21
B. Licenas Gerais....................................................................................................... 413
Introduo............................................................................................................ 413
O BSD Copyright ................................................................................................ 414
X Copyright......................................................................................................... 415
C. Licena de Uso e Garantia de Produto................................................................. 419
Geral .................................................................................................................... 419
Licena Restrita de Produtos............................................................................... 420
Antes da Instalao.............................................................................................. 422
Garantia Limitada................................................................................................ 423
Limitao de Reparao e Responsabilidade...................................................... 423
Bug do Ano 2000....................................................................................... 424
Geral .................................................................................................................... 425
D. Licena Pblica Geral GNU.................................................................................. 427
Introduo............................................................................................................ 427
Termos e Condies para Cpia, Distribuio e Modicao ............................ 429
Como Aplicar Estes Termos a Novos Programas?.............................................. 435
ndice Remissivo.......................................................................................................... 439
22
Lista de Tabelas
1. Convenes deste Guia ............................................................................................... 32
3-1. Atributos de Comparao dos Vrios Nveis de RAID......................................... 120
10-1. Correspondncia entre Opes do Linuxconf e do /etc/exports ........................ 365
Lista de Figuras
1-1. Interface Grca do Linuxconf................................................................................ 39
1-2. Executando o Linuxconf em um XTerm ................................................................. 41
1-3. Congurao do Acesso ao Linuxconf Via Rede.................................................... 43
1-4. Listagem dos Servios............................................................................................. 43
1-5. Ativando o Servio Linuxconf................................................................................. 44
1-6. Interface Web do Linuxconf..................................................................................... 46
1-7. Estado do sistema .................................................................................................... 48
1-8. Lista de Mdulos do Linuxconf............................................................................... 51
1-9. Previso de Modicao de Modo de Arquivos...................................................... 52
1-10. Filtrando a Listagem de Arquivos ......................................................................... 54
23
www .ProjetodeRedes .kit. net www .ProjetodeRedes .kit. net www .ProjetodeRedes .kit. net www .ProjetodeRedes .kit. net
1-11. Permisso de Arquivos Controlados pelo Linuxconf ............................................ 56
1-12. Denies de Permisses de um Arquivo ............................................................. 57
1-13. Lista dos Arquivos de Congurao...................................................................... 57
1-14. Listagem de Comandos e Programas Residentes .................................................. 60
1-15. Alterao de Congurao de Comando............................................................... 61
1-16. Congurao do Servio nger ............................................................................. 63
2-1. Volume Fsico.......................................................................................................... 72
2-2. Grupo de Volumes ................................................................................................... 72
2-3. Grupo de Volumes expandido.................................................................................. 73
3-1. RAID-0.................................................................................................................. 106
3-2. Stripping ................................................................................................................ 107
3-3. RAID-1.................................................................................................................. 109
3-4. RAID-2.................................................................................................................. 110
3-5. RAID-3.................................................................................................................. 112
3-6. RAID-4.................................................................................................................. 113
3-7. RAID-5.................................................................................................................. 114
4-1. Dados de diretrio distribudos em trs servidores ............................................... 141
4-2. rvore de Diretrio LDAP .................................................................................... 144
24
4-3. Um servio de diretrio replicado com dados distribudos em trs servidores ..... 151
4-5. Congurao de Autenticao............................................................................... 168
4-6. O Cliente de LDAP GQ......................................................................................... 173
5-1. Zona vs. Domnio .................................................................................................. 190
5-2. Tela de Congurao do Servidor DNS ................................................................ 195
5-3. Adicionando um Domnio ..................................................................................... 196
5-4. Adicionando um Mapa de IP Reverso................................................................... 198
5-5. Congurando um Servidor Secundrio ................................................................. 199
5-6. Congurando Forwarders ...................................................................................... 200
5-7. Congurando Repetidores ..................................................................................... 201
5-8. Funcionalidades do Servidor ................................................................................. 203
5-9. Alocao de Faixas de Endereos IP..................................................................... 204
5-10. Congurao do named Atravs do ntsysv ......................................................... 207
5-11. Adicionando um Domnio ................................................................................... 210
5-12. Especicao do Servidor de Nomes .................................................................. 214
6-1. Pgina Inicial doApache Conectiva Linux Vista no Netscape ........................... 223
6-2. Tela Incial de Congurao do Apache................................................................. 226
6-3. Conguraes Bsicas do Apache......................................................................... 227
25
6-4. Apelidos de IP ....................................................................................................... 230
6-5. Mquina Virtual do Apache................................................................................... 231
6-6. Tela Inicial de Congurao do WU-FTPD.......................................................... 235
6-7. Conguraes Bsicas do Servidor FTP ............................................................... 237
6-8. Conguraes de Controle de Acessos ................................................................. 238
6-9. Diretrio com .message Visto no Netscape ............................................................ 246
8-1. Congurao da Inicializao de Servios............................................................ 289
8-2. Congurao do /etc/services.............................................................................. 291
8-3. Desabilitando um Servio...................................................................................... 292
8-4. Servidor FTP sem tcp_wrappers............................................................................ 295
8-5. Servidor FTP Utilizando tcp_wrappers ................................................................. 296
8-6. Congurao de Regras de Entrada....................................................................... 308
8-7. Congurao de Guias........................................................................................... 309
8-8. Congurao da Guia Caractersticas .................................................................. 311
8-9. Exemplo de Utilizao de Firewall por Reenvio................................................... 313
8-10. Firewall Reenvio - Origem do Pacote.................................................................. 316
8-11. Firewall Reenvio - Destino do Pacote ................................................................. 316
8-12. Firewall Reenvio - Features................................................................................. 316
26
8-13. Adicionando uma Regra de Origem de Pacote.................................................... 317
8-14. Adicionando uma Regra de Destino de Pacote.................................................... 317
8-15. Firewall Reenvio - Adicionando uma Regra ....................................................... 317
8-16. Exemplo de Utilizao de Mascaramento de IP.................................................. 318
8-17. Congurando o IP Masquerade ........................................................................... 320
8-18. Firewall - IP Masquerade..................................................................................... 321
9-1. Congurao do DRBD......................................................................................... 346
9-2. Arquivo de congurao........................................................................................ 346
9-3. Congurao do Heartbeat .................................................................................... 352
9-4. Nodos..................................................................................................................... 353
9-5. IPs e Servios......................................................................................................... 354
9-6. Chaves de Autenticao......................................................................................... 354
9-7. Lista de dispositivos .............................................................................................. 355
9-8. Conguraes diversas .......................................................................................... 356
10-1. Tela de congurao do servidor NFS ................................................................ 363
10-2. Tela de acesso a volumes NFS............................................................................. 368
10-3. Congurao do Samba....................................................................................... 369
10-4. Tela de conguraes Globais do Samba............................................................ 374
27
10-10. Ambiente de Rede ............................................................................................. 379
10-11. SWAT................................................................................................................. 381
Lista de Exemplos
4-1. Utilizando as URLs do Netscape Communicator.................................................. 165
8-1. Exemplo de Congurao do tcp_wrappers.......................................................... 300
8-2. Congurao do tcp_wrappers Menos Restritiva.................................................. 302
8-3. Arquivo de Congurao do AIDE....................................................................... 328
28
Prefcio
A losoa bsica deste guia apresentar os servios mais importantes e essen-
ciais, como as novidades que o Conectiva Linux traz para os administradores de
rede e de sistemas. Numa linguagem rpida e fcil, o administrador pode ter uma
viso geral de cada servio, bem como uma explanao da teoria e conceitos
dos programas que esto disponveis no produto. O guia no visa ensinar cada
programa ou pacote, pois na teoria poderia-se criar um novo livro para cada as-
sunto. Alm da descrio geral dos principais pacotes, o usurio pode observar
exemplos da sua instalao e congurao.
O Linuxconf foi classicado como essencial ou importante em uma rede, porque
j um padro da distribuio Conectiva Linux. Mas o que queremos salientar
nessa verso do servidor so os novos mdulos que foram desenvolvidos para
ele. Antes de falar dos mdulos vamos dar um pequeno conceito do Linuxconf
que um programa que centraliza as conguraes de administrao de sistema
e de redes. Uma de suas vantagens a interface bastante amigvel, que satisfaz
a maioria dos usurios; ele pode ser usado em modo grco, texto e at pode ser
chamado via web. A Conectiva procurou implementar novos mdulos no pro-
grama, como tambm melhorar os j existentes, deixando o Linuxconf ainda
mais estvel. Com uma equipe especializada e trabalhando somente neste pro-
jeto, foi implementado um mdulo para a congurao da soluo de Boot Re-
moto, Wine, um aumento de funcionalidades na congurao do Samba, DNS,
NFS e muitos outros mdulos que o prprio programa apresenta. Para fechar,
a grande vantagem do Linuxconf a implementao constante realizada pela
equipe da Conectiva e tambm pela prpria comunidade Linux. Acompanhe em
29
Prefcio
nosso site (http://www.conectiva.com.br/atualizacoes/) sua evoluo e tenha sem-
pre emsua mquina a ltima verso. OLinuxconf est descrito commais detalhes
no primeiro captulo deste guia.
Dando continuidade ao guia, apresentado o conceito e funcionamento de um
servidor de LDAP. Este servio um protocolo cliente-servidor, utilizado para
acessar um servio de Diretrio - uma base de dados que se assemelha a uma
lista telefnica - que guarda toda a base de informaes dos seus usurios. Uma
facilidade interessante que, usando o cliente Netscape o usurio pode acessar
todas as conguraes de seu navegador remotamente.
descrito o funcionamento do RAID, que uma poderosa ferramenta para criar
um subsistema de unidades de disco, rpido e convel, atravs de unidades indi-
viduais. Sua funo proteger falhas no disco e no ser utilizado como um sub-
stituto para fazer backup. RAID um servio complexo que deve ser utilizado
com cautela e por administradores experientes.
Apresentamos o bom e velho DNS. Este servio, alm de ser conhecido por
muitos, de suma importncia para a congurao de uma rede. Neste captulo
apresentada uma introduo do seu conceito bsico e congurao.
Em Redes Mistas, demonstrado o NFS e mais dois protocolos para o Linux
trabalhar com outros sistemas operacionais - Samba e Mars-NWE. O NFS um
protocolo importante, dentro do Linux, para se fazer o compartilhamento de ar-
quivos; j o Samba permite que mquinas Linux conversem com mquinas
Windows e o Mars-NWE possibilita a comunicao de mquinas ou redes Linux
com mquinas ou redes Novell. Esta parte do guia bastante importante e inter-
essante para aqueles que esto migrando para o Linux e ainda no podem aban-
donar denitivamente outros sistemas operacionais. O Linux vem mostrar aqui
30
Prefcio
que pode conviver amigavelmente com todos.
Buscamos criar uma seqncia de servios para o administrador montar um servi-
dor bsico de Internet. Apresentamos o Apache para um servidor web, o WU-
FTPD para um servidor de FTP e o Squid para um servidor de proxy. Com estes
trs servios voc j monta um servidor base para seu provedor Internet, por
exemplo.
Dando continuidade, no captulo - Correio Eletrnico - apresentamos o funciona-
mento do Sendmail para a congurao de um servidor de e-mail. Utilize esse
captulo para incrementar seu servidor.
Falamos de Segurana no Servidor, apresentando algumas regras para aumentar a
segurana em sua rede e tambm descrevendo de uma maneira bem clara e obje-
tiva o que um administrador deve fazer para desabilitar os servios no utilizados.
Este o primeiro passo que um bom administrador deve dar, desabilitar o que no
est sendo usado. Saber, conhecer a rede um dos fatores mais importantes para
oferecer um mnimo de segurana para sua rede; mesmo que o administrador no
conhea conceitos de segurana, conhecer a rede j um grande passo. Leia com
ateno este captulo para dar seu primeiro salto.
Para fechar a seo de captulos, temos Alta Disponibilidade. Este captulo obje-
tiva a apresentao de conceitos e aplicaes que possibilitamaumentar a disponi-
bilidade de servidores Linux. Alta Disponibilidade vem mostrar que no ape-
nas mais um programa dentro de um produto, e sim, uma caracterstica de um
sistema computacional. O Conectiva Linux tambm vem abrindo as portas para
essa losoa.
No apndice, temos um assunto importante: o Appletalk. Este apndice do de-
screve o pacote Netatalk que vem no Conectiva Linux. Com ele voc pode criar
31
Prefcio
redes mistas usando mquinas Macintosh e Linux.
Para nalizar este guia, so apresentadas as licenas de uso gerais, a GPL e a
licena de uso do produto.
Aproveite ao mximo seus conceitos e exemplos.
Convenes Tipogrcas
Durante a confeco deste guia, procuramos descrever e formatar com uniformi-
dade os vrios termos utilizados. Segue abaixo as principais convenes uti-
lizadas.
Tabela 1. Convenes deste Guia
Conveno Descrio
Itlico Palavras em ingls.
Opes de Menus e Submenus Letra em tamanho maior que o corpo de
texto; os submenus esto separados por
setas.
Letra courier (mais fina e espaada) Denida para nomes de arquivos ou
extenses de arquivos.
32
Prefcio
A Conectiva espera, com este material, fornecer uma base para aqueles que de-
sejam implantar solues avanadas em um servidor, utilizando uma plataforma
Linux.
Se for encontrado algum erro ortogrco ou conceitual, por favor acesse o site
(http://www.conectiva.com.br/doc/errata) e preencha o formulrio adequado.
A Conectiva agradece o seu interesse neste produto e deseja boa sorte em seu
empreendimento!
33
Captulo 1. Linuxconf
Apresentaremos agora o Linuxconf para entender melhor o que acontece quando
efetuamos qualquer alterao atravs dele, ou quando entramos e samos do aplica-
tivo. Em vez de explicar cada um dos mdulos, examinaremos a habilitao e
desabilitao deles e tambm conheceremos quais so os arquivos monitorados
pelo Linuxconf.
Viso Geral
O Linuxconf um sistema avanado de administrao para o Linux. Ele central-
iza tarefas como congurao do sistema e monitorao dos servios existentes
na mquina. Na verdade, o Linuxconf um gerenciador de mdulos, cada qual
responsvel por executar uma tarefa especca. Por exemplo, entre vrios outros,
existem mdulos para:
congurao do servidor Apache;
congurao de conexes PPP;
congurao de regras para o ltro de pacotes do kernel.
35
Captulo 1. Linuxconf
Tendo em vista a maneira como o Linuxconf foi projetado, para adicionar uma
funcionalidade basta que algum escreva um novo mdulo para executar a tarefa.
Com isto, temos uma ferramenta que pode centralizar a congurao de todo o
sistema.
Uma das caractersticas de grande parte dos programas para Linux que eles
so muito exveis e tm dezenas (ou centenas) de opes de congurao. O
Linuxconf facilita a congurao destes programas, apresentando as opes de
congurao existentes de maneira organizada, muitas vezes fazendo tambm a
validao dos dados informados, diminuindo a ocorrncia de erros mais srios.
Quando voc faz uma alterao atravs de um mdulo e o naliza, as modicaes
no sistema so efetuadas. Quando voc sair do Linuxconf, sero feitas checagens
para vericar se o estado atual do sistema corresponde com a conguraes do
Linuxconf.
Interfaces do Linuxconf
Ao contrrio de vrias outras ferramentas de administrao, o Linuxconf tem
vrias interfaces de usurio:
36
Captulo 1. Linuxconf
Interface texto
Interface indispensvel, pois pode ser utilizada a qualquer momento, seja via console
ou via acesso remoto (telnet ou ssh). Esta interface elimina a necessidade de manter
instalado um servidor grco X apenas para congurar a mquina. A Tabela 1-1
mostra alguns atalhos de teclado teis para este modo do Linuxconf.
Tabela 1-1. Atalhos de Teclado para o Linuxconf
Teclas Descrio
F1 abre tela de ajuda
F3 sai de uma seo/tela
Ctrl-X mostra lista pop-up da opo
Ctrl-A vai para o incio da linha (Home)
Ctrl-B volta pgina anterior (PageUp)
Ctrl-D apaga o caractere corrente (Delete)
Ctrl-E vai para o nal da linha (End)
Ctrl-F vai para a pgina posterior (PageDown)
Ctrl-K apaga o texto, do cursor ao nal da linha
37
Captulo 1. Linuxconf
Interface web
A possibilidade de congurar uma mquina atravs de uma interface web cmoda,
pois basta ter acesso a um navegador. Com isto, possvel congurar uma mquina
atravs de praticamente qualquer plataforma de hardware e software, bastando uti-
lizar um navegador.
Interfaces grcas
Interfaces amigveis para usurios que preferem congurar o sistema atravs de
uma interface grca, tendo sua disposio janelas, caixas de dilogo, botes, etc.
Estas interfaces devem ser executadas em um servidor grco X, como o XFree86
(servidor grco padro do Linux).
Interface de linha de comando
Alguns mdulos do Linuxconf podem ser utilizados via linha de comando, o que,
entre outras possibilidades, permite a sua utilizao em scripts.
Voc poder utilizar qualquer uma destas interfaces, dependendo apenas da sua
necessidade ou do que h disponvel na mquina que est sendo administrada.
38
Captulo 1. Linuxconf
Utilizao do Linuxconf
O Linuxconf pode ser executado a qualquer momento, atravs da linha de co-
mando. Para inici-lo, basta digitar linuxconf na linha de comando, ou clicar no
cone do ambiente grco do superusurio.
A congurao padro do Conectiva Linux permite que apenas o superusurio
acesse o Linuxconf. Esta poltica foi escolhida por questes de segurana. Para
que outros usurios possam execut-lo necessrio que o programa tenha o bit
suid habilitado.
Quando o Linuxconf executado pela primeira vez ele exibe uma tela de apre-
sentao, com algumas instrues de utilizao do programa.
Ao ser iniciado, o Linuxconf verica se a varivel DISPLAY est congurada. Caso
armativo, ele inicia sua interface grca, conforme mostra a Figura 1-1.
39
Captulo 1. Linuxconf
Figura 1-1. Interface Grca do Linuxconf
Como pode ser observado na Figura 1-1, o Linuxconf tem trs sees: Congura-
40
Captulo 1. Linuxconf
o, Controle e Estado. A seo Congurao trata basicamente de conguraes
do sistema e a seo Estado permite a visualizao de logs e informaes gerais
do sistema. Como o objetivo deste captulo entender o funcionamento do Linux-
conf, nos deteremos na seo Controle, a qual nos permite visualizar e modicar
os padres do Linuxconf.
Para utilizar a interface texto do Linuxconf, basta execut-lo no modo texto, ou
ento adicionar a opo --text na linha de comando: linuxconf --text.
A Figura 1-2 ilustra o Linuxconf sendo executado num XTerm.
Figura 1-2. Executando o Linuxconf em um XTerm
Note que as informaes apresentadas na interface texto so as mesmas apresen-
tadas na interface grca, sendo que apenas a forma de apresentao difere entre
as duas interfaces.
A interface web pode ser acessada atravs da URL http://sua_maquina:98/ , mas
para isto voc deve primeiramente congurar o Linuxconf para que ele aceite
conexes via rede.
41
Captulo 1. Linuxconf
Habilitando o Acesso ao Linuxconf Via Rede
O primeiro passo para habilitar o acesso ao Linuxconf atravs da rede ir at o
menu ConguraoAmbiente de Rede Diversos Acesso ao Con-
gurador Linux via rede e marcar a opo ativa acesso via rede.
Alm desta opo til marcar tambm a opo Acesso de registro no arquivo
/var/log/htmlaccess.log, para que os acessos quem registrados neste arquivo.
Logo abaixo destas opes, voc encontra alguns campos para denir quais mquinas
podem acessar o Linuxconf via rede. Se estes no forem preenchidos, o Linux-
conf aceitar apenas conexes da rede local da primeira placa de rede detectado
pelo sistema, o que considerado um funcionamento razoavelmente seguro.
Se voc prefere ser mais especco, informe uma mquina ou uma rede e op-
cionalmente uma mscara de rede. Suas opes para especicar uma mquina ou
uma rede so:
um nome de mquina;
um endereo IP;
um par de endereo IP e mscara de rede;
um nome de dispositivo (eth0, eth1, etc).
Observe o exemplo da Figura 1-3:
42
Captulo 1. Linuxconf
Figura 1-3. Congurao do Acesso ao Linuxconf Via Rede
Com esta congurao ser possvel acessar a interface web do Linuxconf atravs
da interface loopback (127.0.0.1), da rede 192.168.0.0/255.255.255.0 e da mquina
host.qwerty.com. Quando especicado umendereo IP ou umnome de mquina,
sem especicar uma mscara de rede, assumida por padro a seguinte mscara:
255.255.255.255.
Como esta interface do Linuxconf roda atravs do inetd, necessrio vericar se
ele est habilitado. Este procedimento pode ser efetuado atravs da caixa de di-
logo Controle Painel de Controle Controle de atividade dos servios.
Nesta caixa de dilogo procure pelo servio linuxconf , o qual dever estar mar-
cado como Inativo, como ilustrado na Figura 1-4.
43
Captulo 1. Linuxconf
Figura 1-4. Listagem dos Servios
Ao selecionar esta opo, ser apresentada uma caixa de dilogo de congura-
o do servio. Por enquanto preocupe-se apenas em ativar o servio, marcando
Estado como Ativo (veja Figura 1-5).
44
Captulo 1. Linuxconf
Figura 1-5. Ativando o Servio Linuxconf
O passo seguinte sair do Linuxconf e escolher a opo Ativar as mudanas,
para que estas alteraes sejam efetivadas.
Se o servio inet no estiver inicializado, como superusurio inicie com os co-
mandos:
# cds
atalk functions inet lpd nfs sendmail xfs
atd gated keytable mars-nwe nfslock single ypbind
45
Captulo 1. Linuxconf
crond gpm killall mon pcmcia smb
cups halt kudzu named portmap snmpd
dhcpd heartbeat ldirectord netfs postgresql sshd
drbd httpd linuxconf-setup network random syslog
# ./inet start
Iniciando os servios INET: [ OK ]
Finalmente, para acessar o Linuxconf atravs de sua interface web, basta apon-
tar seu navegador para http://127.0.0.1:98/, isto , se voc estiver acessando da
mquina local. Se estiver acessando da rede, substitua 127.0.0.1 pelo nome ou
endereo IP da mquina.
A Figura 1-6 mostra uma pgina da interface web do Linuxconf.
46
Captulo 1. Linuxconf
Figura 1-6. Interface Web do Linuxconf
47
Captulo 1. Linuxconf
Ajuda do Linuxconf
O Linuxconf tem vrias telas de ajuda que lhe explicam como utilizar algumas
das caractersticas do programa. Para acess-las basta selecionar a opo Ajuda,
existente em todas as telas do programa.
Como o Linuxconf um projeto em andamento, algumas telas de ajuda ainda no
foram traduzidas para a lngua portuguesa, e outras no foram nem mesmo escritas.
Portanto, no se preocupe caso aparea alguma tela de ajuda em ingls, ou se
aparecer alguma mensagem dizendo que o arquivo de ajuda no existe.
Efetivar as Conguraes
Um dos primeiros pontos a conhecer do Linuxconf, que muitas das congu-
raes realizadas atravs dele, somente tero efeito quando explicitamente efeti-
vadas. Existem vrias maneiras para efetivar estas mudanas. Uma delas saindo
do Linuxconf. Ao sair do programa, aps ter efetuado alguma modicao em
conguraes, voc ver uma tela semelhante ilustrada na Figura 1-7.
48
Captulo 1. Linuxconf
Figura 1-7. Estado do sistema
A no ser quando explicitamente indicado, as telas e os procedimentos descritos
neste captulo so baseados na interface grca do Linuxconf. A diferena de op-
erao entre uma interface e outra mnima, portanto voc no ter problemas em
utilizar quaisquer das outras interfaces.
A janela apresenta um relatrio (Figura 1-7) do que ser executado, no caso de
voc desejar que as conguraes sejam feitas.
Se voc desistir de sair do programa, basta selecionar a opo Volta ao linuxconf ,
o que far com que voc volte tela principal do Linuxconf. A opo Cance-
lar permite que voc saia do programa sem efetuar as alteraes, ao contrrio
da opo Faa isso, atravs da qual voc sai do programa efetivando todas as
alteraes necessrias.
49
Captulo 1. Linuxconf
Uma outra maneira de ativar as mudanas na congurao do sistema atravs
da opo Controle Painel de Controle Ativar a congurao.
Se voc costuma utilizar a linha de comando, existem dois comandos teis. O
comando linuxconf --status exibe o relatrio do que precisa ser feito para
sincronizar a congurao do sistema, e o comando linuxconf --update efetua
as alteraes, como ilustrado a seguir.
# linuxconf -status
Lista de pr-requisitos para ativar a configurao atual
# linuxconf -update
Checando configurao bsica
Checando os mdulos do kernel
Montando volumes locais
Checando permisses de arquivos
Checando o LILO
Executando alguns scripts de inicializao Sysv
Configurao do firewall
Ativando ou Desativando Mdulos
50
Captulo 1. Linuxconf
O Linuxconf composto por vrios mdulos, cada um com uma funo espec-
ca. possvel desativar mdulos desnecessrios ou ativar os existentes para uti-
lizao. Acessando Controle Arquivos de controle e sistemas Congu-
rar os mdulos do Linuxconf voc ter acesso Lista de mdulos (Figura 1-8).
Esta lista mostra os mdulos existentes, sua descrio e uma checkbox que in-
forma se o mdulo est ativo. Para conrmar qualquer alterao nesta tela clique
em Aceitar.
Figura 1-8. Lista de Mdulos do Linuxconf
Permisso e Propriedade de Arquivos
O Linuxconf mantm uma base de dados com permisses e propriedades de ar-
quivos e diretrios importantes do sistema, evitando assim que estas caractersti-
51
Captulo 1. Linuxconf
cas sejam acidentalmente alteradas.
Por exemplo, se voc alterar o modo do diretrio /var/spool/mail para 777, ao
ativar as conguraes o Linuxconf ir congur-lo novamente com o modo 775,
como ilustrado na Figura 1-9.
52
Captulo 1. Linuxconf
Em algumas situaes, possvel que voc necessite alterar permanentemente
o modo (ou dono ou grupo) de um arquivo administrado pelo Linuxconf. Neste
caso, necessrio alterar as informaes do arquivo armazenadas no menu Con-
trole Arquivos de controle e sistemas Congurar permisses e pro-
priedades de arquivos. Ao acessar esta opo, ser apresentada uma caixa de
dilogo (Figura 1-10) na qual voc poder informar um prexo para ltrar quais
arquivos sero listados, j que a lista bastante grande. Se voc no colocar um
prexo, a listagem completa ser exibida. A listagem, ltrada ou no, ser exibida
assim que voc clicar no boto Aceitar.
54
Captulo 1. Linuxconf
A Figura 1-11 mostra uma listagem dos arquivos do diretrio /usr que so ad-
ministrados pelo Linuxconf.
Figura 1-11. Permisso de Arquivos Controlados pelo Linuxconf
Esta caixa de dilogo tem cinco colunas de informao:
Rota: exibe o caminho completo para o arquivo ou diretrio.
Tipo: informa se arquivo, diretrio, dispositivo caractere ou dispositivo bloco.
Dono: exibe o dono e o grupo padro do arquivo.
Permisses: informa as permisses padro do arquivo.
Mod: informa se a congurao padro do arquivo foi modicada.
Ao selecionar um dos arquivos da lista ser apresentada uma outra caixa de di-
logo, a qual permitir que voc altere as conguraes padro do arquivo. Voc
poder alterar o dono, o grupo e as permisses.
Observe na Figura 1-11 que o arquivo /usr/sbin/pppd tem permisses rwsr-xr-
x. Voc pode querer, por exemplo, desabilitar o bit suid deste programa. Para
isto, desmarque a opo Indicador de Setuid na caixa de dilogo de denies de
permisses deste arquivo (Figura 1-12).
56
Captulo 1. Linuxconf
Figura 1-12. Denies de Permisses de um Arquivo
Na prxima vez que voc ativar as conguraes, esta alterao ser automati-
camente efetuada. Este tipo de alterao pode ser feita para qualquer arquivo
controlado pelo Linuxconf.
Sempre que voc precisar alterar dono, grupo ou permisses de um arquivo con-
trolado pelo Linuxconf ser necessrio modicar a congurao do arquivo neste
programa.
Arquivos de Congurao
O Linuxconf faz o gerenciamento, teste, gera e utiliza vrios arquivos de con-
gurao. Atravs da opo Controle Arquivos de controle e sistemas
Congurar todos os arquivos de congurao (Figura 1-13) voc pode
57
Captulo 1. Linuxconf
visualizar quais so estes arquivos.
Figura 1-13. Lista dos Arquivos de Congurao
Como voc pode observar, esta janela contm trs colunas: Caminho, Estado e
Subsistema.
O Caminho dene a localizao do arquivo gerenciado. A coluna Estado contm
alguns identicadores, os quais podem ter os seguintes valores:
58
Captulo 1. Linuxconf
(em branco): indica que o arquivo apenas lido pelo Linuxconf. Isso pode signicar
duas coisas: ou um arquivo de referncia usado pelo Linuxconf ou ele ainda no sabe
como gerenci-lo, mas utiliza seu contedo.
E: indica que o arquivo ser sempre apagado pelo Linuxconf na inicializao.
G: indica que o arquivo gerado pelo Linuxconf. Neste caso, o Linuxconf utiliza outros
arquivos, como por exemplo o /etc/conf.linuxconf, para guardar a congurao rela-
cionada a este servio. Em geral signica que estes arquivos no devem ser alterados
manualmente, pois o Linuxconf sobrescrever estas alteraes. Uma exceo a este caso
quando o arquivo tambm marcado com M, o que incomum.
M: indica que o arquivo completamente gerenciado pelo Linuxconf. Isto signica que
o Linuxconf sabe como process-lo e reescrev-lo apropriadamente. Tambm signica
que voc pode editar o arquivo diretamente, sem que o Linuxconf perca a habilidade de
gerenci-lo. O arquivo /etc/resolv.conf um exemplo.
O: indica que o arquivo opcional em um sistema Linux.
P: indica que o Linuxconf sabe muito pouco do arquivo em questo. Ele apenas testa sua
existncia e sua data de modicao. Baseado nisto, o Linuxconf decide se um servio
necessrio ou se um daemon precisa ser reiniciado ou sinalizado.
V: o Linuxconf utiliza arquivos virtuais especiais, os quais geralmente so partes de um
arquivo de congurao real.
*: indica que a rota do arquivo de congurao foi alterada, deixando de ter o valor
original conhecido pelo Linuxconf.
A coluna Subsistema apenas apresenta uma diviso interna do Linuxconf, que
informa a que parte do sistema pertence o arquivo.
59
Captulo 1. Linuxconf
A nica congurao que pode ser feita nesta janela a alterao da rota do
arquivo, o que no recomendado a no ser que voc tenha certeza do que est
fazendo.
Comandos e Programas Residentes
O Linuxconf utiliza vrios comandos e programas do sistema para realizar diver-
sas tarefas. Voc pode saber quais so eles acessando Controle Arquivos de
controle e sistemas Congurar todos os comandos e programas res-
identes (Figura 1-14). Alm de visualiz-los, voc pode fazer alteraes e at
mesmo torn-los inativos, como veremos a seguir.
Figura 1-14. Listagem de Comandos e Programas Residentes
Como voc pode observar, a janela ilustrada na Figura 1-14 tem trs colunas:
Nome: informa o nome do comando.
60
Captulo 1. Linuxconf
Caminho: informa a localizao do comando que est sendo utilizado.
Mod: informa se a congurao original do Linuxconf foi modicada.
Esta caracterstica bastante til, pois permite que voc personalize algumas
funes do Linuxconf de maneira simples. Por exemplo, se voc precisa adicionar
usurios na base de dados do sistema e ainda numa base de dados SQL, basta
substituir o comando originalmente utilizado pelo Linuxconf por um script ou
programa especialmente criado para isto.
Ao selecionar um dos comandos da lista, ser exibida uma janela que permitir a
voc:
Desabilitar o comando, desmarcando a opo o Congurador Linux pode oper-lo.
Modicar o comando que ser executado, alterando o Caminho do comando.
Adicionar, remover ou modicar os argumentos utilizados na execuo do comando.
A Figura 1-15 ilustra uma situao na qual foi alterado o comando para adio
de usurios no sistema.
61
Captulo 1. Linuxconf
Figura 1-15. Alterao de Congurao de Comando
Com esta congurao, o comando utilizado pelo Linuxconf para adicionar usu-
rios no sistema passa a ser /usr/sbin/useradd-sql, que poder ser um script ou
um programa binrio que executa a tarefa de adicionar usurios de maneira per-
sonalizada. Note que este procedimento no vai modicar o mdulo de adio de
usurios do Linuxconf. A diferena que o comando utilizado pelo mdulo ser
outro.
Se voc desativar um comando, desmarcando a opo o Congurador Linux pode
oper-lo, o Linuxconf estar impedido de efetuar qualquer tarefa que dependa
deste comando.
Estes procedimentos so vlidos para quaisquer dos comandos utilizados pelo
Linuxconf.
Controle de atividade dos servios
62
Captulo 1. Linuxconf
O Controle de atividade dos servios do Linuxconf serve basicamente para con-
gurar o inetd. De todos os servios controlados, apenas aquele chamado rewall
no um servio executado atravs do inetd.
Esta congurao pode ser acessada atravs da opo Controle Painel de
controle Controle de atividade dos servios (Figura 1-4). Observe que
esta janela foi apresentada quando demonstramos como habilitar o acesso ao Li-
nuxconf via rede.
Para modicar a congurao de um servio voc deve primeiramente clicar so-
bre ele. Este procedimento far com que seja exibida uma outra janela, a qual
permite que voc efetue as modicaes que desejar. A Figura 1-16 ilustra as
conguraes do servio linuxconf . Para ativar ou desativar um servio basta
modicar Estado para Ativo ou Inativo, respectivamente.
63
Captulo 1. Linuxconf
Figura 1-16. Congurao do Servio nger
Mais Funcionalidades do Linuxconf
Neste captulo, enfocamos a congurao do Linuxconf. Nos demais captu-
los deste livro voc conhecer vrios mdulos que lhe permitiro gerenciar sua
mquina de uma maneira bem simples e segura.
64
Captulo 1. Linuxconf
Novos mdulos foram acrescidos a esta verso do Linuxconf; dentre eles pode-
mos citar:
Mdulo para congurao do Wine, aplicativo para executar programas do Windows.
Mdulo para congurao do Amanda, software para gerenciamento de backup.
Mdulo para congurao do Grub, boot loader com mais caractersticas que o LILO.
Mdulo para congurao do Postx, servidor de e-mail.
Mdulo para congurao do Portslave, aplicativo usado para controle de portas.
Mdulo para congurao do LPRng, software para congurao e controle de im-
pressoras.
logs do Linuxconf
importante sempre ter como referncia os logs do sistema antes, durante e
depois do uso do Linuxconf. Estes arquivos podem ser sempre consultados em
/var/log.
Podemos citar os seguintes arquivos que dizem respeito apenas ao uso do Linux-
conf:
65
Captulo 1. Linuxconf
/var/log/netconf.log - arquivo principal de log do Linuxconf, registra operaes de
forma clara e bem especca de todos os passos executados pelo Linuxconf.
/var/log/htmlaccess.log - log de acesso do Linuxconf via WEB; se for utilizada esta
interface use este arquivo como referncia.
66
Captulo 2. LVM
O Gerenciador de Volumes Lgicos
1
(LVM) um subsistema para gerenciamento
ativo de armazenagem em disco que se transformou em um padro para gerenci-
amento de armazenagem em sistemas UNIX.
O Gerenciador de Volumes Lgicos consiste em uma camada adicional entre os
dispositivos fsicos e a interface de E/S no kernel para fornecer uma viso lg-
ica no armazenamento. Ao contrrio dos esquemas de particionamento atuais
onde discos so divididos em parties contnuas de tamanho xo, o LVM per-
mite ao usurio considerar discos, tambm conhecidos como Volumes Fsicos
2
(PV), como um volume de armazenamento de dados, consistindo de extenses de
tamanhos iguais.
Um sistema de LVM compe-se de grupos arbitrrios de volumes fsicos, orga-
nizados em Grupos de Volumes
3
(VG). Um grupo de volume pode consistir de
um ou mais volumes fsicos. Pode haver mais de um grupo de volume no sis-
tema. Uma vez criado, o grupo de volume, e no o disco, a unidade bsica de
armazenamento de dados (um disco virtual compondo-se de um ou mais discos
fsicos).
1. Logical Volume Manager
2. Physical Volumes
3. Volume Groups
67
Captulo 2. LVM
A quantidade de espao em disco, que representada por um grupo de volume,
pode ser alocada em parties virtuais, chamadas de Volumes Lgicos
4
(LV) de
vrios tamanhos. Um volume lgico pode conter um nmero de volumes fsicos
ou representar apenas uma poro de umvolume fsico. Otamanho de umvolume
lgico determinado pelo seu nmero de extenses. Uma vez criados, volumes
lgicos podem ser utilizados como parties de disco regulares - para criar um
sistema de arquivos ou um dispositivo de troca.
O LVM foi inicialmente desenvolvido pela IBM e depois adotado pela OSF
(agora OpenGroup (http://www.opengroup.org/)) para o seu sistema operacional
OSF/1. A verso OSF ento foi usada como uma base para implementao de
LVM nos sistemas operacionais HP-UX e Digital UNIX. Outra implementao
de LVM disponibilizada pela Veritas (http://www.veritas.com) que funciona de
uma forma diferente. A implementao do Linux similar implementao de
LVM do HP-UX.
O conceito de LVM
Tradicionalmente, o tamanho de uma partio denido na instalao do sistema,
no podendo ser alterado posteriormente. O redimensionamento de parties es-
tticas pode ser realizado com o aplicativo partd. Isso requer que o administrador
faa um planejamento prvio da quantidade mxima de dados que a partio
poder vir a armazenar no futuro. Quando um usurio exceder o espao de uma
4. Logical Volumes
68
Captulo 2. LVM
partio, ele ter de reparticionar (o que pode envolver uma reinstalao completa
do sistema) ou se utilizar de artifcios, como as ligaes simblicas.
Por exemplo, suponha que temos um disco de 1GB e criamos a partio /home
utilizando 600MB. Imagine que necessitamos de mais espao e se descubra que
iremos precisar de 1GB no /home. Utilizando a antiga noo de parties, pre-
cisaremos ter outra unidade de pelo menos 1GB de tamanho. Ento poderemos
adicionar o disco, criar o novo /home e copiar os dados existentes para ele.
Entretanto, com uma congurao LVM, podemos simplesmente adicionar um
disco de 400MB (ou maior) e adicionar esta unidade de armazenamento na par-
tio /home. Outras ferramentas permitem redimensionar um sistema de arquivos
existente, ou seja, podemos simplesmente redimension-lo para ter a vantagem
de uma partio de tamanho maior e para voltarmos ao trabalho.
Terminologia
O LVM vem com vrios jarges que precisam ser entendidos para no haver
problemas com os sistemas de arquivos. Nesta seo veremos estes terminologia
utilizada pelo LVM.
69
Captulo 2. LVM
A mdia fsica
Voc deve usar a palavra fsica com um pouco de cuidado; de qualquer forma
ns iremos entender inicialmente como sendo um simples disco rgido, ou uma
partio. Por exemplo, /dev/hda, /dev/hda2, /dev/sda. Ns podemos transformar
qualquer nmero consecutivo de blocos de um dispositivo de blocos em um Vol-
ume Fsico.
Volume Fsico (PV)
Um PV
5
no nada mais que um meio fsico com alguns dados administrativos
adicionados a ele - uma vez que tenhamos adicionado estes dados o LVM ir
reconhec-los como proprietrios das Extenses Fsicas.
Extenses Fsicas (PE)
Extenses Fsicas
6
so como blocos de um sistema de arquivos (regies con-
tnuas do disco) realmente grandes, muitas vezes com um tamanho na casa dos
5. Physical Volume
6. Physical Extents
70
Captulo 2. LVM
megabytes. PEs podem ser atribudas a um Grupo de Volumes.
Grupo de Volumes (VG)
Um VG
7
composto por um determinado nmero de Extenses Fsicas. Deste
Grupo de volumes, PEs podem ser atribudas a um Volume Lgico.
Volume Lgico (LV)
Um Volume Lgico o resultado nal do nosso trabalho, aqui que as infor-
maes so armazenadas. Ele um dispositivo de bloco funcionalmente equiva-
lente a uma partio.
sobre o Volume Lgico que ser criado um sistema de arquivos.
7. Volume Group
71
Captulo 2. LVM
Sistema de Arquivos
O sistema de arquivos pode ser o que desejarmos: o ext2 padro, ReiserFS, etc...
Para o usurio, no h diferena entre uma partio regular e um Volume Lgico.
Seguem alguns diagramas que ajudaro a visualizar estes conceitos.
Um Volume Fsico, contendo Extenses Fsicas. Figura 2-1.
Figura 2-1. Volume Fsico
Um Grupo de Volumes, contendo dois Volumes Fsicos (PVs) com seis Extenses
Fsicas. Figura 2-2.
72
Captulo 2. LVM
Figura 2-2. Grupo de Volumes
Agora ns podemos expandir este grupo. Figura 2-3.
73
Captulo 2. LVM
Figura 2-3. Grupo de Volumes expandido
Isto nos mostra dois sistemas de arquivos, dividindo dois discos. O sistema de
arquivos /home contm quatro Extenses Fsicas, o sistema de arquivos /var duas.
Criando um Volume Lgico
Apresentaremos aqui um exemplo comentado mostrando o processo para a cri-
ao de um Volume Lgico. Utilizaremos duas parties em um mesmo disco
para este exemplo, /dev/hda5 e /dev/hda6 com 2GB e 1GB respectivamente. O
74
Captulo 2. LVM
uso de LVM faz mais sentido com parties em discos diferentes, porm aqui,
somente para ns didticos, apresentaremos em um mesmo disco, sendo estas
mesmas regras aplicveis a vrios discos. Os dados destas parties sero perdi-
dos.
Observe as guras mostradas anteriormente em caso de dvida.
Primeiramente mudaremos os tipo das parties /dev/hda5 e /dev/hda6 para 0x8e.
# fdisk /dev/hda
Comando (m para ajuda): p
Disco /dev/hda: 255 cabeas, 63 setores, 784 cilindros
Unidades = cilindros de 16065 * 512 bytes
Dispositivo Boot Incio Fim Blocos Id Sistema
/dev/hda1 1 17 136521 82 Linux swap
/dev/hda2 * 18 272 2048287+ 83 Linux
/dev/hda3 273 400 1028160 83 Linux
/dev/hda4 401 784 3084480 5 Estendida
/dev/hda5 401 655 2048256 83 Linux
/dev/hda6 656 783 1028128+ 83 Linux
/dev/hda7 784 784 8001 82 Linux swap
75
Captulo 2. LVM
Comando (m para ajuda): t
Nmero da partio (1-7): 5
Cdigo hexadecimal (digite L para listar os cdigos): 8e
O tipo da partio 5 foi alterado para 8e (Linux LVM)
Comando (m para ajuda): p
Disco /dev/hda: 255 cabeas, 63 setores, 784 cilindros
Unidades = cilindros de 16065 * 512 bytes
Dispositivo Boot Incio Fim Blocos Id Sistema
/dev/hda1 1 17 136521 82 Linux swap
/dev/hda2 * 18 272 2048287+ 83 Linux
/dev/hda3 273 400 1028160 83 Linux
/dev/hda4 401 784 3084480 5 Estendida
/dev/hda5 401 655 2048256 8e Linux LVM
/dev/hda6 656 783 1028128+ 83 Linux
/dev/hda7 784 784 8001 82 Linux swap
Comando (m para ajuda): t
Nmero da partio (1-7): 6
Cdigo hexadecimal (digite L para listar os cdigos): 8e
76
Captulo 2. LVM
O tipo da partio 6 foi alterado para 8e (Linux LVM)
Comando (m para ajuda): p
Disco /dev/hda: 255 cabeas, 63 setores, 784 cilindros
Unidades = cilindros de 16065 * 512 bytes
Dispositivo Boot Incio Fim Blocos Id Sistema
/dev/hda1 1 17 136521 82 Linux swap
/dev/hda2 * 18 272 2048287+ 83 Linux
/dev/hda3 273 400 1028160 83 Linux
/dev/hda4 401 784 3084480 5 Estendida
/dev/hda5 401 655 2048256 8e Linux LVM
/dev/hda6 656 783 1028128+ 8e Linux LVM
/dev/hda7 784 784 8001 82 Linux swap
Comando (m para ajuda): w
A tabela de parties foi alterada!
Chamando ioctl() para reler tabela de parties.
Sincronizando discos.
77
Captulo 2. LVM
Caso o pacote do LVM no esteja instalado no seu sistema, instale-o com o co-
mando:
# rpm -ivh /mnt/cdrom/conectiva/RPMS/lvm*
Carregue o mdulo do LVM:
# insmod lvm-mod
Using /lib/modules/2.2.16-17cl/block/lvm-mod.o
Para criar o arquivo /etc/lvmtab vazio, execute o comando:
# vgscan
vgscan - reading all physical volumes (this may take a while...)
vgscan - "/etc/lvmtab" and "/etc/lvmtab.d" successfully created
Agora podemos criar os Volumes Fsicos utilizando o comando pvcreate par-
tio desta forma:
# pvcreate /dev/hda5
pvcreate - reinitializing physical volume
pvcreate - physical volume "/dev/hda5" successfully created
# pvcreate /dev/hda6
pvcreate - reinitializing physical volume
78
Captulo 2. LVM
pvcreate - physical volume "/dev/hda6" successfully created
Ns podemos adicionar este dois PVs a um Grupo de Volumes chamado test com
o comando vgcreate nome_do_VG partio1 partio2:
# vgcreate test /dev/hda5 /dev/hda6
vgcreate - INFO: using default physical extent size 4 MB
vgcreate - INFO: maximum logical volume size is 255.99 Gigabyte
vgcreate - doing automatic backup of volume group "test"
vgcreate - volume group "test" successfully created and activated
Para criar o arquivo /etc/lvmtab, execute o comando:
# vgscan
vgscan - reading all physical volumes (this may take a while...)
vgscan - found active volume group "test"
vgscan - "/etc/lvmtab" and "/etc/lvmtab.d" successfully created
vgscan - WARNING: you may not have an actual VGDA backup of your volume group
Caso os Grupos de Volumes estejam inativos, utilize o comando vgchange com
o parmetro -ay para ativar todos os VGs disponveis:
# vgchange -ay
79
Captulo 2. LVM
vgchange - volume group "test" successfully activated
Agora temos um Grupo de Volumes vazio; vamos visualiz-lo com o comando
vgdisplay -verbose nome_do_VG:
# vgdisplay -v test
-- Volume group --
VG Name test
VG Access read/write
VG Status available/resizable
VG # 0
MAX LV 256
Cur LV 0
Open LV 0
MAX LV Size 255.99 GB
Max PV 256
Cur PV 2
Act PV 2
VG Size 2.93 GB
PE Size 4 MB
Total PE 750
Alloc PE / Size 0 / 0
Free PE / Size 750 / 2.93 GB
80
Captulo 2. LVM
-- No logical volumes defined in test --
-- Physical volumes --
PV Name (#) /dev/hda5 (1)
PV Status available / allocatable
Total PE / Free PE 500 / 500
PV Name (#) /dev/hda6 (2)
PV Status available / allocatable
Total PE / Free PE 250 / 250
Podemos observar que no h Volumes Lgicos denidos; devemos criar um para
poder utiliz-lo. Tambm podemos ver com este comando o estado dos PVs, seus
nomes e o nmero total de blocos alocados e disponveis. Vamos gerar umvolume
de 500MB chamado lv01 no Grupo de Volumes test:
# lvcreate -L 500M -n lv01 test
lvcreate - doing automatic backup of "test"
lvcreate - logical volume "/dev/teste/lv01" successfully created
Vamos criar um sistema de arquivos do tipo ext2, agora:
81
Captulo 2. LVM
# mke2fs /dev/test/lv01
mke2fs 1.19, 13-Jul-2000 for EXT2 FS 0.5b, 95/08/09
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
128016 inodes, 512000 blocks
25600 blocks (5.00%) reserved for the super user
First data block=1
63 block groups
8192 blocks per group, 8192 fragments per group
2032 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
Podemos criar um diretrio para montar este sistema de arquivos e observar o seu
tamanho:
# mkdir /mnt/lvm
# mount /dev/test/lv01 /mnt/lvm
82
Captulo 2. LVM
# df -h /dev/test/lv01
Filesystem Size Used Avail Use% Mounted on
/dev/test/lv01 484M 13k 459M 0% /mnt/lvm
Vamos ver novamente o Grupo de Volumes e observar as mudanas:
# vgdisplay -v test
-- Volume group --
VG Name teste
VG Access read/write
VG Status available/resizable
VG # 0
MAX LV 256
Cur LV 1
Open LV 1
MAX LV Size 255.99 GB
Max PV 256
Cur PV 2
Act PV 2
VG Size 2.93 GB
PE Size 4 MB
Total PE 750
Alloc PE / Size 125 / 500 MB
83
Captulo 2. LVM
Free PE / Size 625 / 2.44 GB
-- Logical volume --
LV Name /dev/test/lv01
VG Name teste
LV Write Access read/write
LV Status available
LV # 1
# open 1
LV Size 500 MB
Current LE 125
Allocated LE 125
Allocation next free
Read ahead sectors 120
Block device 58:0
-- Physical volumes --
PV Name (#) /dev/hda5 (1)
PV Status available / allocatable
Total PE / Free PE 500 / 375
84
Captulo 2. LVM
PV Name (#) /dev/hda6 (2)
PV Status available / allocatable
Total PE / Free PE 250 / 250
Temos todas as informaes do VG na sada deste comando, seu nome, tipo de
acesso, estado atual, parmetros do LV e PV e tamanhos totais e alocados do
PE. O /dev/hda6 est totalmente livre, enquanto que o /dev/hda5 est com 125
Extenses Fsicas em uso.
Redimensionando um Volume Lgico
Examinaremos passo a passo o processo de redimensionamento para uma viso
geral da operao.
Aumentando um Volume Lgico
O pr-requisito para esta operao ter espao livre no Grupo de Volumes. Caso
contrrio teramos de adicionar mais PVs. A seguinte linha de comando faz esta
85
Captulo 2. LVM
operao:
# lvextend -L+2000M /dev/test/lv01
lvextend - extending logical volume "/dev/test/lv01" to 2.44 GB
lvextend - doing automatic backup of volume group "test"
lvextend - logical volume "/dev/test/lv01" successfully extended
Aumentamos com esta operao o Volume Lgico /dev/test/lv01 em 2000MB.
Note que ainda no redimensionamos o sistema de arquivos, portanto:
# df -h /dev/test/lv01
Filesystem Size Used Avail Use% Mounted on
/dev/test/lv01 484M 13k 459M 0% /mnt/lvm
A partio ainda apresenta o seu tamanho original.
Aumentando um sistema de arquivos
Primeiramente vamos desmontar o nosso sistema de arquivos:
# umount /mnt/lvm
86
Captulo 2. LVM
Antes de redimension-lo force a vericao do sistema de arquivos como e2fsck:
# e2fsck -f /dev/test/lv01
e2fsck 1.19, 13-Jul-2000 for EXT2 FS 0.5b, 95/08/09
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/test/lv01: 11/128016 files (0.0% non-contiguous), 16169/512000 blocks
Agora sim podemos redimensionar o sistema de arquivos com a ferramenta re-
size2fs:
# resize2fs /dev/test/lv01
resize2fs 1.19 (13-Jul-2000)
The filesystem on /dev/test/lv01 is now 2560000 blocks long.
Voc tambm poder utilizar o comando resize_reiserfs para redimensionar sis-
temas de arquivos ReiserFS.
J podemos montar novamente o sistema de arquivos e vericar seu novo tamanho:
# mount /dev/test/lv01 /mnt/lvm/
[root@toy /root]# df -h /dev/test/lv01
87
Captulo 2. LVM
Filesystem Size Used Avail Use% Mounted on
/dev/test/lv01 2.4G 13k 2.2G 0% /mnt/lvm
Diminuindo um sistema de arquivos
Vamos agora diminuir o sistema de arquivos, para depois podermos diminuir tam-
bm o Volume Lgico.
Primeiramente desmonte o sistema de arquivos:
# umount /mnt/lvm/
Force a vericao do sistema de arquivos com o comando:
# e2fsck -f /dev/test/lv01
e2fsck 1.19, 13-Jul-2000 for EXT2 FS 0.5b, 95/08/09
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
88
Captulo 2. LVM
/dev/test/lv01: 11/636016 files (9.1% non-contiguous), 80274/2560000 blocks
Redimensione o sistema de arquivos para 500 mil blocos (500MB aproximada-
mente); por exemplo:
# resize2fs /dev/test/lv01 500000
resize2fs 1.19 (13-Jul-2000)
The filesystem on /dev/test/lv01 is now 500000 blocks long.
Diminuindo um Volume Lgico
De uma forma similar ao comando que foi usado para aumentar o Volume Lgico,
agora porm com um valor negativo, podemos diminu-lo:
# lvreduce -L-2000M /dev/test/lv01
lvreduce - WARNING: reducing active logical volume to 500 MB
lvreduce - THIS MAY DESTROY YOUR DATA (filesystem etc.)
lvreduce - do you really want to reduce "/dev/test/lv01"? [y/n]: y
lvreduce - doing automatic backup of volume group "test"
lvreduce - logical volume "/dev/test/lv01" successfully reduced
89
Captulo 2. LVM
Tambm podemos especicar um valor absoluto em blocos , -L50 por exemplo.
Foramos a vericao do sistema de arquivos novamente:
# e2fsck -f /dev/test/lv01
e2fsck 1.19, 13-Jul-2000 for EXT2 FS 0.5b, 95/08/09
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/test/lv01: 11/123952 files (9.1% non-contiguous), 15657/499713
blocks
E redimensionamos novamente o sistema de arquivos para aproveitar ao mximo
o tamanho do Volume Lgico:
# resize2fs /dev/test/lv01
resize2fs 1.19 (13-Jul-2000)
The filesystem on /dev/test/lv01 is now 512000 blocks long.
Montamos novamente o sistema de arquivos e observamos o seu tamanho re-
duzido:
# mount /dev/test/lv01 /mnt/lvm/
90
Captulo 2. LVM
# df -h /dev/test/lv01
Filesystem Size Used Avail Use% Mounted on
/dev/test/lv01 484M 13k 469M 0% /mnt/lvm
Obtemos um valor um pouco diferente dos 500MB originais, pelo fato de 500 mil
blocos no corresponderem exatamente a 500MB. Se fosse preciso ter um valor
exato, teramos de fazer o clculo com mais preciso e especicar os valores
precisos em nmero de blocos.
Redundncia e Performance
Por questes de performance, possvel distribuir dados em mltiplos discos.
Isto signica que o bloco 1 est no Volume Fsico A, e o bloco 2 est no PV B,
enquanto que o bloco 3 pode estar no PV A novamente. Tambm podemos fazer
stripes com mais de dois discos.
Esse arranjo disponibiliza uma maior largura de banda, devido ao paralelismo no
acesso aos dados.
Alm de acrescentar performance, tambm possvel ter os dados copiados em
mltiplos discos. Isto chamado de espelhamento. Atualmente o LVM no tem
suporte nativo, mas existem vrias maneiras de realizar esta operao.
91
Captulo 2. LVM
Vantagens de uma stripe
Aperformance de disco inuenciada pelo menos por trs fatores. Omais bvio
a velocidade em que cada dado no disco pode ser lido ou escrito seqencialmente.
Este o fator limitante quando se est lendo ou gravando um arquivo grande em
um barramento SCSI/IDE com apenas um disco.
H a largura de banda disponvel para o disco. Se temos sete discos em uma
interface SCSI, a limitao de banda pode causar um impacto maior que a veloci-
dade de escrita para o prprio disco. Com um oramento suciente, podemos nos
prevenir e evitar que este gargalo se torne um problema.
A latncia sempre um problema e para minimiz-la no podemos simples-
mente aumentar os custos para termos uma latncia menor. A maioria dos discos
aparentemente tm um latncia de algo em torno de sete milissegundo. Existe a
latncia de SCSI, que tende a ser algo em torno de 25 milissegundos.
O que isto signica? A latncia combinada em um caso tpico ser em torno de 30
milissegundos. Podemos ento efetuar, aproximadamente, apenas 33 operaes
em disco por segundo. Se queremos capacidade para fazer vrias centenas de
requisies por segundo, e no temos um cache muito grande, no poderemos
realizar esta tarefa.
Se temos mltiplos discos trabalhando em paralelo, podemos ter mltiplos co-
mandos sendo executados simultaneamente, que facilmente iro resolver o prob-
lema da latncia. Algumas aplicaes, como umservidor de notcias muito grande,
no iro funcionar sem striping ou outras tcnicas geis de ES
8
.
8. IO
92
Captulo 2. LVM
Isto o que o striping pode fazer. Se o barramento tem este suporte, cada leitura
e cada escrita seqencial podero ser mais rpida.
Desvantagens
O striping sem medidas adicionais aumenta as chances de falhas, em uma viso
de bits. Se alguma coisa nos discos falhar, todo o Volume Lgico ir falhar junto.
Se concatenarmos dados, apenas uma parte do sistema de arquivos ser perdida.
Em ltimo caso podemos utilizar espelhamento em stripes.
Striping nativo do LVM
A congurao que especica as stripes feita quando criamos o Volume Lgico
com o comando lvcreate. H dois parmetros relevantes. Com o -i ns dizemos
ao LVM quantos Volumes Fsicos sero usados. O striping na realidade no
feito em uma base bit-por-bit, mas em blocos. Com o -I podemos especicar a
granulao em kilobytes. Note que este valor deve ser uma potncia de 2, e que a
granulao grosseira de 128KB. Por exemplo:
# lvcreate -n slv01 -i 2 -I 64 test -L 200M
lvcreate - doing automatic backup of "test"
93
Captulo 2. LVM
lvcreate - logical volume "/dev/test/slv01" successfully created
Criando o sistema de arquivos:
# mke2fs /dev/test/slv01
mke2fs 1.19, 13-Jul-2000 for EXT2 FS 0.5b, 95/08/09
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
51200 inodes, 204800 blocks
10240 blocks (5.00%) reserved for the super user
First data block=1
25 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
Efetuamos a montagem e vericamos o tamanho:
94
Captulo 2. LVM
# mount /dev/test/slv01 /mnt/lvm/
# df -h /dev/test/slv01
Filesystem Size Used Avail Use% Mounted on
/dev/test/slv01 194M 13k 184M 0% /mnt/lvm
Notcias de performance
O ganho de performance poder ser muito negativo se colocarmos
mais que uma partio do mesmo disco em uma stripe - isto deve
ser evitado. O striping com dois discos em uma nica interface IDE
tambm se torna invivel - isto depender da tecnologia IDE resolver
este problema.
Placas me antigas podem ter duas interfaces IDE, porm o uso da
segunda pode ser catastrco, dedicada a servir uma unidade de
CDROM lenta. Podemos efetuar benchmarks com vrias ferramen-
tas; a mais notria se chama Bonnie++, pode ser encontrada em
(http://www.coker.com.au/bonnie++/), pode ser usada para medir a
performance dos dados.
95
Captulo 2. LVM
96
Captulo 3. RAID
RAID acrnimo para Redundant Array of Inexpensive Disks
1
. Este arranjo
usado como um meio para criar um subsistema de unidade de disco, rpido e
convel, atravs de discos individuais.
Apesar do RAID ter sido feito para melhorar a conabilidade no sistema, atravs
da adio de redundncia, pode tambm levar a uma falsa sensao de segurana
e conana quando usado incorretamente. Esta falsa conana pode acarretar em
grandes desastres. Particularmente, o RAID feito para proteger falhas no disco,
no para proteger falhas de energia ou erros do operador.
Falhas de energia, bugs no desenvolvimento do kernel, ou erros de administradores
e operadores podem danicar os dados de uma forma irrecupervel. RAID no
um substituto apropriado para fazer backup do seu sistema. Saiba o que
voc est fazendo, faa testes, seja conhecedor e ciente de todos os detalhes que
envolvem a implementao de RAID.
RAID permite que o computador ganhe performance nas operaes de acesso a
disco, e da mesma forma, rpida recuperao em caso de perda de algum disco. O
tipo mais comum de arranjo de unidades um sistema ou uma controladora que
possibilita o uso de mltiplas unidades de disco rgido, conguradas para que o
sistema operacional se comporte como se existisse apenas um disco instalado no
computador.
1. Arranjo redundante de discos
97
Captulo 3. RAID
RAID Via Hardware e Via Software
RAID pode ser implementado por hardware, na forma de controladoras especiais
de disco, ou por software, como um mdulo do kernel que dividido entre a
controladora de disco de baixo nvel e o sistema de arquivos acima dele.
RAID Via Hardware
RAID por hardware sempre uma controladora de disco, isto , um dispositivo
que pode atravs de um cabo conectar os discos. Geralmente ele vem na forma
de uma placa adaptadora que pode ser plugada em um slot ISA/EISA/PCI/S-
Bus/MicroChannel. Entretanto, algumas controladoras RAID vm na forma de
uma caixa que conectada atravs de um cabo entre o sistema controlador de
disco e os dispositivos de disco.
RAIDs pequenos podem ser ajustados nos espaos para disco do prprio com-
putador; outros maiores podem ser colocados em um gabinete de armazenamento
com seu prprio espao para disco e suprimento de energia. O hardware mais re-
cente de RAID usado com a mais recente e rpida CPU, ir geralmente fornecer a
melhor performance total, porm com um preo signicante. Isto porque a maio-
ria das controladoras RAID vm com processadores especializados na placa e
memria cache que pode eliminar uma quantidade de processamento consid-
ervel da CPU. As controladoras RAID tambm podem fornecer altas taxas de
transferncia atravs do cache da controladora.
98
Captulo 3. RAID
Um hardware de RAID antigo pode atuar como um desacelerador, quando usado
com uma CPU mais nova: DSP
2
e cache antigos podem atuar como um gargalo,
e esta performance pode ser freqentemente superada por um RAID de software
puro.
RAID por hardware geralmente no compatvel entre diferentes tipos, fabri-
cantes e modelos: se uma controladora RAID falhar, melhor que ela seja tro-
cada por outra controladora do mesmo tipo. Para uma controladora de RAID via
hardware poder ser usada no Linux ela precisa contar com utilitrios de con-
gurao e gerenciamento, feitos para este sistema operacional e fornecidos pelo
fabricante da controladora.
DPT
possvel congurar RAID via hardware SCSI, contando com suporte no Linux
e documentao de uma forma geral, atravs de adaptadores baseados em host
da DPT. Informaes de instalao e congurao podem ser obtidas no site
DPT-RAID (http://www.ram.org/computing/linux/dpt_raid.html).
Controladoras Suportadas
Uma controladora de RAID via hardware baseada em host e bem suportada
uma controladora que possui um driver para o Linux, fabricada pela DPT
2. Digital Signal Processor
99
Captulo 3. RAID
DPT (http://www.dpt.com). Entretanto, existem outras controladoras baseadas
em host e SCSI SCSI que podem funcionar no Linux. Isto inclui algumas
controladoras fabricadas pela Syred (http://www.syred.com), ICP-Vortex ICP-
Vortex (http://www.icp-vortex.com) e BusLogic (http://www.mylex.com). Para
obter mais informaes sobre este assunto, verique a pgina Solues de RAID
para o Linux (http://linas.org/linux/raid.html).
Controladoras DPT
Dentre as controladoras DPT, essencialmente todas as controladoras SmartRAID
IV so suportadas.
Controladoras ICP Vortex
A ICP Vortex tem uma linha completa de controladoras de arranjos de discos com
suporte ao Linux. O driver ICP est no kernel do Linux desde a verso 2.0.31. To-
das as distribuies principais do Linux tm suporte s controladoras ICP, como
controladoras para boot e instalao. O sistema RAID pode ser facilmente con-
gurado com seu prprio ROMSETUP, ou seja, voc no precisa utilizar outros
sistemas operacionais para fazer a congurao.
Com o utilitrio de monitoramento GDTMON, possvel gerenciar por com-
pleto o sistema RAID ICP durante a operao. possvel tambm vericar taxas
de transferncia, congurar os parmetros da controladora e dos discos rgidos,
substituir discos defeituosos, etc.. Atualmente esto disponveis vrios modelos,
100
Captulo 3. RAID
para os mais diversos nveis de RAID que voc venha a utilizar.
Tipos de Hardware
Tipo Controladora
Tendo vrias opes de controladoras, necessrio pensar cuidadosamente so-
bre o que voc quer fazer. Dependendo do que se quer fazer e do nvel de RAID
que ir usar, algumas controladoras podem ser melhores que outras. Adaptadores
SCSI SCSI podem no ser to bons quanto adaptadores baseados em host, por
exemplo. Michael Neuffer <neuffer@kralle.zdv.uni-mainz.de>, o autor do driver
EATA-DMA, tem uma boa discusso sobre isto em sua pgina: Linux High Per-
formance SCSI and RAID (http://www.uni-mainz.de/~neuffer/scsi/).
Tipo Encapsulado
O tipo encapsulado ligado diretamente habilidade de troca quente da
unidade e aos sistemas de advertncia, ou seja, exibe indicao da falha, falhas
da unidade e que tipo de tratamento sua unidade receber. Um exemplo para isto
pode ser refrigerao redundante e fornecimento de energia. Os encapsulamentos
fornecidos pela DPT, HP, IBM e Compaq trabalham extremamente bem, mas tm
um custo alto tambm.
101
Captulo 3. RAID
RAID Via Software
RAID via software uma congurao de mdulos do kernel, juntamente com
utilitrios de administrao que implementam RAID puramente por software, e
no requer um hardware extraordinrio. Pode ser utilizado o sistema de arquivos
ext2fs, DOS-FAT ou outro.
Este tipo de RAID implementado atravs dos mdulos MD
3
do Kernel do Linux
e das ferramentas relacionadas.
RAID por software, por ter sua natureza no software, tende a ser muito mais
exvel que uma soluo por hardware. O lado negativo que ele em geral re-
quer mais ciclos e potncia de CPU para funcionar bem, quando comparado a um
sistema de hardware. Ele oferece uma importante e distinta caracterstica: opera
sobre qualquer dispositivo do bloco, podendo ser um disco inteiro (por exem-
plo, /dev/sda), uma partio qualquer (por exemplo, /dev/hdb1), um dispositivo
de loopback (por exemplo, /dev/loop0) ou qualquer outro dispositivo de bloco
compatvel, para criar um nico dispositivo RAID. Isto um contraste para a
maioria das solues de RAID via hardware, onde cada grupo junta unidades de
disco inteiras em um arranjo.
Comparando as duas solues, o RAID via hardware transparente para o sis-
tema operacional, e isto tende a simplicar o gerenciamento. Via software, h de
longe mais opes e escolhas de conguraes, fazendo com que o assunto se
torne mais complexo.
3. Multiple Devices
102
Captulo 3. RAID
O Controlador de Mltiplos Dispositivos (MD)
O controlador MD usado para agrupar uma coleo de dispositivos de bloco,
em um nico e grande dispositivo de bloco. Normalmente, um conjunto de dis-
positivos SCSI e IDE so congurados em um nico dispositivo MD. Como
encontrado no kernel do Linux 2.x, isto feito apenas para remapear conjuntos
de setores e dispositivos em novos conjuntos de setores e dispositivos. Pode ser
feito atravs de dois modos diferentes: Linear (modo de concatenao) e striping
(modo RAID-0).
As extenses do controlador MD implementam RAID-0 (striping), RAID-1 (es-
pelhamento
4
), RAID-4 e RAID-5 por software. Isto quer dizer que, com MD, no
necessrio hardware especial ou controladoras de disco para obtermos a maioria
dos benefcios de RAID.
A administrao de RAID no Linux no uma tarefa trivial, e mais voltada para
administradores de sistema experientes. A teoria da operao complexa. As ferra-
mentas do sistema exigem modicaes nos scripts de inicializao. E recuperar-se
de uma falha no disco no uma tarefa simples, passvel de erros humanos.
RAID no para iniciantes, e qualquer benefcio em busca de conabilidade e per-
formance pode ser facilmente acrescido de complexidade extra.
Certamente, unidades de disco evoludas so muito conveis, e controladoras e
CPUs avanadas so muito potentes. Voc pode obter mais facilmente os nveis de
conabilidade e performance desejados, comprando hadware de alta qualidade e
4. mirroring
103
Captulo 3. RAID
potncia.
No se pode usar RAID via software com sistema de arquivos journalled, pois o
Linux 2.2 no possui nenhum mecanismo para pinning de buffers que esto na
memria.
Nveis de RAID
As diferentes maneiras de combinar os discos em um s, chamados de nveis de
RAID
5
, podem fornecer tanto grande ecincia de armazenamento como simples
espelhamento, ou podem alterar a performance de latncia (tempo de acesso). Po-
dem tambm fornecer performance da taxa de transferncia de dados para leitura
e para escrita, enquanto continua mantendo a redundncia. Novamente, isto
ideal para prevenir falhas.
Os diferentes nveis de RAID apresentam diferentes performance, redundncia,
capacidade de armazenamento, conabilidade e caractersticas de custo. A maio-
5. RAID levels
104
Captulo 3. RAID
ria, mas nem todos os nveis de RAID, oferecem redundncia a falha de disco.
Dos que oferecem redundncia, RAID-1 e RAID-5 so os mais populares. RAID-
1 oferece performance melhor, enquanto que RAID-5 fornece um uso mais e-
ciente do espao disponvel para o armazenamento dos dados.
De qualquer modo, o ajuste de performance um assunto totalmente diferente.
A performance depende de uma grande variedade de fatores como o tipo da apli-
cao, os tamanhos dos discos, blocos e arquivos.
Existe uma variedade de tipos diferentes e implementaes de RAID, cada uma
com suas vantagens e desvantagens. Por exemplo, para colocarmos uma cpia
dos mesmos dados em dois discos (chamado de espelhamento de disco
6
ou RAID
nvel 1), podemos acrescentar performance de leitura, lendo alternadamente cada
disco do espelho. Em mdia, cada disco menos usado, por estar sendo usado
em apenas metade da leitura (para dois discos), ou um tero (para 3 discos), etc..
Alm disso, um espelho pode melhorar a conabilidade: se um disco falhar, o(s)
outro(s) disco(s) tm uma cpia dos dados.
A seguir descreveremos os diferentes nveis de RAID, no contexto de implemen-
tao de RAID por software no Linux:
RAID-linear
uma simples concatenao de parties para criar uma grande partio virtual.
Isto possvel se voc tem vrias unidades pequenas, e quer criar uma nica e
6. disk mirroring
105
Captulo 3. RAID
grande partio. Esta concatenao no oferece redundncia, e de fato diminui a
conabilidade total: se qualquer um dos discos falhar, a partio combinada ir
falhar.
RAID-0
A grande maioria dos nveis de RAID envolve uma tcnica de armazenamento
chamada de segmentao de dados (data stripping). Aimplementao mais bsica
dessa tcnica conhecida como RAID-0 e suportada por muitos fabricantes.
Contudo, pelo fato deste nvel de arranjo no ser tolerante a falhas, RAID-0 no
verdadeiramente RAID, ao menos que seja usado em conjuno com outros
nveis de RAID.
Figura 3-1. RAID-0
106
Captulo 3. RAID
Segmentao (stripping) um mtodo de mapeamento de dados sobre o meio
fsico de um arranjo, que serve para criar um grande dispositivo de armazena-
mento. Os dados so subdivididos em segmentos consecutivos ou stripes que so
escritos seqencialmente atravs de cada um dos discos de um arranjo. Cada seg-
mento tem um tamanho denido em blocos.
Por exemplo, sabendo que o tamanho de cada segmento est dendo em 64
kbytes, e o arranjo de discos contem 2 discos, quando um arquivo de 128 kbytes
for gravado, os primeiros 64 kbytes sero gravados no primeiro disco, sendo que
os ltimos 64 kbytes iro para o segundo disco, e normalmente isso feito em
paralelo, aumentando consideravelmente a performance.
Um arranjo desse tipo pode oferecer uma melhor performance, quando com-
parada a um disco individual, se o tamanho de cada segmento for ajustado de
acordo com a aplicao que utilizar o arranjo:
Em um ambiente com uso intensivo de E/S ou em um ambiente de banco de dados
onde mltiplas requisies concorrentes so feitas para pequenos registros de dados,
um segmento de tamanho grande preferencial. Se o tamanho de segmento para um
disco grande o suciente para conter um registro inteiro, os discos do arranjo podem
responder independentemente para as requisies simultneas de dados.
Em um ambiente onde grandes registros de dados so armazenados, segmentos de
pequeno tamanho so mais apropriados. Se um determinado registro de dados extende-
se atravs de vrios discos do arranjo, o contedo do registro pode ser lido em paralelo,
aumentando o desempenho total do sistema.
107
Captulo 3. RAID
Figura 3-2. Stripping
Arranjos RAID-0 podem oferecer alta performance de escrita se comparados a
verdadeiros nveis de RAID por no apresentarem sobrecarga
7
associada com
clculos de paridade ou com tcnicas de recuperao de dados. Esta mesma falta
de previso para reconstruo de dados perdidos indica que esse tipo de arranjo
deve ser restrito ao armazenamento de dados no crticos e combinado com e-
cientes programas de backup.
7. overhead
108
Captulo 3. RAID
RAID-1
A forma mais simples de arranjo tolerante a falhas o RAID-1. Baseado no
conceito de espelhamento (mirroring), este arranjo consiste de vrios grupos de
dados armazenados em 2 ou mais dispositivos. Apesar de muitas implementaes
de RAID-1 envolverem dois grupos de dados (da o termo espelho - mirror), trs
ou mais grupos podem ser criados se a alta conabilidade for desejada.
Se ocorre uma falha em um disco de um arranjo RAID-1, leituras e gravaes
subseqentes so direcionadas para o(s) disco(s) ainda em operao. Os dados
ento so reconstrudos em um disco de reposio (spare disk) usando dados
do(s) disco(s) sobreviventes. O processo de reconstruo do espelho tem algum
impacto sobre a performance de E/S do arranjo, pois todos os dados tero de ser
lidos e copiados do(s) disco(s) intacto(s) para o disco de reposio (spare disk).
Figura 3-3. RAID-1
109
Captulo 3. RAID
RAID-1 oferece alta disponibilidade de dados, porque no mnimo 2 grupos com-
pletos so armazenados. Conectando os discos primrios e os discos espelhados
em controladoras separadas, pode aumentar a tolerncia a falhas pela eliminao
da controladora como ponto nico de falha.
Dentre os no hbridos, este nvel tem o maior custo de armazenamento por re-
querer capacidade suciente para armazenar no mnimo 2 grupos de dados. Este
melhor adaptado para servir pequenas base de dados ou sistemas de pequena
escala que necessitem conabilidade.
RAID-2 e RAID-3
Raramente so usados, e em algum momento caram obsoletos pelas novas tec-
nologias de disco. RAID-2 similar ao RAID-4, mas armazena informao ECC
(error correcting code), que a informao de controle de erros, no lugar da pari-
dade. Isto ofereceu pequena proteo adicional, visto que todas as unidades de
disco mais novas incorporaram ECC internamente.
110
Captulo 3. RAID
Figura 3-4. RAID-2
RAID-2 pode oferecer maior consistncia dos dados se houver queda de energia
durante a escrita. Baterias de segurana e um desligamento correto, porm, po-
dem oferecer os mesmos benefcios. RAID-3 similar ao RAID-4, exceto que
ele usa o menor tamanho possvel para a stripe. Como resultado, qualquer pedido
de leitura invocar todos os discos, tornando as requisies de sobreposio de
I/0 difceis ou impossveis.
A m de evitar o atraso devido a latncia rotacional, o RAID-3 exige que todos
os eixos das unidades de disco estejam sincronizados. A maioria das unidades
de disco mais recentes no possuem a habilidade de sincronizao do eixo, ou
se so capazes disto, faltam os conectores necessrios, cabos e documentao do
fabricante. Nem RAID-2 e nem RAID-3 so suportados pelos drivers de RAID
por software no Linux.
111
Captulo 3. RAID
Figura 3-5. RAID-3
RAID-4
Este um tipo de arranjo segmentado, mas incorpora um mtodo de proteo de
dados mais prtico. Ele usa informaes sobre paridade para a recuperao de
dados e as armazena em disco dedicado. Os discos restantes, usados para dados,
so congurados para usarem grandes (tamanho medido em blocos) segmentos
de dados, sucientemente grandes para acomodar um registro inteiro. Isto per-
mite leituras independentes da informao armazenada, fazendo de RAID-4 um
arranjo perfeitamente ajustado para ambientes transacionais que requerem muitas
leituras pequenas e simultneas.
112
Captulo 3. RAID
Arranjos RAID-4 e outros arranjos que utilizam paridade fazem uso de um pro-
cesso de recuperao de dados mais envolvente que arranjos espelhados, como
RAID-1. A funo ou exclusivo (XOR) dos dados e informaes sobre paridade
dos discos restantes computada para reconstruir os dados do disco que falhou.
Pelo fato de que todos os dados sobre paridade so escritos em um nico disco,
esse disco funciona como um gargalo durante as operaes de escrita, reduzindo
a performance durante estas operaes (write bottleneck).
Figura 3-6. RAID-4
Sempre que os dados so escritos no arranjo, informaes sobre paridade nor-
malmente so lidas do disco de paridade e uma nova informao sobre paridade
deve sempre ser escrita para o disco de paridade antes da prxima requisio de
escrita ser realizada. Por causa dessas duas operaes de E/S, o disco de pari-
dade o fator limitante da performance total do arranjo. Por causa dele requerer
113
Captulo 3. RAID
somente um disco adicional para proteo de dados, arranjos RAID-4 so mais
baratos que arranjos RAID-1.
RAID-5
Este tipo de RAID largamente usado funciona similarmente ao RAID 4, mas
supera alguns dos problemas mais comuns sofridos por esse tipo. As informaes
sobre paridade para os dados do arranjo so distribudas ao longo de todos os
discos do arranjo, ao invs de serem armazenadas em um disco dedicado.
Essa idia de paridade distribuda reduz o gargalo de escrita (write bottleneck)
que era o nico disco de um RAID-4, porque agora as escritas concorrentes nem
sempre requerem acesso s informaes sobre paridade em um disco dedicado.
Contudo, a performance de escrita geral ainda sofre por causa do processamento
adicional causado pela leitura, reclculo e atualizao da informao sobre pari-
dade.
114
Captulo 3. RAID
Figura 3-7. RAID-5
Para aumentar a performance de leitura de um arranjo RAID-5, o tamanho de
cada segmento em que os dados so divididos pode ser otimizado para a apli-
cao que estiver usando o arranjo. A performance geral de um arranjo RAID-5
equivalente ao de um RAID-4, exceto no caso de leituras seqenciais, que re-
duzem a ecincia dos algoritmos de leitura por causa da distribuio das infor-
maes sobre paridade.
Como em outros arranjos baseados em paridade, a recuperao de dados em um
arranjo RAID-5 feita calculando a funo XOR das informaes dos discos
restantes do arranjo. Pelo fato de que a informao sobre paridade distribuda
ao longo de todos os discos, a perda de qualquer disco reduz a disponibilidade
de ambos os dados e informao sobre paridade, at a recuperao do disco que
falhou. Isto pode causar degradao da performance de leitura e de escrita.
115
Captulo 3. RAID
Tipos Hbridos
Para suprir as decincias de um nvel ou outro de RAID, possvel usar um
nvel de RAID sobre outro, aproveitando por exemplo, a excelente performance
de um determinado nvel e a conabilidade de outro. Isso tudo claro, pagando
o preo de uma maior quantidade de material.
Um exemplo o RAID-10. Como o seu nome implica, a combinao de discos
espelhados (RAID-1) com a segmentao de dados (data stripping) (RAID-0).
O mtodo de criao de um arranjo RAID-10 diversicado. Em uma implemen-
tao RAID-0+1, os dados so segmentados atravs de grupos de discos espelha-
dos, isto , os dados so primeiro segmentados e para cada segmento feito um
espelho. J em um RAID-1+0, os dados so primeiramente espelhados, e para
cada espelho h a segmentao sobre vrios discos.
RAID-10 oferece as vantagens da transferncia de dados rpida de um arranjo
espelhado, e as caractersticas de acessibilidade dos arranjos espelhados. A per-
formance do sistema durante a reconstruo de um disco tambem melhor que
nos arranjos baseados em paridade, pois os dados so somente copiados do dis-
positivo sobrevivente.
O RAID-50 um arranjo hbrido que usa as tcnicas de RAID com paridade em
conjuno com a segmentao de dados. Um arranjo RAID-50, essencialmente
um arranjo com as informaes segmentadas atravs de dois ou mais arranjos
RAID-5.
Dependendo do tamanho de cada segmento estabelecido durante a congurao
do arranjo, estes arranjos hbridos podem oferecer os benefcios de acesso par-
116
Captulo 3. RAID
alelo dos arranjos com paridade (alta velocidade na transferncia de dados) ou de
acesso independente dos arranjos com paridade (grande quantidade). Como em
outros arranjos RAID com paridade, a reconstruo de um disco falho gera um
impacto na performance do programa usando o arranjo.
Desempenho de RAID
Utilizando RAID por software (MD), a possibilidade de acrescentar velocidade e
avaliar o desempenho depende muito da congurao que voc est usando. Para
isto, nesta seo, iremos analisar algumas destas conguraes.
Desempenho no MD RAID-0 e no MD RAID-linear
Se o sistema altamente carregado com muitas operaes de E/S (entrada e
sada), estatisticamente, algumas operaes iro para um disco, e algumas para os
outros discos. Assim, o desempenho ir melhorar em um nico disco grande. A
melhora real depende muito dos dados reais, do tamanho das stripes, e de outros
fatores. Em um sistema com uma baixa utilizao de E/S, o desempenho igual
ao de um nico disco.
117
Captulo 3. RAID
Desempenho de Leitura no MD RAID-1
O MD implementa balanceamento de leitura, isto , o cdigo RAID-1 ir alternar
entre cada um (dois ou mais) dos discos no espelho, fazendo leituras alternadas
para cada um. Em uma situao de baixa E/S, isto no poder mudar o desem-
penho total: voc ter que esperar por um disco para completar a leitura. Porm,
com dois discos em um ambiente de alta E/S, isto poderia aumentar duas vezes o
desempenho de leitura, desde que as leituras possam ser emitidas para cada um
dos discos em paralelo. Para N discos no espelho, a melhora do desempenho pode
ser de 2N.
Desempenho de Escrita no MD RAID-1
Deve-se esperar a escrita ocorrer para todos os discos no espelho. Isto porque
uma cpia dos dados deve ser escrita para cada um dos discos no espelho. Assim,
o desempenho ser aproximadamente igual ao desempenho de escrita para um
nico disco.
Desempenho de Leitura no MD RAID-4/5
118
Captulo 3. RAID
Estatisticamente, um bloco pode estar em qualquer uma das unidades de disco,
e assim o desempenho de leitura do RAID-4/5 um tanto parecido com o do
RAID-0. Isto ir depender dos dados, do tamanho da stripe e da aplicao. No
ser to bom quanto o desempenho de leitura de um arranjo espelhado.
Desempenho de Escrita no MD RAID-4/5
Ser no geral consideravelmente mais lento do que aquele para um nico disco.
Isto porque a paridade deve ser escrita em um disco, assim como os dados em
outro. Entretanto, para processar a nova paridade, a paridade antiga e os dados
antigos devem ser lidos primeiramente. Os dados antigos, os dados novos e a
paridade antiga devem ser todos comparados juntos, atravs da operao lgica
XOR, para determinar a nova paridade: isto requer considerveis ciclos de CPU
em adio aos numerosos acessos ao disco.
Comparao dos Nveis de RAID
119
Captulo 3. RAID
Podemos fazer uma comparao entre os vrios nveis de RAID, de acordo com
desempenho (leitura, gravao e reconstruo), disponibilidade de dados e o nmero
mnimo de unidades requeridas. Observe na tabela a descrio destes atributos
para comparao dos nveis de RAID.
Tabela 3-1. Atributos de Comparao dos Vrios Nveis de RAID
Nvel de
RAID
Disponibili-
dade dos
Dados
Desempenho
de Leitura
Desempenho
de Gravao
Desempenho
de Recon-
struo
Nmero
Mnimo de
Unidades
Requeridas
RAID 0 Nenhuma Muito bom Muito bom No
disponvel
N
RAID 1 Excelente Muito bom Bom Bom 2N
RAID 4 Boa E/S
seqencial:
Boa E/S
transacional:
Boa
E/S
seqencial:
Muito Boa
E/S
transacional:
Ruim
Satisfatria N + 1 (N
pelo menos
2)
120
Captulo 3. RAID
RAID 5 Boa E/S
seqencial:
Boa E/S
transacional:
Muito Boa
Satisfatria
(a menos que
o cache
write-back
seja usado)
Ruim N + 1 (N
pelo menos
2)
RAID 10 Excelente Muito boa Satisfatria Boa 2N
RAID 50 Excelente Muito boa Satisfatria Satisfatria N+2
o nmero N o requerimento de espao para armazenamento de dados do nvel de
RAID. Exemplo: se o requesito mnimo ter 6GB de espao para um arranjo RAID-5,
ento deve-se ter ao menos 2 discos de 3GB cada e mais um disco de 3GB, sendo
6GB (2 discos) + 3GB (1 disco).
Congurao de RAID
Antes de congurar qualquer um dos nveis de RAID, siga os seguintes procedi-
mentos:
Instale as ferramentas para RAID:
121
Captulo 3. RAID
# rpm -ivh raidtools*
raidtools ############################## #
Observe contedo do arquivo /proc/mdstat:
# cat /proc/mdstat
Personalities : read_ahead not set
unused devices: <none> #
Este arquivo voc sempre ir vericar para checar as conguraes de RAID.
Observe que nenhum dispositivo de RAID est atualmente ativo.
Crie as parties que voc desejar incluir em sua congurao de RAID, por exemplo:
# fdisk /dev/hda
Comando (tecle m para obter ajuda): n
O prximo passo depender do nvel de RAID que voc escolheu usar; estaremos
vendo a seguir cada uma destas conguraes.
122
Captulo 3. RAID
Modo Linear
Se voc tem duas ou mais parties que no so necessariamente do mesmo
tamanho. Voc poder concatenar uma com a outra.
Crie o arquivo /etc/raidtab para descrever sua congurao. Uma raidtab para
dois discos em modo linear, ter uma aparncia semelhante a esta:
raiddev /dev/md0
raid-level linear
nr-raid-disks 2
chunk-size 32
persistent-superblock 1
device /dev/hda6
raid-disk 0
device /dev/hda7
raid-disk 1
Nos exemplos utilizaremos duas ou trs parties de aproximadamente 1GB,
sendo elas hda5, hda6 e hda7, dependendo da congurao de RAID. Discos so-
bressalentes no so suportados aqui. Se um disco falhar, o arranjo ir falhar
juntamente com ele. No existem informaes que possam ser colocadas em um
disco sobressalente.
Para criar o arranjo execute o comando:
123
Captulo 3. RAID
# mkraid /dev/md0
handling MD device /dev/md0
analyzing super-block
disk 0: /dev/hda6, 1028128kB, raid superblock at 1028032kB
disk 1: /dev/hda7, 1028128kB, raid superblock at 1028032kB #
Isto ir inicializar o arranjo, escrever os blocos persistentes e deixar pronto para
uso. Checando o arquivo /proc/mdstat voc poder ver que o arranjo est funcio-
nando:
# cat /proc/mdstat
Personalities : [linear]
read_ahead 1024 sectors
md0 : active linear hda7[1] hda6[0] 2056064 blocks 32k rounding
unused devices: <none>
#
Agora voc j pode criar um sistema de arquivos, como se fosse em um disposi-
tivo normal:
# mke2fs /dev/md0
mke2fs 1.18, 11-Nov-1999 for EXT2 FS 0.5b, 95/08/09
Filesystem label=
OS type: Linux
124
Captulo 3. RAID
Block size=4096 (log=2)
Fragment size=4096 (log=2)
257024 inodes, 514016 blocks
25700 blocks (5.00%) reserved for the super user
First data block=0
16 block groups
32768 blocks per group, 32768 fragments per group
16064 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
Criar um ponto de montagem e montar o dispositivo:
# mkdir /mnt/md0
# mount /dev/md0 /mnt/md0
# df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/md0 2023760 20 1920940 0% /mnt/md0 #
Observe que o tamanho total de aproximadamente 2GB, pelo fato de termos
125
Captulo 3. RAID
feito uma concatenao de duas unidades, cada uma com aproximadamente 1GB.
RAID-0
Tendo dois ou mais dispositivos aproximadamente do mesmo tamanho, possvel
combinar suas capacidades de armazenamento, bem como seus desempenhos,
atravs do acesso em paralelo.
Modique ou crie o arquivo /etc/raidtab para descrever a sua congurao. Ob-
serve o exemplo:
raiddev /dev/md0
raid-level 0
nr-raid-disks 2
persistent-superblock 1
chunk-size 4
device /dev/hda6
raid-disk 0
device /dev/hda7
raid-disk 1
Como no modo linear, no h suporte para discos reserva. RAID-0 no oferece
redundncia: se um disco falhar todo o conjunto ir falhar.
126
Captulo 3. RAID
Se voc j possui um dispositivo de RAID existente, execute o comando para
interromp-lo e forar a construo. Crie o dispositivo de RAID atravs dos co-
mandos:
# raidstop /dev/md0
# mkraid -force /dev/md0
DESTROYING the contents of /dev/md0 in 5 seconds, Ctrl-C if unsure!
handling MD device /dev/md0
analyzing super-block
disk 0: /dev/hda6, 1028128kB, raid superblock at 1028032kB
disk 1: /dev/hda7, 1028128kB, raid superblock at 1028032kB
#
Isto ir inicializar os superblocos e iniciar o dispositivo raid. Observando o ar-
quivo /proc/mdstat temos:
# cat /proc/mdstat
Personalities : [raid0]
read_ahead 1024 sectors
md0 : active raid0 hda7[1] hda6[0] 2056064 blocks 4k chunks
unused devices: <none>
#
Agora o dispositivo /dev/md0 j est pronto. Pode ser criado um sistema de ar-
127
Captulo 3. RAID
quivos e ser montado para uso.
RAID-1
Com dois dispositivos aproximadamente do mesmo tamanho, possvel fazer
com que um seja espelho do outro. Se voc tiver mais dispositivos, poder us-
los como um sistema de discos sobressalentes; isto ser feito automaticamente
por uma parte do espelho se um dos dispositivos operantes falhar.
Para isto, congure o arquivo /etc/raidtab da seguinte maneira:
raiddev /dev/md0
raid-level 1
nr-raid-disks 2
nr-spare-disks 0
chunk-size 4
persistent-superblock 1
device /dev/hda6
raid-disk 0
device /dev/hda7
raid-disk 1
Se voc usar discos sobressalentes, adicione no nal da especicao do dispos-
128
Captulo 3. RAID
itivo o seguinte:
device /dev/hdb1
spare-disk 0
Onde /dev/hdb1 um disco sobressalente. Congure o nmero de entrada dos
discos sobressalentes, sempre de uma forma proporcional.
Tendo tudo pronto para comear a inicializao do RAID, o espelho poder ser
construdo. E os ndices (no no caso de dispositivos sem formatao) dos dois
dispositivos sero sincronizados. Execute:
# mkraid /dev/md0
Neste momento veja este comando que ir fazer a inicializao do espelho. Ob-
serve agora o arquivo /proc/mdstat; ele ir mostrar que o dispositivo /dev/md0
foi inicializado, que o espelho comeou a ser reconstrudo, e quanto falta para a
reconstruo ser completada:
# cat /proc/mdstat
Personalities : [raid1]
read_ahead 1024 sectors
md0 : active raid1 hda7[1] hda6[0] 1028032 blocks [2/2]
[UU] resync=63% finish=2.5min
unused devices: <none> #
129
Captulo 3. RAID
O processo de reconstruo transparente: voc poder usar os dispositivos nor-
malmente durante a execuo deste processo. possvel at formatar o disposi-
tivo enquanto a reconstruo est sendo executada. Voc tambm pode montar e
desmontar as unidades neste perodo (somente se um disco falhar esta ao ser
prejudicada).
Agora j possvel montar e visualizar o tamanho do dispositivo nal:
# mount /dev/md0 /mnt/md0
# df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/md0 1011928 20 960504 0% /mnt/md0
#
Observe que o tamanho do dispositivo corresponde ao tamanho de um nico dis-
positivo, por se tratar de um espelhamento de discos.
RAID-4
Com trs ou mais dispositivos aproximadamente do mesmo tamanho, sendo um
dispositivo signicativamente mais rpido que os outros dispositivos, possvel
combin-los em um nico dispositivo grande, mantendo ainda informao de re-
dundncia. Eventualmente voc pode colocar alguns dispositivos para serem us-
ados como discos sobressalentes.
130
Captulo 3. RAID
Um exemplo de congurao para o arquivo /etc/raidtab:
raiddev /dev/md0
raid-level 4
nr-raid-disks 3
nr-spare-disks 0
persistent-superblock 1
chunk-size 32
device dev/hda5
raid-disk 0
device /dev/hda6
raid-disk 1
device /dev/hda7
raid-disk 2
Se houverem discos sobressalentes, ser necessrio congurar da mesma forma,
seguindo as especicaes do disco raid. Veja o exemplo:
device /dev/hdb1
spare-disk 0
O disco sobressalente criado de forma similar em todos os nveis de RAID.
Inicialize o RAID-4 com o comando:
131
Captulo 3. RAID
# mkraid /dev/md0
handling MD device /dev/md0
analyzing super-block
disk 0: /dev/hda5, 1028128kB, raid superblock at 1028032kB
disk 1: /dev/hda6, 1028128kB, raid superblock at 1028032kB
disk 2: /dev/hda7, 1028128kB, raid superblock at 1028032kB #
Voc poder acompanhar o andamento da construo do RAIDatravs do arquivo
/proc/mdstat:
# cat /proc/mdstat
Personalities : [raid5]
read_ahead 1024 sectors
md0 : active raid5 hda7[2] hda6[1] hda5[0] 2056064 blocks level 4,
32k chunk, algorithm 0 [3/3] [UUU] resync=59% finish=4.6min
unused devices: <none>
#
Para formatar o RAID-4, utilize as seguintes opes especiais (-R stride=8) do
mke2fs:
# mke2fs -b 4096 -R stride=8 /dev/md0
mke2fs 1.18, 11-Nov-1999 for EXT2 FS 0.5b, 95/08/09
Filesystem label=
132
Captulo 3. RAID
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
257024 inodes, 514016 blocks
25700 blocks (5.00%) reserved for the super user
First data block=0
16 block groups 32768 blocks per group,
32768 fragments per group 16064 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Writing inode tables: done
Writing superblocks and filesystem accounting information: done #
Basta montar o RAID para uso. O tamanho total ser de N-1, ou seja, o tamanho
total de todos os dispositivos menos um, reservado para a paridade:
# df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/md0 2023760 20 1920940 0% /mnt/md0 #
Note que o RAID-4 carrega o MD do RAID-5, por se tratarem de nveis similares
de RAID.
133
Captulo 3. RAID
RAID-5
Similar ao RAID-4, porm implementado atravs de trs ou mais dispositivos
de tamanho aproximado, combinados em um dispositivo maior. Ainda mantm
um grau de redundncia para proteger os dados. Podem ser usados discos sobres-
salentes, tomando parte de outros discos automaticamente caso eles venham a
falhar.
Se voc est usando N dispositivos onde o menor tem um tamanho S, o tamanho
total do arranjo ser (N-1)*S. Esta perda de espao utilizada para a paridade
(redundncia) das informaes. Assim, se algum disco falhar, todos os dados
continuaro intactos. Porm, se dois discos falhares, todos os dados sero perdi-
dos.
Congure o arquivo /etc/raidtab de uma forma similar a esta:
raiddev /dev/md0
raid-level 5
nr-raid-disks 3
nr-spare-disks 0
persistent-superblock 1
parity-algorithm left-symmetric c
chunk-size 32
device /dev/hda5
raid-disk 0
device /dev/hda6
134
Captulo 3. RAID
raid-disk 1
device /dev/hda7
raid-disk 2
Se existir algum disco sobressalente, ele pode ser inserido de uma maneira simi-
lar, seguindo as especicaes de disco raid. Por exemplo:
device /dev/hdb1
spare-disk 0
Um tamanho do pedao (chunk size) de 32 KB um bom padro para sistemas
de arquivos com uma nalidade genrica deste tamanho. O arranjo em qual o
raidtab anterior usado de (n-1)*s = (3-1)*2 = 2 GB de dispositivo. Isto prev
um sistema de arquivos ext2 com um bloco de 4 KB de tamanho. Voc poderia
aumentar, juntamente com o arranjo, o tamanho do pedao e o tamanho do bloco
do sistema de arquivos. Se seu sistema de arquivos fosse muito maior, ou se ir
usar arquivos muito grandes.
Execute o comando mkraid para o dispositivo /dev/md0. Isto ir comear a re-
construo do seu arranjo. Observe o arquivo /proc/mdstat para poder fazer um
acompanhamento do processo:
# cat /proc/mdstat
Personalities : [raid5]
read_ahead 1024 sectors
md0 : active raid5 hda7[2] hda6[1] hda5[0] 2056064 blocks level 5,
135
Captulo 3. RAID
32k chunk, algorithm 2 [3/3] [UUU] resync=29% finish=11.4min
unused devices: <none>
#
Se o dispositivo for criado com sucesso, a reconstruo foi iniciada. O arranjo
no estar consistente at a fase de reconstruo ter sido completada. Entretanto,
o arranjo totalmente funcional (exceto para troca de dispositivos que falharam
no processo); voc pode formatar e usar o arranjo enquanto ele estiver sendo
reconstrudo.
Formate o arranjo com o comando: mke2fs -b 4096 -R stride=8 /dev/md0.
Quando voc tiver um dispositivo RAID executando, voc pode sempre parar
ou reiniciar usando os comandos: raidstop /dev/md0 ou raidstart /dev/md0.
Mais informaes e detalhes do processo de criao de RAID podem ser obtidas
em RAID Solutions for Linux (http://linas.org/linux/raid.html).
Uso de RAID para Obter Alta
Disponibilidade
Alta disponibilidade difcil e cara. Quanto mais arduamente voc tenta fazer
136
Captulo 3. RAID
um sistema ser tolerante a falhas, mais ele passa a ser dispendioso e difcil de
implementar. As seguintes sugestes, dicas, idias e suposies podero ajudar
voc a respeito deste assunto:
Os discos IDE podem falhar de tal maneira que o disco que falhou em um cabo do IDE
possa tambm impedir que um disco bom, no mesmo cabo, responda, fazendo assim
uma aparncia de que os dois discos falharam. Apesar de RAID no oferecer proteo
contra falhas em dois discos, voc deve colocar apenas um disco em um cabo IDE, ou
se houverem dois discos, devem pertencer conguraes diferentes de RAID.
Discos SCSI podem falhar de tal maneira que o disco que falhou em uma cadeia pode
impedir todos os dispositivos da srie de serem acessados. O modo de falha envolve
a posio do pino de leitura de dispositivo comum (compartilhado); apesar deste pino
ser compartilhado, nenhuma arbitrariedade pode ocorrer at a posio estar desligada.
Assim, dois discos SCSI na mesma cadeia no devem pertencer ao mesmo arranjo
RAID.
Observaes similares so aplicadas s controladoras de disco. No sobrecarregue os
canais em uma controladora; utilize controladoras mltiplas.
No utilize o mesmo tipo ou nmero de modelo para todos os discos. No incomum
em variaes eltricas bruscas perder dois ou mais discos, mesmo com o uso de supres-
sores - eles no so perfeitos ainda. O calor e a ventilao pobre do compartimento de
disco so outras causas das perdas de disco. Discos baratos freqentemente funcionam
aquecidos. Utilizar diferentes tipos de discos e controladoras diminui a probabilidade
de danicao de um disco (calor, choque fsico, vibrao, choque eltrico).
Para proteger contra falhas de controladora ou de CPU, possvel construir um com-
137
Captulo 3. RAID
partimento de disco SCSI que tenha cabos gmeos, ou seja, conectado a dois computa-
dores. Um computador ir montar o sistema de arquivos para leitura e escrita, enquanto
outro computador ir montar o sistema de arquivos somente para leitura, e atuar como
um computador reserva ativo. Quando o computador reserva capaz de determinar
que o computador mestre falhou (por exemplo, atravs de um adaptador watchdog),
ele ir cortar a energia do computador mestre (para ter certeza que ele est realmente
desligado), e ento fazer a vericao com o fsck e remontar o sistema para leitura e
escrita.
Sempre utilize um no-break, e efetue os desligamentos corretamente. Embora um
desligamento incorreto no possa danicar os discos, executar o ckraid em qualquer
arranjo pequeno extremamente lento. Voc deve evitar a execuo do ckraid sem-
pre que for possvel, ou pode colocar um hack no kernel e comear a reconstruo do
cdigo vericando erros.
Cabos SCSI so conhecidos por seremmuito sujeitos a falhas, e podemcausar todo tipo
de problemas. Utilize o cabeamento de mais alta qualidade que voc puder encontrar
a venda. Utilize por exemplo o bubble-wrap para ter certeza que os cabos ta no
esto muito perto um do outro e do cross-talk. Observe rigorosamente as restries do
comprimento do cabo.
D uma olhada em SSI (arquitetura de armazenamento serial). Embora seja muito caro,
parece ser menos vulnervel aos tipos de falhas que o SCSI apresenta.
138
Captulo 4. LDAP
Neste captulo apresentaremos informaes sobre instalao, congurao, ex-
ecuo e administrao de um Servidor LDAP (Lightweight Directory Access
Protocol) em um computador com Linux. Voc aprender como recuperar infor-
maes do seu Diretrio, utilizando os clientes e utilitrios fornecidos. Tratare-
mos de como migrar a sua base de usurios para um banco de dados LDAP,
quais informaes sero importadas, de que modo efetuar autenticao e acesso
remoto atravs do LDAP. Mostraremos tambm como usar o Livro de Endereos
do Netscape Communicator, envio de e-mails e a navegao atravs de URLs,
fazendo o uso dos recursos de LDAP.
A verso 2.0 do OpenLDAP se encontra no CD 2 da distribuio do Conectiva Linux.
Por estar em estado de implementao e com a documentao ainda incompleta,
no documentaremos esta verso. Apenas mostraremos as principais diferenas
entre a verso 1.0 (a qual trataremos neste captulo) e a nova verso 2.0. Mais
informaes consulte o
1
OpenLDAP 2.0 Administrators Guide.
Introduo e Conceitos
LDAP um protocolo (executado sobre o TCP/IP) cliente-servidor, utilizado para
1. http://www.openldap.org/doc/admin/
139
Captulo 4. LDAP
acessar um servio de Diretrio. Ele foi inicialmente usado como uma interface
para o X.500, mas tambm pode ser usado com autonomia e com outros tipos de
servidores de Diretrio. Atualmente vem se tornando um padro, diversos progra-
mas j tm suporte a LDAP. Livros de endereos, autenticao, armazenamento
de certicados digitais (S/MIME) e de chaves pblicas (PGP), so alguns dos
exemplos onde o LDAP j amplamente utilizado.
Servio de Diretrio
Um Diretrio como um banco de dados, mas tende a conter mais informaes
descritivas, baseadas em atributo e organizado em forma de rvore, no de
tabela. A informao em um Diretrio geralmente mais lida do que escrita.
Como conseqncia, Diretrios normalmente no so usados para implementar
transaes complexas, ou esquemas de consultas regulares em bancos de da-
dos, transaes estas que so usadas para fazer um grande volume de atualiza-
es complexas. Atualizaes em Diretrios so tipicamente simples ou nem so
feitas.
Diretrios so preparados para dar resposta rpida a um grande volume de con-
sultas ou operaes de busca. Eles tambm podem ter a habilidade de replicar
informaes extensamente; isto usado para acrescentar disponibilidade e con-
abilidade, enquanto reduzem o tempo de resposta.
Existem vrias maneiras diferentes para disponibilizar um servio de Diretrio.
Mtodos diferentes permitem que diferentes tipos de informaes possam ser ar-
mazenadas no Diretrio, colocando requerimentos diferentes, sobre como aquela
informao poder ser referenciada, requisitada e atualizada, como ela prote-
140
Captulo 4. LDAP
gida de acessos no autorizados, etc.. Alguns servios de Diretrio so locais,
fornecendo o servio para um contexto restrito (ex., o servio nger em uma
mquina isolada). Outros servios so globais, fornecendo o servio para um
contexto muito maior (por exemplo, a prpria Internet).
Servios globais normalmente so distribudos (Figura 4-1), ou seja, cada servi-
dor responsvel por uma parte apenas. O DNS (Domain Name System) um
exemplo, ele um tipo de servio de Diretrio, embora bastante especializado.
141
Captulo 4. LDAP
Figura 4-1. Dados de diretrio distribudos em trs servidores
142
Captulo 4. LDAP
Tipo de Informao
O modelo de servio do Diretrio LDAP baseado em entradas. Uma entrada
um conjunto de atributos e referenciada atravs de um nome distinto
2
. O
DN usado para referenciar uma entrada de forma no ambgua. Cada um dos
atributos de entrada tem um tipo e um ou mais valores. Este tipos geralmente
so palavras mnemnicas, como cn para nome comum, ou mail para endereo de
correio eletrnico; existem RFCs (Request For Comments) que determinam estas
palavras. Os valores dependem do tipo de atributo. Por exemplo, um atributo
mail pode conter o valor <mari@marilia.br>. Um atributo fotoJpeg ir conter uma
fotograa.
Organizando a Informao
No LDAP, entradas de Diretrio so organizadas em uma hierarquia de rvore in-
vertida, semelhante em alguns aspectos organizao do DNS. A estrutura desta
rvore geralmente reete limites polticos, geogrcos e/ou organizacionais. O
n mais alto (root) tipicamente o componente nome de domnio dc
3
de uma
companhia, estado ou organizao. Abaixo cam as entradas representando es-
2. distinguished name (DN).
3. domain component
143
Captulo 4. LDAP
tados ou organizaes nacionais. Abaixo elas podem ser entradas representando
pessoas, unidades organizacionais, impressoras, documentos, ou qualquer outra
coisa em que voc possa pensar. A Figura 4-2 mostra um exemplo de um Di-
retrio LDAP em rvore.
Figura 4-2. rvore de Diretrio LDAP
Apesar de termos entradas para pases, o Diretrio no possui uma entidade regu-
ladora ou centralizadora como, por exemplo, o root servers do DNS. A separao
por pases, por exemplo, pode ser til para empresas multi-nacionais. A Figura
4-2 tambm ilustra uma outra vantagem de um servio de Diretrios. Os ramos
da rvore podem estar em mquinas diferentes. No caso da Figura 4-2, a entrada
o=Brasil Ltda est em um outro computador. Observamos que esta caracterstica
tambm tpica do DNS.
Classes de Objetos
J vimos alguns tipos de atributos usados nas entradas em um servio de Di-
retrios: mail, cn, telephoneNumber e outros. Podemos criar qualquer tipo de atrib-
uto, mas isto no recomendado. No LDAP existem diversas classes de objetos,
144
Captulo 4. LDAP
e cada classe contm uma lista de atributos obrigatrios e opcionais. Essa lista
denida em uma RFC.
Por exemplo, a classe person denida da seguinte maneira:
objetclass person requires objectClass sn, cn allows
description, seeAlso, telephoneNumber, userPassword
O servidor LDAP pode ser congurado para vericar as classes (atravs da opo
schemacheck) e forar o uso correto dos atributos. Isto geralmente uma boa
idia; com a checagem ligada, por exemplo, ser obrigatria a insero dos atrib-
utos objectClass, sn e cn. Quando denirmos que uma entrada do Diretrio
da classe person, um atributo description ser opcional. Entradas em Diretrios
podem ter vrias classes diferentes, basta apenas observarmos os requisitos de
atributos de cada classe.
Referenciando a Informao
Uma entrada referenciada pelo seu nome distinto DN. O DN nico e na sua
construo utiliza o caminho inteiro, desde a entrada at o topo do Diretrio. Por
exemplo, na Figura 4-2, DN="cn=Maria A Silva,o=U de M,c=BR". As entradas
tambm podem ser referenciadas atravs de um RDN (Relative Distinguished
Name). Ainda neste exemplo o RDN cn=Maria A. Silva. Podemos fazer uma
comparao com hostname (RDN) e FQDN (DN).
145
Captulo 4. LDAP
Acessando a Informao
O LDAP dene operaes para consultar e atualizar o Diretrio. Operaes so
fornecidas para adio e remoo de uma entrada do Diretrio, modicao de
uma entrada existente e modicao do nome de uma entrada. A operao LDAP
de busca pode abranger a rvore toda (uma busca com escopo subtree) ou apenas
um ramo, sem descer ou subir para os demais. Alm de especicar com ltros
quais entradas se deseja encontrar, tambm possvel especicar quais atributos
desta entrada esto sendo procurados. Se os atributos no forem especicados,
todos sero retornados.
Por exemplo, na Figura 4-2 voc pode querer pesquisar toda a sub-rvore de
Diretrio abaixo da Universidade de Marlia, procurando por pessoas como nome
de Maria Silva, recuperando o endereo de correio eletrnico para cada entrada
encontrada. O LDAP permite que voc faa isto facilmente. Ou voc pode querer
buscar as entradas diretamente abaixo do c=BR, entrada para organizaes com a
palavra Brasil no seu nome, e que tenham um nmero de telefone. O LDAP
permite que voc faa isto tambm. A prxima seo descreve com mais detalhes
o que voc pode fazer com LDAP e como isto poder ser til.
Proteo Contra Acessos No-Autorizados
Alguns servios de Diretrio no fornecem proteo, permitindo que qualquer
146
Captulo 4. LDAP
um possa ver as informaes. O LDAP fornece um mtodo para autenticao de
um cliente, ou prova sua identidade para um servidor de Diretrio, pavimentando
o caminho para um rico controle de acesso, protegendo as informaes contidas
no servidor. A sugesto da Conectiva para o arquivo de congurao do servidor
contm um exemplo de lista de controle de acesso ACL.
Funcionamento do LDAP
O servio de Diretrio LDAP baseado em um modelo cliente-servidor. Um ou
mais servidores LDAP contm os dados criando a rvore de Diretrio LDAP. Um
cliente LDAP conecta-se a um servidor e faz uma requisio. O servidor responde
com a requisio, ou exibe um ponteiro para onde o cliente pode conseguir a in-
formao (tipicamente, outro servidor LDAP). Podemos fazer novamente uma
comparao com o DNS, a diferena que o servidor LDAP no faz buscas re-
cursivas, ou seja, em nome do cliente. O cliente encarregado de procurar pelo
servidor at encontrar a informao desejada.
Conceito e Utilizao do slapd
O slapd um servidor de Diretrio LDAP que pode ser executado em diferentes
147
Captulo 4. LDAP
plataformas Linux. Voc pode us-lo para fornecer o seu prprio servio de Di-
retrio. Seu Diretrio pode conter qualquer coisa que voc queira colocar. Voc
pode conect-lo a um servio de Diretrio LDAP global, ou executar o servio
para voc mesmo. Algumas das caractersticas e potencialidades mais interes-
santes do slapd incluem:
Escolha do banco de dados: O slapd vem com trs tipos diferentes de banco de
dados que voc pode escolher. So eles: LDBM, um banco de dados baseado em disco
de alta performance; SHELL, uma interface de banco de dados para comandos arbitrrios
do Linux ou scripts de linha de comando e PASSWD, um banco de dados simples de um
arquivo de senhas.
Mltiplas instncias dos bancos de dados: O slapd fornece uma rica e poderosa
facilidade no controle de acesso, permitindo a voc controlar o acesso a informao em
seu(s) banco(s) de dados. Voc pode controlar o acesso s entradas baseadas em informa-
o de autenticao LDAP, endereo IP, nome do domnio e outros critrios.
API genrica do banco de dados: O slapd utiliza vrios processos para ter uma
alta performance. Um nico sub-processo slapd manuseia todas as requisies vindas,
reduzindo a quantidade requisitada de recursos do sistema. O slapd ir automaticamente
selecionar o melhor suporte a vrios processos para a sua plataforma.
Controle de acesso: O slapd pode ser congurado para usar rplicas. Este esquema de
replicao mestre/escravo vital em ambientes de grande volume, onde um nico slapd
no pode fornecer a disponibilidade ou a conabilidade necessrias.
Sub-processos: O slapd altamente congurvel. Atravs de um nico arquivo de
congurao, ele permite a voc mudar simplesmente tudo, sempre que voc quiser al-
terar. As opes de congurao tm padres razoveis, tornando o seu trabalho muito
148
Captulo 4. LDAP
mais fcil.
O slapd do OpenLDAP 1.2.x um servidor LDAPv2. A especicao para o
LDAPv3 j foi feita e foi implementada no OpenLDAP 2.0; suas novas carac-
tersticas so:
LDAPv2 e LDAPv3: Oslapd suporta as verses 2 e 3 do LDAP. Ele fornece suporte para
as ltimas caractersticas enquanto mantm interoperabilidade com os clientes existentes.
O slapd tem suporte ao IPv4.
Autenticao SASL: O slapd tem suporte a servios de autenticao diferenciados
atravs do uso de SASL. A implementao SASL do slapd utiliza o software Cyrus SASL
com suporte a vrios mecanismos incluindo DIGEST-MD5, EXTERNAL.
Camada de Transporte Segura: O slapd fornece protees de privacidade e integri-
dade atravs do uso de TLS. A implementao TLS do slapd utiliza o software OpenSSL.
Internacionalizao: O slapd suporta Unicode e tags de linguagem.
LDAP e o X.500
O LDAP foi originalmente desenvolvido como um cliente para o X.500, o servio
de Diretrio OSI. O X.500 dene o Protocolo de Acesso a Diretrio (DAP
4
) para
4. Directory Access Protocol.
149
Captulo 4. LDAP
os clientes usarem quando estiverem em contato com servidores de Diretrio. O
DAP um protocolo peso-pesado, que roda sobre uma camada OSI completa,
e precisa de uma quantidade signicante de recursos computacionais para ser
executado. O LDAP roda diretamente sobre o TCP e fornece a maioria das fun-
cionalidades do DAP, a um custo muito menor.
Este uso do LDAP torna fcil acessar o Diretrio X.500, mas ainda exige um
servio X.500 completo, para tornar os dados disponveis aos vrios clientes
LDAP que esto sendo desenvolvidos. Assim como clientes X.500 DAP com-
pletos, um servidor X.500 completo no um pequeno pedao de programa para
ser executado.
Se voc j est executando um servio X.500 e quer continuar a fazer isto, voc
provavelmente pode parar de ler este captulo, ele todo sobre como executar
o LDAP via slapd, sem utilizar o X.500. Se voc no est usando o X.500, ou
quer parar de usar o X.500, ou no tem planos imediatos para executar o X.500,
continue lendo.
possvel replicar dados de um servidor de Diretrio slapd para um DAP X.500;
isto permite que sua organizao torne seus dados disponveis como parte de um
servio de Diretrio X.500 global em uma base somente para leitura.
Um outro caminho para tornar os dados em um servidor slapd disponveis para a
comunidade X.500, seria usando um DAP X.500 para porta de entrada do LDAP.
150
Captulo 4. LDAP
Replicao
O slurpd um servidor para Linux que auxilia o slapd, provendo a replicao do
banco de dados. Ele responsvel pela distribuio das mudanas ocorridas no
servidor master para o servidor slave (a rplica). Veja a Figura 4-3.
151
Captulo 4. LDAP
Figura 4-3. Um servio de diretrio replicado com dados distribudos em trs servi-
152
Captulo 4. LDAP
dores
O slapd e o slurpd se comunicam atravs de um simples arquivo texto, que us-
ado para registrar as mudanas. A sintaxe deste arquivo lembra um pouco a sin-
taxe dos arquivos resultantes do diff , no sentido de que esto descritas as entradas
ou atributos que devem ser removidos, adicionados ou modicados. O slurpd ir
se encarregar de aplicar estas mudanas ao servidor da rplica. Durante este pro-
cesso, a rplica e o master caro diferentes.
Instalando e Congurando o LDAP
Instalando os Pacotes
1. Acesse o diretrio de pacotes do Conectiva Linux:
# cd /mnt/cdrom/conectiva/RPMS/
153
Captulo 4. LDAP
2. Instale o pacote do servidor LDAP openldap:
# rpm -ivh openldap-1*
openldap ####################################
3. Edite o Arquivo /etc/openldap/slapd.conf:
suffix "o=minhaorganizacao, c=br"
rootdn "cn=lroot, o=minhaorganizacao, c=br"
rootpw minha-senha
defaultaccess read
access to attr=userpassword by self write by dn="cn=lroot,
o=minhaorganizacao, c=br" write by * none
access to * by self write by dn="cn=lroot, o=minhaorganizacao,
c=br" write by * read
154
Captulo 4. LDAP
loglevel 2880
suffix: a raiz, a base do seu Diretrio.
rootdn: o login do administrador.
rootpw: a senha do administrador; pode ser colocada criptografada.
default access: direitos de acesso padro.
access to: aqui comeam as denies das ACLs. Estas denies permitem
somente que o administrador e o prprio usurio tenham acesso ao atributo
userpassword.
loglevel: tipo de mensagens de log que sero geradas.
Criando o Diretrio
Edite o arquivo /usr/share/openldap/migration/migrate_common.ph:
$DEFAULT_MAIL_DOMAIN = "minhaorganizacao.com.br";
$DEFAULT_BASE = "o=minhaorganizacao,c=br";
$EXTENDED_SCHEMA = 1;
155
Captulo 4. LDAP
$EXTENDED_SCHEMA = 1 ir ativar o suporte a outras classes de objetos,
como person, por exemplo.
Executando o Script migrate_all_ofine.sh
Este script ira pesquisar vrios arquivos do diretrio /etc e criar as entradas no
seu Diretrio.
# cd /usr/share/openldap/migration/
#./migrate_all_offline.sh
Creating naming context entries...
Migrating aliases...
Migrating groups...
Migrating hosts...
Migrating networks...
Migrating users...
Migrating protocols...
Migrating rpcs...
Migrating services...
Migrating netgroups...
Importing into LDAP...
156
Captulo 4. LDAP
Migrating netgroups (by user)...
Migrating netgroups (by host)...
Preparing LDAP database...
Editando o Arquivo /etc/openldap/ldap.conf
BASE o=minhaorganizacao,c=br
HOST localhost
Inicializando o Servidor LDAP
# cds
atd gpm keytable lpd
crond halt killall mars-nwe
dhcpd hdparm kudzu named
functions httpd ldap netfs
gated inet linuxconf-setup network
157
Captulo 4. LDAP
# ./ldap start
Iniciando ldap: [ OK ]
O OpenLDAP ligado com a biblioteca TCP/Wrappers, por este motivo o cont-
role de acesso pode ser feito atravs dos arquivos /etc/hosts.allow e /etc/hosts.deny,
alm do recurso de ACLs do prprio OpenLDAP. Utilize este arquivos para contro-
lar as mquinas que iro acessar o servidor LDAP. Para acessar atravs do prprio
servidor, caso o arquivo /etc/hosts.deny esteja com o parmetro ALL:ALL, insira no
/etc/hosts.allow a linha
ALL:
localhost
.
158
Captulo 4. LDAP
Utilizando o LDAP
Fazendo Pesquisas na Linha de Comando
Abra um terminal e utilize os seguintes comandos:
para vericar tudo que existe no Diretrio:
$ ldapsearch "objectclass=*"
o=minhaorganizacao,c=br
o=minhaorganizacao
objectclass=top
objectclass=organization
objectclass=domainRelatedObject
associateddomain=minhaorganizacao.com.br
...
para vericar se os usurios foram inseridos:
$ ldapsearch uid=login-do-usuario
uid=login-do-usuario,ou=People,o=minhaorganizacao,c=br
159
Captulo 4. LDAP
uid=login-do-usuario
cn=login-do-usuario
sn=login-do-usuario
mail=login-do-usuario@minhaorganizacao.com.br
objectclass=person
objectclass=organizationalPerson
objectclass=inetOrgPerson
objectclass=account
objectclass=posixAccount
objectclass=top
objectclass=kerberosSecurityObject
krbname=login-do-usuario@MINHAORGANIZACAO.COM.BR
loginshell=/bin/bash
uidnumber=550
gidnumber=907
homedirectory=/home/login-do-usuario
Note que o atributo userpassword no apareceu nesta busca.
para vericar se as senhas foram inseridas usando a senha do administrador do Di-
retrio:
$ ldapsearch -D cn=lroot,o=minhaorganizacao,c=BR -W uid=meu-usuario
Enter LDAP Password:
160
Captulo 4. LDAP
uid=meu-usuario,ou=People,o=minhaorganizacao,c=br
uid=meu-usuario
cn=meu-usuario
sn=meu-usuario
mail=meu-usuario@minhaorganizacao.com.br
objectclass=person
objectclass=organizationalPerson
objectclass=inetOrgPerson
objectclass=account
objectclass=posixAccount
objectclass=top
objectclass=kerberosSecurityObject
userpassword={crypt}VazDY6ytbW/YI
krbname=meu-usuario@MINHAORGANIZACAO.COM.BR
loginshell=/bin/bash
uidnumber=500
gidnumber=500
homedirectory=/home/meu-usuario
De acordo com as ACLs, o administrador sempre tem acesso a todos os atrib-
utos.
para vericar a senha do seu usurio usando sua prpria senha:
161
Captulo 4. LDAP
$ ldapsearch -D uid=meu-usuario,ou=people,o=minhaorganizacao,c=br -W
uid=meu-usuario
Enter LDAP Password:
uid=meu-usuario,ou=People,o=minhaorganizacao,c=br
uid=meu-usuario
cn=meu-usuario
sn=meu-usuario
mail=meu-usuario@minhaorganizacao
objectclass=person
objectclass=organizationalPerson
objectclass=inetOrgPerson
objectclass=account
objectclass=posixAccount
objectclass=top
objectclass=kerberosSecurityObject
userpassword={crypt}VazDY6ytbW/YI
krbname=meu-usuario@MINHAORGANIZACAO.COM.BR
loginshell=/bin/bash
uidnumber=500
gidnumber=500
homedirectory=/home/meu-usuario
Devido s ACLs, um usurio somente tem acesso ao seu prprio atributo user-
162
Captulo 4. LDAP
password.
Congurando o Netscape Communicator
Quando se trabalha com servidores LDAP, comum existir uma limitao para
a quantidade mxima de respostas retornadas pelo servidor. Esta limitao ex-
iste sempre no servidor, mas pode existir tambm no cliente, como no caso do
Netscape.
Entre no ambiente grco com o seu login de usurio, execute o Netscape Com-
municator e faa as seguintes conguraes:
1. No Livro de Endereos (Alt-Shift-2) clique emArquivoDiretrio Novo...; surgir
a janela Directory Info (Figura 4-4). Basta preencher esta janela da seguinte maneira:
Figura 4-4. Informaes do Diretrio
163
Captulo 4. LDAP
2. No campo Diretrios, selecione o Diretrio que voc adicionou, efetue uma pesquisa
de todos os usurios que existem no Diretrio digitando no campo digite o nome que
est procurando um * seguido de um Enter. Voc dever visualizar todos os usurios
encontrados no diretrio. Ser possvel ver aqui tambm os usurios administrativos,
como bin, daemon, etc.. Eles podem ser removidos do Diretrio.
3. Congure o correio do Netscape para utilizar o endereamento de mensagens atravs
do servidor de Diretrio.
Em EditarPreferncias, clique na seta para expandir a categoria Correio
e Notcias e selecione a subcategoria Endereamento.
Habilite a opo Servidor de Diretrio: e selecione o servidor que voc
adicionou (no nosso exemplo: minhaorganizao).
4. Sempre que for enviar uma mensagem bastar colocar um dado qualquer, ou ape-
nas parte dele, de um usurio existente no Diretrio. O Netscape se encarregar de
preencher o restante. Caso exista mais de uma entrada, ele mostrar a lista de usu-
rios encontrados, para voc selecionar o usurio desejado.
Acessando o Servidor LDAP por URLs
164
Captulo 4. LDAP
Tambm possvel usar o Netscape Communicator para se comunicar com um
servidor LDAP atravs do navegador. A sintaxe a seguinte:
ldap[s]://<hostname><:port>/<base_dn>?<atributos>?<escopo>?<Filtro>
O [s] usado quando temos uma conexo segura (ssl). Vejamos um exemplo com
algumas utilizaes de URLs do Netscape para o LDAP:
Exemplo 4-1. Utilizando as URLs do Netscape Communicator
ldap://localhost/o=minhaorganizacao,c=br??sub?
Isto retornar do servidor cada registro do banco de dados.
ldap://localhost/o=minhaorganizacao,c=br?cn,mail?sub?
Isto ir retornar apenas os objetos (pessoas) nome e endereo de correio eletrnico
para cada pessoa do banco de dados.
ldap://localhost/o=minhaorganizacao,c=br??sub?(cn=maria)
Retornar apenas o registro maria.
ldap://localhost/o=minhaorganizacao,c=br??sub?(cn=maria*)
Trar para voc qualquer registro em que o nome inicie com maria.
165
Captulo 4. LDAP
ldap://localhost/o=minhaorganizacao,c=br??sub?(sn=silva)
Isto lhe dar todos os registros que tenham o sobrenome silva.
Autenticao e NSS com o LDAP
Seu servidor LDAP pode autenticar usurios, usando um mecanismo chamado
PAM
5
(mdulos de autenticao plugveis). Desde o princpio do Linux, a auten-
ticao de um usurio foi feita atravs da entrada de uma senha pelo usurio, e
o sistema vericando se a senha digitada corresponde a senha ocial encriptada,
que ca armazenada no arquivo /etc/passwd. Isto foi apenas no incio. Desde
ento, um nmero de novos caminhos para a autenticao de usurios vem se
tornando popular, incluindo substituies mais complicadas, como por exemplo
para o arquivo /etc/passwd e dispositivos de hardware chamados de Smart Cards.
O problema que a cada vez que um novo esquema de autenticao desen-
5. Pluggable Authentication Module.
166
Captulo 4. LDAP
volvido, requer que todos os programas necessrios (login, ftpd, etc.) sejam ree-
scritos para suportar este novo esquema. O PAM fornece um caminho para de-
senvolver programas que so independentes do esquema de autenticao. Estes
programas precisam de mdulos de autenticao, anexados a eles em tempo de
execuo, para que possam funcionar.
A seguir veremos como congurar o seu sistema para fazer a autenticao via
LDAP. O programa authcong realiza quase todas estas alteraes. Para fazer o
uso de SSL (criptograa) com LDAPv2 em um servidor remoto ser necessrio
instalar o pacote stunnel.
Autenticao no LDAP e o NSS
Como superusurio, entre no diretrio onde se encontram os pacotes da dis-
tribuio e execute:
# rpm -ivh nss_ldap* pam_ldap*
nss_ldap ##############################
pam_ldap ##############################
Congurando o PAM para Utilizar o LDAP
167
Captulo 4. LDAP
No diretrio /usr/share/doc/pam_ldap-XX, onde XX a verso do mdulo instalado,
voc encontrar o diretrio pam.d.conectiva que a recomendao da Conec-
tiva para o contedo do diretrio /etc/pam.d. Faa um backup do seu diretrio
/etc/pam.d original e copie o novo diretrio recomendado para o mesmo local:
# mv /etc/pam.d /etc/pam.d.org
# cp -R /usr/share/doc/pam_ldapXX/pam.d.conectiva /etc/pam.d
Execute o aplicativo authcong como superusurio; voc ter a Figura 4-5 ilus-
trando as conguraes para o nosso exemplo:
# authconfig
168
Captulo 4. LDAP
Figura 4-5. Congurao de Autenticao
169
Captulo 4. LDAP
A opo USAR SSL s estar habilitada se o authcong conseguir detectar a
instalao do pacote stunnel. Com essa instalao seu sistema tentar autenticar
o usurio localmente (atravs dos arquivos /etc/shadow, /etc/passwd, etc.); em
caso de resposta negativa, usar o LDAP com a mesma senha, sem pedir duas
senhas para o usurio.
Testando a Autenticao e o NSS
Para testar a autenticao e o NSS, faa uma cpia do seu /etc/passwd:
# cp /etc/passwd /etc/passwd.org
Remova deste arquivo umusurio como comando # userdel nome-do-usurio,
para ter certeza de que ele no ser encontrado no /etc/passwd.
Ento experimente:
$ ls -la /home
Ser possvel visualizar o nome do usurio, emvez do seu UID. Experimente tam-
bm acessar o Conectiva Linux, com o usurio que havia no arquivo /etc/passwd.
170
Captulo 4. LDAP
Se no for utilizar LDAP para autenticao, no esquea de recuperar o seu /etc/passwd
original para continuar com o uso do sistema:
# mv /etc/passwd.org /etc/passwd
Adicionando e Removendo Usurios Via LDAP
Para adicionar e remover usurios do LDAP, existem dois comandos que so
utilizados para esta tarefa. So eles: ldapadduser e ldapdeluser. Executando
estes comandos sem parmetros, ser apresentada na tela a forma de uso. Voc
poder us-los da seguinte maneira:
# ldapadduser meu-usuario
ou
# ldapdeluser meu-usuario -r
Na remoo do usurio, foi usado o parmetro -r. Ele utilizado quando se deseja
remover o /home/meu-usuario juntamente com a conta do usurio. Se no for esta
a inteno, no utilize este parmetro.
171
Captulo 4. LDAP
Acrescentando o log do LDAP
No arquivo /etc/syslog.conf se encontra a seguinte linha:
local4.* /var/log/ldap.log
Voc poder acompanhar possveis erros de autenticao no /var/log/messages, e
o log do LDAP em /var/log/ldap.
Ferramentas Grcas para o LDAP
Alm do Netscape existem outras ferramentas LDAP que podem ser usadas no
ambiente grco. Pesquisas, visualizao e at mesmo manutenes na base de
dados podem ser feitas atravs destes programas.
O Cliente de LDAP GQ
O GQ um cliente LDAP grco, com uma interface simples escrito para o
Gnome, sendo possvel execut-lo em outros gerenciadores de janela tambm.
Instale-o da seguinte forma: como superusurio no diretrio RPMS do CD2 do
172
Captulo 4. LDAP
Conectiva Linux execute:
# rpm -ivh gq-*
gq ###############################
Como usurio normal inicialize o programa como comando gq. Sua congurao
tambm simples, bastando adicionar o servidor LDAP que voc gostaria de usar,
e a Base DN do Diretrio. Um recurso interessante deste aplicativo o modo
de navegao, sendo possvel observar o Diretrio em rvore e ter uma viso
completa de todos os dados do Diretrio. Observe na Figura 4-6 os detalhes deste
exemplo:
$ gq
173
Captulo 4. LDAP
Figura 4-6. O Cliente de LDAP GQ
174
Captulo 4. LDAP
Acesso Mvel
O objetivo do Acesso Mvel que em qualquer lugar que voc esteja na rede,
voc poder recuperar seus bookmarks, preferncias, ltros de e-mail, entre out-
ros, utilizando o Netscape e um servidor LDAP. Esta uma caracterstica muito
boa: imagine que, de qualquer lugar que voc acesse a Web, voc poder ter as
suas prprias conguraes no navegador. Se voc for viajar e precisar acessar
aquele site de notcias que est armazenado em seu bookmarks local, no haver
problemas: envie os bookmarks e outros arquivos de congurao para um servi-
dor LDAP e voc poder recuper-los depois, independente do lugar em que voc
estiver.
Implementando o Acesso Mvel
Para implementar o Acesso Mvel voc ter de seguir os seguintes passos:
Alterar seu arquivo de descrio de atributos.
Alterar seu arquivo de descrio objectclass.
Alterar o arquivo LDIF para incluir os pers.
Congurar o Netscape Navigator para usar o servidor LDAP como um servidor de
Acesso Mvel.
175
Captulo 4. LDAP
Reiniciar o servidor LDAP com as novas conguraes.
Alterando o Arquivo de Atributos
Adicione estes novos atributos na lista do arquivo /etc/openldap/slapd.at.conf:
attribute nsLIPtrURL ces
attribute nsLIPrefs ces
attribute nsLIProfileName cis
attribute nsLIData bin
attribute nsLIElementType cis
attribute nsLIServerType cis
attribute nsLIVersion bin
attribute nsServerPort cis
Alterando o Arquivo objectclass
Voc tambmdeve adicionar algumas classes novas para habilitar o Acesso Mvel.
Isto pode ser feito no arquivo /etc/openldap/slapd.oc.conf:
176
Captulo 4. LDAP
objectclass nsLIPtr
requires
objectclass
allows
nsLIPtrURL,
owner
objectclass nsLIProfile
requires
objectclass,
nsLIProfileName
allows
nsLIPrefs,
uid,
owner
objectclass nsLIProfileElement
requires
objectclass,
nsLIElementType
allows
owner,
177
Captulo 4. LDAP
nsLIData,
nsLIVersion
objectclass nsLIServer
requires
objectclass,
serverhostname
allows
description,
cn,
nsServerPort,
nsLIServerType,
serverroot
Personalizando o slapd.conf
O prximo passo editar o seu arquivo /etc/openldap/slapd.conf. A seguir apre-
sentaremos um exemplo deste arquivo que suporta Acesso Mvel. Modique e
adicione as seguintes linhas no arquivo padro:
suffix "o=top"
178
Captulo 4. LDAP
rootdn "cn=root, o=top"
lastmod on
access to dn=".*,ou=Roaming,o=top" by dnattr=owner write
access to attr=userpassword
by self write
by * none
Alterando o Arquivo LDIF
Agora voc tem de alterar o seu arquivo LDIF, adicionando entradas de perl
para cada usurio que ir utilizar a opo de Acesso Mvel do Netscape. Crie um
arquivo /etc/openldap/ldif e acrescente as seguintes linhas, como no exemplo:
dn: o=top
objectclass: top
dn: ou=People, o=top
objectclass: top
objectclass: organizationalUnit
179
Captulo 4. LDAP
dn: cn=meu-usuario, ou=People, o=top
objectclass: top
objectclass: person
userpassword: senha-do-usuario
dn: ou=Roaming, o=top
objectclass: top
objectclass: organizationalUnit
dn: nsLIProfileName=meu-usuario, ou=Roaming, o=top
objectclass: top
objectclass: nsLIProfile
owner: cn=meu-usuario, ou=People, o=top
Adicione esta nova entrada no diretrio com o comando ldapadd:
# ldapadd -D "cn=root, o=top" -w minha-senha -f ldif
Reinicializando o Servidor LDAP
Para as alteraes entrarem em vigor, ser necessrio reinicializar o servidor
180
Captulo 4. LDAP
LDAP. Para isto, como superusurio execute:
# /etc/rc.d/init.d/ldap restart
Desligando ldap: [ OK ]
Iniciando ldap: [ OK ]
Congurando o Netscape
Para congurar o Netscape e habilitar o Acesso Mvel atravs do seu servidor
LDAP, siga os seguintes passos:
Clicando em EditarPreferncias na categoria usurio, marque a opo Habilite
Acesso Mvel para este perl de usurio. Digite no campo Nome do Usurio o
login a ser usado no servidor LDAP; se desejar digitar a senha apenas uma vez (quando
o Netscape for reiniciado), marque a opo Lembre de Minha Senha de Acesso
Mvel.
Na subcategoria Informaes do Servidor, digite no campo Endereo:
url="ldap://localhost/nsLIProfileName=meu-usuario,ou=Roaming,o=top,c=br"
Em DN do Usurio digite o seguinte:
cn=meu-usuario,ou=People,o=top,c=br
181
Captulo 4. LDAP
Aps ter feito estas conguraes, feche o Netscape ArquivoSair (Alt-Q) e abra-
o novamente. Surgir uma janela pedindo a senha para o servidor de Acesso Mvel;
clicando no boto Opes voc ver uma janela equivalente a da Figura 4-7.
Figura 4-7. Informaes do Servidor
Esta janela contm o endereo do servidor e o DN do usurio que voc cong-
urou anteriormente. Verique se as informaes esto todas corretas.
Com isto voc poder utilizar o Netscape remotamente atravs do LDAP como
um servidor de Acesso Mvel, tendo disponvel os seus Marcadores, Cookies,
Filtros de Correio, Livro de Endereos e Preferncias do Usurio.
182
Captulo 5. DNS
Neste captulo apresentamos informaes sobre instalao, congurao e manuteno
de um servidor DNS (Domain Name System
1
) em uma mquina com Linux. Voc
aprender como criar um domnio e administrar as mquinas ligadas a ele. Ver-
emos como fazer com que estaes possam utilizar o servidor DNS para acessar
umas s outras atravs de seus respectivos nomes. Alm disso, voc aprender um
pouco sobre como o DNS consegue organizar um nmero absurdamente grande
de mquinas conectadas possibilitando que se enxerguem, umas s outras, em
uma rede.
Introduo e Conceitos
O DNS converte nomes de mquinas em endereos IP. Ele mapeia nomes para
IPs e IPs para nomes. Ele um banco de dados distribudo, permitindo, assim,
que uma seo seja gerenciada localmente e esteja, mesmo assim, disponvel para
todo o mundo.
Os servidores de nomes compema parte servidor do mecanismo cliente-servidor
do DNS. Os servidores de nomes contm informaes sobre uma parte do banco
de dados e as torna disponveis para os clientes ou resolvedores.
1. Sistema de nomes de domnio.
183
Captulo 5. DNS
A estrutura do banco de dados do DNS semelhante estrutura do sistema de
arquivos do Conectiva Linux, representada por uma rvore invertida. No sistema
de arquivos, tudo parte do diretrio raiz; no DNS tudo parte de um nulo (),
representado em texto como um ponto (.).
Cada ramo da rvore representa uma partio do banco de dados geral - um di-
retrio no sistema de arquivos do Conectiva Linux ou um domnio no DNS. Cada
domnio pode ser dividido em mais partes chamadas subdomnios.
Cada domnio tem um nome. Este nome dividido em duas partes. A primeira
identica sua relao ao domnio pai. A segunda parte o nome do domnio,
que identica sua posio no banco de dados. Por exemplo, podemos ver que em
kepler.minhaorganizacao.com.br, o nome de domnio minhaorganizacao.com.br e
o nome da mquina kepler.
Cada domnio pode ser administrado por uma organizao diferente. Estas orga-
nizaes podem quebrar estes domnios em subdomnios e delegar o controle dos
mesmos a outras organizaes, tornando, assim, a administrao extremamente
descentralizada.
A estrutura pode parecer um tanto complicada, mas muito mais simples do que
parece. Tudo um questo de partir de um domnio e ir descendo, at chegar a
uma mquina (ou host).
184
Captulo 5. DNS
Funcionamento do DNS
Espao de Nomes de Domnio
Como j foi mencionado anteriormente, o DNS funciona de forma anloga ao
sistema de arquivos do Conectiva Linux. Cada unidade de dados do banco dis-
tribudo do DNS indexada por um nome. Este nome , basicamente, uma rota
em uma rvore invertida, chamada de Espao de Nomes de Domnios. No topo
desta rvore est o domnio raiz. Como em um sistema de arquivos, cada ramo
da rvore de domnios pode ter um nmero qualquer de outros ramos.
Nomes de Domnio
Cada ramo da rvore de domnios identicado por um nome de, no mximo,
63 caracteres. Estes nomes no podem ser nulos, j que o nulo reservado ao
domnio raz da rvore.
Quando o domnio raiz aparece no nome de domnio de um ramo, o nome parece
terminar com um ponto, quando, na verdade, ele termina com um ponto e o
domnio raz, que representado por uma seqncia nula de caracteres. Assim,
alguns programas interpretam um ponto no nal de um nome de domnio como
signicando que o nome de domnio absoluto. Um nome de domnio abso-
185
Captulo 5. DNS
luto identica a localizao do ramo na hierarquia sem ambigidade. Nomes no
seguidos por pontos so chamados de nomes relativos, j que eles no especi-
cam sua localizao exata na rvore, podendo, assim, ser relativos a diversos
pontos da mesma.
O sistema de nomes de domnios requer que os ramos irmos (ou seja, os ramos
que partem diretamente de um ramo comum) tenham nomes nicos. Comparando
com o sistema de arquivos, da mesma forma como no se pode ter dois /usr/bin,
no se pode ter dois copernico.minhaorganizacao.com.br. Isso no chega a ser um
problema, j que os nomes s tm de ser nicos entre os ramos lhos, ou seja,
possvel existir dois ramos de mesmo nome desde que os mesmos no sejam
irmos.
Domnios
Um domnio nada mais do que uma subrvore do espao de nomes de domnio.
O nome de um domnio o nome do ramo que est no topo daquele domnio.
Por exemplo, o topo do domnio minhaorganizacao.com.br um ramo chamado
com.br, da mesma forma como voc esperaria encontrar o diretrio /usr no topo
de /usr/lib.
Cada subrvore considerada parte de um domnio. Assim como um nome de
domnio pode estar em diversas subrvores, um nome de domnio pode estar em
diversos domnios. Por exemplo, minhaorganizacao.com.br faz parte do domnio
com.br e tambm do domnio br.
186
Captulo 5. DNS
Como um domnio basicamente uma rvore de nomes de domnio, chega-
se a concluso de que as mquinas conectadas ao sistema tambm devem ser
domnios. Lembre-se de que os nomes de domnio so apenas ndices do banco
de dados do DNS; assim, as mquinas so os nomes de domnio que apontam
para informaes sobre mquinas individuais.
Os domnios localizados nas pontas dos ramos da rvore de domnios geralmente
representam mquinas individuais. Os nomes de domnios podem apontar para
um endereo de rede ou informaes de roteamento de correio eletrnico. Os
domnios internos podem apontar para uma mquina especca e podem apontar
para informaes estruturais sobre os subdomnios. Por exemplo, minhaorganiza-
cao.com.br pode ser o nome do domnio da Minha Organizao e ainda o nome
de domnio de uma mquina que encaminha correio eletrnico entre a Internet e
a empresa.
O Espao de Nomes de Domnios da Internet
OSistema de Nomes de Domnios no impe muitas regras aos nomes associados
aos domnios. Alm disso, nenhum signicado particular associado aos nomes
de um nvel particular. Quando voc cria um domnio, voc pode denir suas
prprias regras para os nomes.
O espao de nomes de domnios atual da Internet tem algumas regras para a sua
estruturao. Em especial, os domnios prximos raiz seguem certas tradies.
187
Captulo 5. DNS
Isso evita que os nomes de domnios paream desorganizados e sem sentido.
Domnios de Primeiro Nvel
Originalmente, a Internet foi dividida em 7 domnios de uma maneira a dividir a
Internet por tipo de organizao. Estes domnios foram chamados de Domnios
de Primeiro Nvel ou DPN. Os domnios originais so:
com: Organizaes comerciais
edu: Organizaes de ensino
gov: Organizaes governamentais
mil: Organizaes militares
net: Organizaes da rede
org: Organizaes internacionais
possvel notar que os domnios acima parecem ser especcos para organi-
zaes norte-americanas. Isso se deve ao fato de a Internet ter-se originado da
ARPANET, que era um projeto norte-americano. Na poca, no se podia prever
o sucesso da ARPANET e a conseqente criao da Internet. Para acomodar a
internacionalizao da Internet, foi feita uma alterao nos DPNs. Foram reser-
vados, alm dos sete domnios originais, domnios que designavam localizaes
geogrcas. Estes nomes de domnios seguem uma padronizao internacional
188
Captulo 5. DNS
chamada ISO 3166. Esta padronizao dene cdigos de duas letras para cada
pas do mundo (por exemplo, br para Brasil).
Embora os domnios originais devessem continuar a ser respeitados dentro de
cada umdos domnios internacionais, isto acabou no ocorrendo. Cada pas deniu
suas prprias regras para diviso. A maioria manteve a diviso por organizaes,
embora no necessariamente com os domnios originais. A Inglaterra, por exem-
plo, dene co.uk para instituies comerciais e ac.uk para instituies acadmi-
cas. J o Brasil manteve os domnios originais (por exemplo, com.br, net.br) e,
recentemente, criou domnios adicionais como eti.br, para especialistas em tec-
nologia da informao, psi.br para provedores de acesso, g12.br para instituies
de ensino de 1 e 2 graus, etc.. Voc pode obter mais informaes sobre outros
domnios na pgina da FAPESP http://registro.br/.
Delegao
Um dos requisitos para o sucessor do hosts.txt era a descentralizao da ad-
ministrao; isto foi conseguido atravs da delegao. A delegao de domnios
no diferente do processo de delegao em uma empresa: o trabalho vai sendo
mandado para o nvel mais abaixo.
Ora, umdomnio pode ser dividido emsubdomnios. Cada umdesses subdomnios
pode ser delegado a uma outra organizao e assim por diante. A organizao
delegada recebe a responsabilidade de manter os dados daquele subdomnio. O
responsvel pelo domnio no tem realmente informaes sobre as mquinas lig-
adas quele domnio, mas apenas informaes sobre os mantenedores dos sub-
189
Captulo 5. DNS
domnios.
Servidores de Nomes
Os programas que guardam as informaes sobre as mquinas conectadas so
chamados Servidores de Nomes. Estes servidores de nomes normalmente man-
tm informaes completas sobre um determinado espao de nomes de domnio,
chamado de zona. Um nico servidor de nomes pode ter autoridade sobre mlti-
plas zonas.
A diferena entre zona e domnio bastante sutil. Uma zona contm informaes
sobre os nomes de domnios e os dados que um domnio contm, com exceo
dos nomes de domnios delegados.
Porm, se um subdomnio de um domnio no foi delegado a ningum, a zona
contm os nomes de domnio e os dados daquele subdomnio, tambm. A difer-
ena entre zona e domnio ca mais clara na Figura 5-1.
190
Captulo 5. DNS
Figura 5-1. Zona vs. Domnio
Pode-se ver que o uso de zonas em vez de domnios evita que um domnio tenha
que ter mais informaes do que o necessrio, pois ele conteria informaes del-
egadas a outros servidores de nomes.
Note que, quando feita delegao, o servidor de nomes no tem informaes
sobre as mquinas de um subdomnio, de forma que, quando lhe requisitada
alguma informao sobre uma dessas mquinas, o servidor de nomes se resume
a responder com o endereo do servidor de nomes responsvel por aquele sub-
domnio, para que a mesma pesquisa seja passada para o mesmo.
Existem dois tipos de servidores de nomes: os primrios e os secundrios. Os
servidores de nomes primrios usam os dados tirados de arquivos localizados nas
mquinas em que os mesmos so executados. Um servidor secundrio utiliza seus
191
Captulo 5. DNS
dados de outro servidor da zona. Quando um servidor secundrio acionado, ele
busca informaes da zona de um servidor primrio.
Estes dois tipos foram criados para facilitar a tarefa de administrao. Aps criar
um servidor de nomes para a sua zona, no necessrio fazer tudo de novo para
cada novo servidor de nomes na mesma zona. Basta criar servidores secundrios
que utilizem informaes do seu servidor primrio.
Resolvedores
Os clientes que acessam um servidor de nomes so chamados Resolvedores. Os
programas sendo executados em uma mquina que precisam de informaes so-
bre o domnio utilizam o resolvedor. O resolvedor cuida de:
Consultar um servidor de nomes;
Interpretar as respostas (que tanto podem ser registro como erros);
Retornar a informao para os programas que a requisitaram.
Resoluo de Nomes
O processo pelo qual os servidores de nomes fornecem informaes sobre as
192
Captulo 5. DNS
zonas e domnios chamado de resoluo de nomes. J que o espao de nomes
estruturado como uma rvore invertida, o servidor de nomes s precisa de uma
parte da informao para encontrar seu caminho a qualquer ponto da rvore.
Cache
Uma das caractersticas que aceleram o processo de procura de uma mquina
chamada de caching.
Um servidor de nomes procurando uma mquina pode ter de enviar um nmero
considervel de pesquisas at encontr-la. Enquanto faz isso, ele recebe uma
grande quantidade de informaes sobre os outros servidores.
O servidor de nomes guarda esta informao para acelerar futuras pesquisas. Na
prxima vez em que o servidor de nomes tiver de pesquisar algo sobre isso, o
processo ser acelerado. Mesmo que ele no tenha a resposta em cache, ele pode
ter informaes sobre o servidor de nomes responsvel por sua zona.
Instalando e Congurando o DNS
193
Captulo 5. DNS
Instalando os Pacotes
1. Acesse o diretrio de pacotes do Conectiva Linux:
# cd /mnt/cdrom/conectiva/RPMS/ #
2. Instale o servidor de nomes BIND:
# rpm -ivh bind-8.*.rpm
bind ############################## #
Congurando o Servidor DNS
A congurao do seu servidor de DNS pode ser realizada com facilidade atravs
do Linuxconf, o utilitrio de conguraes do Conectiva Linux.
possvel congurar o servio de servidor de nome apenas atravs da edio
194
Captulo 5. DNS
manual de arquivos de congurao, mas este captulo se concentrar na con-
gurao que utiliza o Linuxconf.
Entre no Linuxconf e v, ento, para o menu Ambiente de RedeTarefas de
ServidorDNS. Voc ver a tela inicial de congurao como a Figura 5-2.
Figura 5-2. Tela de Congurao do Servidor DNS
A partir desta tela, voc pode congurar o seu servidor DNS inteiro sem a neces-
sidade de edio dos arquivos de congurao.
Para comear, necessria a congurao bsica do servidor, isto , nome do
domnio, endereo de correio eletrnico do administrador e mquina servidor.
Para realizar estas conguraes, pressione o boto domnios. Uma tela apare-
cer onde voc pode adicionar, editar ou excluir os domnios de DNS. Pressione
195
Captulo 5. DNS
Adicionar para que possamos adicionar um domnio. Uma tela semelhante
Figura 5-3 aparecer:
Figura 5-3. Adicionando um Domnio
Nesta tela, voc deve informar os dados referentes ao seu domnio.
Domnio: este o nome do domnio, no caso, estamos criando um domnio chamado de
minhaorganizacao. Vide a seo Domnios para mais informaes.
Servidor principal: este o nome da mquina onde o servidor de nomes estar sendo
executado. No caso de nosso exemplo, o domnio minhaorganizacao ser controlado pela
196
Captulo 5. DNS
mquina ns.minhaorganizacao.
Email do administrador: este o endereo de correio eletrnico do administrador de
sistema. Em caso de problemas, este administrador poder ser avisado. Note que usa-se
um ponto (.) no lugar de arroba (@) neste campo.
H, ainda, algumas outras conguraes que podem ser feitas nesta tela, mas que
no cobriremos neste livro. So elas:
Divulgando o DNS(NS): em uma congurao simples, basta o nome do servidor
principal. Alm disso, voc dever informar aqui quais sero os servidores secundrios
de seu domnio.
Divulgando o EMAIL(MX): aqui voc pode denir o servidor que encaminha as men-
sagens de correio eletrnico do seu domnio para a Internet.
IPs padro: aqui voc pode denir um ou mais endereos de IP de mquinas que sero
acessadas atravs do domnio. normal pesquisas em servidores de nome se referirem
apenas ao domnio, mas os domnios no possuem IPs, apenas mquinas os tm, assim,
denindo IPs padro; uma pesquisa ao domnio minhaorganizacao ir resultar naquele IP
padro.
Funcionalidades: aqui podem ser denidas algumas funcionalidades do domnio. Por
exemplo, pode-se denir de quanto em quanto tempo os servidores secundrios sero
atualizados.
Access control: voc pode denir algumas opes de segurana para seu servidor de
nomes.
Estas conguraes j so sucientes para que o servidor de nomes possa fun-
197
Captulo 5. DNS
cionar corretamente. Mas h muito mais conguraes que podemser feitas ainda
em seu servidor de DNS.
Congurando Mapas de IPs Reversos
Figura 5-4. Adicionando um Mapa de IP Reverso
A tarefa principal do servidor de nomes fazer o mapeamento entre nomes de
198
Captulo 5. DNS
mquinas e endereos IP. Ele realiza automaticamente a traduo de um nome de
mquina para um endereo IP. Porm, s vezes necessrio fazer a traduo de
um endereo IP para um nome. Isto feito atravs de mapas de IPs reversos.
A congurao de um mapa de IP reverso muito semelhante congurao
de um domnio, basta comparar a Figura 5-3 e a Figura 5-4 para vericar as
similaridades.
Congurando um Servidor Secundrio
Figura 5-5. Congurando um Servidor Secundrio
199
Captulo 5. DNS
A congurao de servidores secundrios bastante simples, basta especicar o
nome do domnio para o qual este servidor ser secundrio e informar o IP do
servidor primrio de onde este servidor buscar as informaes. Veja a seo
Servidores de Nomes para mais informaes sobre servidores primrios e se-
cundrios.
Forward Zones
Figura 5-6. Congurando Forwarders
Existem casos em que no interessante que o servidor de nomes envie uma
grande quantidade de pacotes para fora da rede local. Isto pode ocorrer por di-
versos motivos, como, por exemplo, no caso de empresas que se conectam com
200
Captulo 5. DNS
a matriz atravs de antenas. Seria ineciente que o servidor casse tentando lo-
calizar algo atravs do servidor da matriz. Para isso, pode-se criar servidores de
nomes que servem para criar um grande cache (veja a seo Cache). Estes servi-
dores so chamados de forwarders.
Por exemplo, se sua empresa tem um servidor 200.20.57.1 e deseja fazer um
cache dos servidores 200.20.57.12 e 200.20.57.13, ento voc poderia congurar
as zonas de forward conforme a Figura 5-6.
Para congurar um servidor de nomes como forwarder, no necessria qual-
quer congurao especial. Voc s precisa congurar os outros servidores de
nomes para encaminharem suas requisies para o forwarder. Desta forma, os
servidores tentam resolver nomes atravs do forwarder, que, por sua vez, tem
grandes possibilidades de j ter a resposta em seu cache, evitando, assim, que a
requisio tenha de sair da rede local.
Repetidores
Figura 5-7. Congurando Repetidores
Oseu servidor de nomes pode ter diculdades para resolver nomes fora do domnio
201
Captulo 5. DNS
por ele gerenciado. Isso pode acontecer se o DNS estiver atrs de um rewall e,
portanto, no pode ver a Internet, ou se o DNS estiver ligado a uma conexo lenta.
Isto pode ser resolvido criando-se repetidores. Os repetidores so servidores de
nomes que podem ser utilizados para resolver nomes externos em lugar do servi-
dor primrio.
Quando o servidor primrio no consegue resolver um nome, ele delega a tarefa
para o repetidor. Como o repetidor muito mais usado, ele tem muito mais infor-
maes guardadas, tendo uma chance muito maior de conseguir resolver nomes.
Para congurar um servidor de nomes como repetidor no necessria nenhuma
congurao especial. A congurao toda feita no servidor que utilizar o
repetidor.
Para fazer com que este servidor utilize um ou mais repetidores, voc deve in-
formar os endereos IP dos mesmos na tela mostrada na Figura 5-7. Note que a
ordem importante, pois o servidor tentar sempre enviar as requisies para
o primeiro, depois para o segundo e assim por diante. Assim, sempre coloque o
melhor primeiro para obter uma performance desejvel.
202
Captulo 5. DNS
Funcionalidades
Figura 5-8. Funcionalidades do Servidor
203
Captulo 5. DNS
Na tela de funcionalidades do servidor (Figura 5-8), voc pode fazer congu-
raes diversas para alterar o funcionamento de seu servidor.
Alocao de Faixas de IP
Um servidor de nomes geralmente gerencia uma grande quantidade de mquinas
associadas a endereos IP. Cada vez que uma nova mquina adicionada ao
domnio, um endereo IP tem de ser associado a ela e, por isso, o DNS tem
de saber muito sobre a organizao da rede para decidir qual endereo IP ser
associado nova mquina.
Para simplicar este processo, o Linuxconf lhe d a possibilidade de criar faixas
de endereos IP que podem ser identicadas de maneira a organizar a rede.
204
Captulo 5. DNS
Figura 5-9. Alocao de Faixas de Endereos IP
205
Captulo 5. DNS
Por exemplo, voc pode criar uma faixa de endereos a serem utilizados em
mquinas da matriz e faixas para mquinas das liais:
10.0.1.1-27
Matriz
10.0.2.1-15
Filial 1
10.0.3.1-21
Filial 2
Isto facilita e organiza o processo de deciso de qual IP ser designado a qual
mquina.
Para criar uma faixa de endereos IP, digite a faixa no campo Uma faixa de IP a
descrio (nome) no campo Identicao/descrio e pressione Aceitar. Voc
pode criar mltiplas faixas atravs do boto Adicionar.
206
Captulo 5. DNS
Inicializando o Servio
Para inicializar o servio de servidor de nomes em seu servidor, voc deve abrir
um terminal como superusurio e inicializar o named:
# cds
atd gpm keytable lpd nfs sendmail syslog
crond halt killall mars-nwe pcmcia single xfs
dhcpd httpd kudzu named network portma snmpd
ypbind functions inet linuxconf netfs random sshd
# ./named start Inicializando named: [ OK ]
Note que isso no far com que o named seja reinicializado junto com o servidor.
Para fazer isso, voc deve utilizar o comando ntsysv e marcar o servio named
para ser inicializado sempre que o servidor for reiniciado conforme a Figura 5-10.
Figura 5-10. Congurao do named Atravs do ntsysv
207
Captulo 5. DNS
Marcando o named para reinicializar junto com o servidor, sempre que o sistema
operacional entrar em ao, o servidor de nomes ser inicializado com ele.
Arquivos de Congurao do BIND
Como j foi mencionado anteriormente neste captulo, a congurao do BIND
pode ser feita sem o auxlio do Linuxconf atravs da edio de diversos arquivos
de congurao.
Embora este captulo tenha se dedicado a demonstrar a congurao do BIND
atravs do Linuxconf, algumas notas devem ser feitas em relao aos arquivos
de congurao por ele modicados. importante conhecer estes arquivos at
por uma questo de segurana. Perca ou danique estes arquivos e voc estar
automaticamente dizendo adeus ao seu domnio.
Assim sendo, lembre-se de manter cpias de segurana destes arquivos!
O Arquivo /etc/named.conf
O /etc/named.conf o primeiro arquivo que voc deve conhecer. Ele um ar-
208
Captulo 5. DNS
quivo novo no BIND, pois at o BIND 4 a congurao era feita pelo arquivo
/etc/named.boot, enquanto que o BIND 8 faz tudo no /etc/named.conf. O arquivo
/etc/named.conf do domnio minhaorganizacao.com.br se parece com isso:
// Configurao para o domnio minhaorganizacao.com.br
options { directory "/var/named"; };
zone "." { type hint; file "root.hints"; };
zone "0.0.127.in-addr.arpa" { type master; file "zone/127.0.0"; };
zone "minhaorganizacao.com.br" { type master; file
"zone/minhaorganizacao.com.br"; };
zone "177.6.206.in-addr.arpa" { type master; file "zone/206.6.177";
};
Note as duas ltimas sees deste arquivo. A primeira dene o domnio mestre
(este um domnio primrio). A segunda dene o IP reverso, que ser usado pelo
servidor de nomes para fazer o caminho inverso, ou seja, a resoluo de um nome
a partir de um endereo IP.
209
Captulo 5. DNS
O Arquivo /var/named/nome-do-dominio
Os domnios sobre os quais este servidor tem autoridade possuem um arquivo
no diretrio /var/named com o nome do prprio domnio. Em nosso exemplo,
portanto, este arquivo chama-se /var/named/minhaorganizacao. Nele esto as in-
formaes do domnio que foram conguradas na tela mostrada na Figura 5-11.
Figura 5-11. Adicionando um Domnio
O arquivo se parece com:
210
Captulo 5. DNS
@ IN SOA
ns.minhaorganizacao. hostmaster.ns.minhaorganizacao. (
2000051001 ; serial 3600 ; refresh 900 ; retry 1209600 ; expire
43200 ; default_ttl ) @ IN MX 5 mx.minhaorganizacao. @ IN NS
ns.minhaorganizacao. ns IN A 10.0.0.1
O Arquivo /var/named/named.local
O arquivo /var/named/named.local dene o domnio local da mquina. Ele um
arquivo padronizado, no sendo necessria a sua congurao. Basicamente, ele
uma verso de /var/named/nome-do-dominio adaptado para o domnio e a mquina
local (localdomain e localhost, respectivamente).
@ IN SOA localhost.
root.localhost. ( 1997022700 ; serial 28800 ; refresh 14400 ;
retry 3600000 ; expire 86400 ; default_ttl ) @ IN NS localhost.
1 IN PTR localhost.
211
Captulo 5. DNS
O Arquivo /var/named/named.ca
O arquivo /var/named/named.ca um arquivo fornecido pela InterNIC com infor-
maes necessrias para iniciar o cache do servidor de nomes. Este arquivo e deve
ser atualizado periodicamente, o que pode ser feito atravs de FTP no servidor
FTP ftp://ftp.rs.internic.net/ da InterNIC, no diretrio /domain
; This file holds the information on root name servers
needed to ; initialize cache of Internet domain name servers ;
(e.g. reference this file in the "cache . arquivo" ;
configuration file of BIND domain name servers). ; ; This file
is made available by InterNIC registration services ; under
anonymous FTP as ; file /domain/named.root ; on server
FTP.RS.INTERNIC.NET ; -OR- under Gopher at RS.INTERNIC.NET ;
under menu InterNIC Registration Services (NSI) ; submenu
InterNIC Registration Archives ; file named.root ; ; last
update: Aug 22, 1997 ; related version of root zone: 1997082200
; ; ; formerly NS.INTERNIC.NET ; . 3600000 IN NS
A.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4 ;
; formerly NS1.ISI.EDU ; . 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107 ; ; formerly
C.PSI.NET ; . 3600000 NS C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12 ; ; formerly
TERP.UMD.EDU ; . 3600000 NS D.ROOT-SERVERS.NET.
212
Captulo 5. DNS
D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90 ; ; formerly
NS.NASA.GOV ; . 3600000 NS E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10 ; ; formerly
NS.ISC.ORG ; . 3600000 NS F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241 ; ; formerly
NS.NIC.DDN.MIL ; . 3600000 NS G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4 ; ; formerly
AOS.ARL.ARMY.MIL ; . 3600000 NS H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53 ; ; formerly
NIC.NORDU.NET ; . 3600000 NS I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17 ; ; temporarily
housed at NSI (InterNIC) ; . 3600000 NS J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET. 3600000 A 198.41.0.10 ; ; housed in LINX,
operated by RIPE NCC ; . 3600000 NS K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129 ; ; temporarily
housed at ISI (IANA) ; . 3600000 NS L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12 ; ; housed in Japan,
operated by WIDE ; . 3600000 NS M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33 ; End of File
213
Captulo 5. DNS
Congurao dos Clientes
Congurao Atravs do Linuxconf
A congurao de mquinas clientes de DNS muito mais simples do que a
congurao do servidor. Aquela congurao envolve basicamente a edio do
arquivo /etc/resolv.conf ou pequenas conguraes no Linuxconf.
Novamente, vamos nos concentrar na congurao via Linuxconf por ser ela
muito mais robusta e menos propensa a erros.
Entre no Linuxconf e siga para Ambiente de RedeTarefas do ClienteDNS
para abrir a tela de especicao do servidor de nomes que pode ser vista na
Figura 5-12.
214
Captulo 5. DNS
Figura 5-12. Especicao do Servidor de Nomes
Nesta tela voc pode congurar as opes do servidor de nomes a ser utilizado
pela estao. So elas:
Uso do DNS: esta opo serve apenas para indicar ao Linuxconf se o mesmo deve, ou
no, preocupar-se com o DNS. Ela no altera o funcionamento da mquina.
Domnio Padro: o domnio padro o domnio mais utilizado. Normalmente o
domnio de sua empresa. Quando voc procura um nome sem domnio, o servidor de
nomes procura pelo nome no domnio padro.
215
Captulo 5. DNS
Servidor de Nomes: aqui voc pode denir at 3 endereos IPs de servidores de no-
mes. Lembre-se de que a ordem importante, portanto coloque sempre o melhor servidor
(o mais rpido) no topo.
Procurar domnio: voc pode denir vrios domnios nos quais um nome poder ser
encontrado. Quando um nome sem domnio no encontrado no domnio padro, o ser-
vidor de nomes comea a procurar nestes domnios. A ordem importante, mas no da
mesma forma como nos servidores de nomes. Aqui, voc no precisa colocar os servido-
res mais rpidos antes, mas sim, os servidores mais utilizados.
O Arquivo /etc/resolv.conf
A congurao via Linuxconf muito menos propensa a erros e muito mais in-
tuitiva do que a edio do arquivo resolv.conf. Mesmo assim, este arquivo
extremamente simples, contendo apenas informaes sobre o(s) servidor(es) a
ser(em) utilizado(s).
Geralmente, este arquivo ser bem pequeno e semelhante a este:
domain minhaorganizacao
search minhaorganizacao.com.br
nameserver 10.0.0.5
nameserver 10.0.0.7
216
Captulo 5. DNS
O que este arquivo est nos dizendo que esta estao est no domnio min-
haorganizacao, est utilizando os servidores 10.0.0.5 e 10.0.0.7 para a resoluo
de nomes e que o servidor deve procurar por nomes no domnio minhaorganiza-
cao.com.br se o mesmo no puder ser encontrado no domnio local.
Consideraes Finais
Este captulo deu uma pequena introduo do funcionamento, instalao e con-
gurao do BIND para que voc pudesse ter uma noo de um servidor de nomes.
Foi-lhe demonstrado, tambm, como congurar suas estaes para a utilizao de
servidores de nomes.
As conguraes apresentadas neste captulo so extremamente genricas, sendo
voltadas para a congurao de um servidor de nome simples.
217
Captulo 5. DNS
218
Captulo 6. Servidor Internet
Neste captulo falaremos sobre os servidores Internet. Vamos mostrar a voc
como congurar um servidor de pginas da web e um servidor FTP. Alm disso,
voc ver como montar um servidor proxy.
Falaremos primeiramente um pouco sobre os conceitos por trs da Internet. Voc
ter uma breve introduo aos protocolos utilizados na rede.
Servidor Web
Introduo e Conceitos
A web teve um crescimento muito grande desde o seu incio, na dcada de 90. A
web nada mais do que uma forma de se visualizar documentos em hipertexto.
O Hipertexto
O termo hipertexto foi criado em 1965 para diferenciar um texto normal e linear
de um texto no-linear. Um texto no-linear um texto que contm referncias
219
Captulo 6. Servidor Internet
a informaes extras. Por exemplo, um texto contendo a palavra Linux poderia
conter uma referncia a um artigo explicando o que o Linux.
O exemplo mais conhecido de hipertexto atualmente uma pgina da web. Voc
segue as referncias entre as pginas sem seguir um roteiro linear.
O Protocolo HTTP
Para que voc possa visualizar um documento de hipertexto na Internet, ne-
cessrio um protocolo para fazer a comunicao entre voc e o servidor. Este
protocolo o HTTP
1
. Uma sesso HTTP geralmente envolve poucos passos. Por
exemplo:
1. O cliente estabelece a conexo com o servidor (isso feito atravs de outros proto-
colos de rede, geralmente TCP/IP) e solicita um documento:
GET /index.html HTTP/1.0
Neste exemplo, o cliente est solicitando o arquivo /index.html que , normal-
mente, o arquivo padro. Veremos mais sobre isso posteriormente. O impor-
tante agora notar que estamos apenas enviando uma requisio ao servidor
HTTP.
1. HyperText Transfer Protocol
220
Captulo 6. Servidor Internet
2. Aps a requisio, o servidor responde. Esta resposta dividida em trs partes:
Um cdigo de retorno. A grande maioria das implementaes do HTTP retornam
este cdigo seguido de uma mensagem (geralmente OK ou uma descrio do erro,
se for o caso). Alm disso, retornado um texto identicando a verso do proto-
colo. Em nosso exemplo, esta linha :
HTTP/1.1 200 OK
signicando que o servidor est se comunicando atravs do HTTP 1.1 e a
operao (a requisio do arquivo) foi bem sucedida.
Um cabealho. Este cabealho contm diversas informaes sobre o arquivo sendo
enviado, como tamanho e informaes sobre o prprio servidor:
Date: Fri, 19 May 2000 20:53:51 GMT
Server: Apache/1.3.12 (Unix) (Conectiva/Linux) mod_ssl/2.6.0
OpenSSL/0.9.4
Last-Modified: Thu, 15 Apr 1999 16:38:13 GMT
ETag: "177c3-508-371615f5"
Accept-Ranges: bytes
Content-Length: 1288
Connection: close
Content-Type: text/html; charset=iso-8859-1
As informaes acima demonstramque estamos conectados a uma mquina
executando o Apache 1.3.12. Temos a data da ltima modicao do ar-
221
Captulo 6. Servidor Internet
quivo, seu tamanho e seu tipo. Estas informaes podem ser utilizadas pelo
programa cliente para decidir o que fazer com determinado arquivo.
O arquivo propriamente dito. Aps o cabealho, uma linha em branco enviada
pelo servidor, indicando que, a partir daquele ponto, tudo o que for mandado pelo
mesmo ser parte do arquivo requisitado. Um programa cliente pode controlar o
progresso da transmisso monitorando quanto j foi transmitido e comparando
esta informao com o tamanho informado no cabealho.
O Apache
OApache o servidor web mais popular do mundo. Uma pesquisa recente demon-
strou que o Apache mais utilizado do que todos os outros servidores disponveis
juntos.
A popularizao da web nos ltimos anos tem obrigado as empresas a disponibi-
lizarem contedo na mesma. Para isso, a utilizao do Apache imperativa para
qualquer empresa que deseja manter uma presena na rede.
Alm de permitir que voc disponibilize contedo na Internet, o Apache lhe per-
mite a publicao de informaes em sua Intranet, tornando-o realmente um pro-
duto indispensvel.
222
Captulo 6. Servidor Internet
Instalando o Apache
1. Acesse o CD da distribuio do Conectiva Linux:
# cd /mnt/cdrom/conectiva/RPMS
2. Instale o pacote do Apache:
# rpm -ivh apache-*
apache ########################################
apache-devel ########################################
apache-doc ########################################
Congurando o Apache
O Apache que acompanha a distribuio do Conectiva Linux j vem congurado
com as opes mais utilizadas, de forma que voc s precisa iniciar o servidor
para que seu Conectiva Linux seja um servidor web. Quando voc inicializa o
servidor web, voc pode acessar sua mquina via HTTP e visualizar a pgina
223
Captulo 6. Servidor Internet
padro como mostrada na Figura 6-1:
224
Captulo 6. Servidor Internet
Figura 6-1. Pgina Inicial doApache Conectiva Linux Vista no Netscape
225
Captulo 6. Servidor Internet
Para inicializar o servidor Apache, abra um terminal e digite:
# cds
atalk functions keytable lpd network
atd gpm killall mars-nwe nfs
autofs halt kudzu mysql nfslock
crond httpd ldap named pcmcia
dhcpd inet linuxconf-setup netfs portmap
# ./httpd start
Iniciando httpd: [ OK ]
#
A congurao do Apache depende muito do perl de servidor web desejado.
Nesta seo voc ver como congurar o Apache da maneira mais simples pos-
svel. Depois, voc saber um pouco sobre os mdulos mais populares do Apache
e como instal-los e congur-los.
Para congurar o Apache, voc deve acessar o Linuxconf e entrar em Ambiente
de redeTarefas de servidorApache - servidor www. Voc ver o menu
inicial da congurao do Apache como mostrada na Figura 6-2.
226
Captulo 6. Servidor Internet
Figura 6-2. Tela Incial de Congurao do Apache
Clique em Padres para alterar as opes bsicas de seu servidor WWW.
227
Captulo 6. Servidor Internet
Figura 6-3. Conguraes Bsicas do Apache
H um grande nmero de opes a serem conguradas nesta tela, mas nos atere-
mos s mais comuns:
Endereo de email do administrador: aqui voc poder informar o endereo de cor-
reio eletrnico do administrador do site.
228
Captulo 6. Servidor Internet
Domain IP address: neste campo voc poder informar um endereo IP padro para
o domnio. Este endereo IP , geralmente, o endereo IP do servidor www, e ser uti-
lizado quando algum tentar acessar a pgina atravs do nome do domnio ao invs do
nome da mquina. Por exemplo, imagine que o servidor Apache est sendo executado
na mquina kepler.minhaorganizacao, que tem o endereo IP 10.0.0.1. Se voc infor-
mar o mesmo endereo IP da mquina kepler (10.0.0.1) como Domain IP address,
quando algum tentar acessar o endereo minhaorganizacao (o domnio), ele ir, na ver-
dade, acessar kepler.minhaorganizacao (a mquina que realmente possui o endereo de
IP especicado).
Nome do servidor: voc poder informar o nome da mquina onde o Apache est
sendo executado. Em condies normais, este campo no necessrio, j que o Apache
capaz de descobrir o nome atravs do DNS ou do prprio arquivo hosts.
Diretrio raiz dos documentos: voc poder informar aqui o diretrio onde estaro
os arquivos do seu site. O diretrio padro o /home/httpd/html.
Diretrio alternativo de scripts: voc poder informar vrios apelidos para os di-
retrios de CGI. Isso quer dizer que voc vai denir um diretrio virtual e associ-lo
a um diretrio real. Por exemplo, voc pode denir que quando uma pgina zer um
referncia ao diretrio virtual /cgi-bin, ele estar, na realidade, acessando os arquivos
do diretrio /home/httpd/cgi-bin.
Uma das caractersticas mais utilizadas no Apache a sua capacidade de lidar
com mquinas virtuais
2
. Uma mquina virtual , na verdade, um pequeno truque
2. No Apache, este conceito chamado de VirtualHost
229
Captulo 6. Servidor Internet
envolvendo o Apache e o servio de nomes do servidor (DNS ou o arquivo hosts).
Basicamente, uma mquina virtual umapelido para a mquina real. Este apelido
deve ter um IP prprio. Com isso, pode-se fazer com que apenas um servidor
Apache sirva diversos sites separadamente.
Em nosso exemplo, assumimos que nossa mquina chama-se kepler. Agora va-
mos supor que queiramos disponibilizar informaes de suporte tcnico atravs
de outro nome de mquina, por exemplo suporte.minhaorganizacao. O contedo
deste outro site dever estar localizado na mesma mquina kepler.
Primeiramente, voc deve estabelecer um apelido de IP para a mquina kepler.
Para fazer isso, voc deve pressionar o boto Apelidos de IP para mquinas
virtuais no menu Ambiente de Rede do Linuxconf. A Figura 6-4 mostra a tela
de conguraes dos apelidos de IP. Note que voc deve escolher a interface de
rede a ser utilizada. Esta deve ser a interface utilizada para acessar a mquina.
Figura 6-4. Apelidos de IP
Basta informar o novo endereo de IP para a mquina. No exemplo da Figura
6-4, denimos que a mquina kepler (o nosso servidor) responder ao endereo
IP 10.0.1.1 alm do seu endereo de IP real.
230
Captulo 6. Servidor Internet
Note, porm que, antes de continuarmos, voc deve congurar o seu servio de
nomes para que este associe o nome suporte a este endereo IP. No faz parte
do escopo deste captulo o processo de atualizao do DNS, verique a docu-
mentao disponvel sobre servidores de nomes para aprender como fazer esta
congurao.
Agora voc pode voltar tela de congurao do Apache no Linuxconf e pres-
sionar Mquinas Virtuais seguido de Adicionar. Na tela da Figura 6-5, voc
poder denir as opes de sua mquina virtual.
Figura 6-5. Mquina Virtual do Apache
Note que as opes disponveis so semelhantes s utilizadas na congurao dos
padres do Apache. Mas vamos ver o signicado dos valores denidos em nosso
exemplo:
Nome da mquina virtual: aqui denimos que nossa mquina virtual se chamar su-
porte. Novamente, lembre-se de que o seu DNS deve estar congurado para reconhecer
este nome e mape-lo para o apelido de IP que escolhemos.
Endereo email do administrador: aqui apenas denimos que o endereo de correio
231
Captulo 6. Servidor Internet
eletrnico do administrador root@minhaorganizacao.
Domain IP address: especicamos o endereo do nosso domnio. Este endereo ser
utilizado quando for feita uma tentativa de acesso mquina atravs do nome do
domnio sem o nome da mquina.
Nome do servidor: este o nome da mquina servidor.
Diretrio raz dos documentos: este o diretrio onde ns iremos colocar os arquivos
da mquina suporte. Assim, todas as pginas e guras do suporte tcnico estaro no
diretrio /home/httpd/suporte/html.
Registros de erro: quando algum erro ocorrer durante uma tentativa de acesso s pgi-
nas de suporte, o Apache salvar informaes sobre o mesmo neste arquivo.
Registros de transferncia: este arquivo contm um registro dos acessos mquina
virtual suporte. Estas informaes podem ser utilizadas para a obteno de informaes
de segurana.
Nomes alternativos de script: aqui voc pode denir diretrios dos scripts CGI a
serem utilizados pela mquina suporte. Note que possvel utilizar o mesmo diretrio
para todas as mquinas, sejam elas virtuais ou reais.
232
Captulo 6. Servidor Internet
Servidor FTP
Nesta seo trataremos do servidor FTP. No Conectiva Linux o WU-FTPD
quem realiza os servios de FTP. Assim, esta seo ir ser voltada ao WU-FTPD.
O WU-FTPD
FTP um acrnimo para File Transfer Protocol ou Protocolo de Transferncia
de Arquivos. O protocolo FTP permite a transferncias de arquivos binrios e
arquivos texto com alta ecincia atravs de uma rede.
Instalao e Congurao
1. Para instalar o WU_FTPD, acesse o diretrio de pacotes do CD da distribuio de
seu Conectiva Linux:
# cd /mnt/cdrom/conectiva/RPMS
233
Captulo 6. Servidor Internet
2. Instale o pacote do WU_FTP:
# rpm -ivh wu-ftpd-*
wu-ftpd ######################################
3. Certique-se que a linha abaixo esteja presente no arquivo /etc/inetd.conf e que ela
no esteja comentada:
ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a
4. Se voc houver feito alteraes ao arquivo /etc/inetd.conf, voc deve reiniciar o
inetd:
# cds
atd gpm keytable lpd nfs sendmail syslog
crond halt killall mars-nwe pcmcia single xfs
dhcpd httpd kudzu netfs portmap snmpd ypbind
functions inet linuxconf-setup network random sshd
234
Captulo 6. Servidor Internet
# ./inet stop
Interrompendo os servios INET: [ OK ]
# ./inet start
Iniciando os servios INET: [ OK ]
Com o servidor FTP devidamente instalado, voc pode acessar o Linuxconf para
iniciar o processo de congurao.
No Linuxconf, v para Ambiente de Rede Tarefas de Servidor Wu-ftp
- servidor de ftp para abrir a tela inicial de congurao do servidor FTP. Esta
tela mostrada na Figura 6-6.
235
Captulo 6. Servidor Internet
Figura 6-6. Tela Inicial de Congurao do WU-FTPD
236
Captulo 6. Servidor Internet
Clique emCongurao bsicaDiversos para abrir a tela mostrada na Figura
6-7.
Figura 6-7. Conguraes Bsicas do Servidor FTP
Estas so as opes mais bsicas do servidor FTP. Com elas, voc poder denir
o comportamento geral de seu servidor.
Email do administrador: endereo de correio eletrnico do administrador do sistema.
Grupo de convidados: aqui voc pode informar o grupo do Linux ao qual o usurio
anonymous pertencer. Voc ter mais informaes sobre acesso annimo ao servidor
na seo Acessos Annimos. Se este campo no for preenchido, o grupo nobody ser
utilizado.
Arquivo de banner: o contedo do arquivo de banner ser mostrado aos usurios no
momento em que os mesmos acessarem com sucesso o seu servidor.
Mensagem de encerramento: se o arquivo informado existir, sempre que um usurio
tentar acessar o servidor, seu contedo ser mostrado e o servidor ir fechar a conexo.
O arquivo bastante til sempre que voc quiser interromper o servio de FTP tempo-
rariamente.
237
Captulo 6. Servidor Internet
Permitir acesso annimo: aqui voc pode permitir ou proibir os acessos annimos.
Mais sobre o assunto na seo Acessos Annimos.
Agora pressione Controle nesta mesma tela para acessar as opes de controle
de acesso do servidor FTP. A tela mostrada na Figura 6-8.
Figura 6-8. Conguraes de Controle de Acessos
Existem, na realidade, trs telas de congurao de controle de acesso:
Usurios reais: controle de acesso dos usurios reais do seu sistema. Esses so os
usurios que tm contas em sua rede.
Usurios convidados: controle de acesso a usurios convidados.
Annimos: controle de acesso de usurios que se conectam anonimamente.
As trs telas so absolutamente idnticas umas s outras. As opes disponveis
so:
pode requisitar arquivos comprimidos: dene se o usurio pode requisitar que seus
arquivos sejam compactados. O WU-FTPDpermite a compactao de arquivos durante
238
Captulo 6. Servidor Internet
a transmisso.
pode requisitar arquivos tar: especica se o usurio tem permisso de solicitar o
arquivamento de arquivos transmitidos com o tar.
pode usar chmod para arquivos:especica se o usurio pode modicar as permisses
de arquivos localizados no servidor FTP.
pode excluir arquivos: dene se o usurio tem permisso de apagar arquivos localiza-
dos no servidor FTP.
pode atualizar arquivos: dene se o usurio pode sobrescrever arquivos no servidor.
pode renomear arquivos: especica se o usurio pode modicar o nome dos arquivos
localizados no servidor.
registrar transferncias recebidas: especica se o servidor deve manter um registro
de arquivos recebidos.
registrar transferncias expedidas: especica se o servidor deve manter um registro
de arquivos enviados.
Acessos Annimos
Pode ser permitido ao usurio acessar seu servidor de maneira annima. Isso
239
Captulo 6. Servidor Internet
muito til no caso de voc desejar disponibilizar arquivos a pessoas de fora de sua
organizao. Como essas pessoas no possuem contas de usurio em seu sistema,
a nica forma de acessar seus arquivos atravs do acesso annimo.
Para permitir o acesso annimo ao seu servidor:
1. Acesse o diretrio de pacotes do CD do Conectiva Linux:
# cd /mnt/cdrom/conectiva/RPMS
2. Instale o pacote de acesso annimo:
# rpm -ivh anonftp-*
anonftp ##############################################
A partir desse momento, para acessar o servidor FTP anonimamente, o usurio
dever fornecer o nome de usurio anonymous e seu endereo de correio eletrnico
como senha.
$ ftp localhost
Conectado na mquina localhost.
220 einstein.minhaorganizacao FTP server
(Version wu-2.6.0(1) Fri May 12 11:05:03 BRST 2000) ready.
240
Captulo 6. Servidor Internet
Usurio (localhost:albert): anonymous
331 Guest login ok, send your complete e-mail address as password.
Senha:
230 Guest login ok, access restrictions apply.
O tipo do sistema remoto UNIX.
Usando modo binary para transmitir/receber arquivos.
ftp>
Note que no exemplo acima, a senha no mostrada, mas o usurio teve de digitar
seu endereo de e-mail para poder ter acesso ao servidor. O usurio anonymous
no precisa (nem deve) ser cadastrado em seu Conectiva Linux, j que ele um
usurio especial para o servidor FTP. Quando feita uma tentativa de acesso com
o usurio anonymous, o servidor automaticamente trata o acesso como annimo,
aceitando o endereo de correio eletrnico como senha.
Permitindo Envio de Arquivos
Normalmente, voc no precisar (e provavelmente nemdesejar) que os usurios
possamgravar arquivos emseu servidor FTP. Porm, emalguns casos, pode haver
interesse em disponibilizar-se uma rea para que os usurios possam guardar ar-
quivos.
Tornou-se um costume fazer com que os usurios tenham um local especco nos
241
Captulo 6. Servidor Internet
servidores de FTP para gravarem arquivos. Esse local o diretrio /incoming.
Permitir que usurios gravem em seu servidor FTP um grande risco e, por isso,
deve-se pensar muito bem antes de faz-lo.
Um dos maiores problemas com isso que voc no tem um grande controle so-
bre aquilo que gravado em seu servidor. Voc no pode facilmente impedir que
usurios guardem material ilegal em seu servidor.
Recomendamos, portanto, que voc no permita o acesso de escrita em seu servi-
dor. Caso voc no tenha escolha, voc deve ter algum responsvel por monitorar
os arquivos guardados emseu servidor para evitar arquivos que possamtrazer prob-
lemas no futuro.
Para criar o /incoming:
1. Acesse o diretrio raiz do FTP:
# cd /home/ftp
2. Crie o diretrio incoming
# mkdir incoming
242
Captulo 6. Servidor Internet
3. Agora voc deve fazer com que o diretrio criado seja de propriedade de um usurio
e grupo diferente de root e de ftp. Voc pode criar um usurio e grupo especcos
para isto se desejar, mas utilizaremos nobody.nobody em nosso exemplo.
# chown nobody incoming
# chgrp nobody incoming
# chmod 3773 incoming
4. Agora voc deve editar o arquivo /etc/ftpaccess para permitir a escrita ao diretrio
/incoming. Note que, se voc houver criado um usurio e grupo para ser dono do
diretrio, voc dever informar isso na linha abaixo no lugar de nobody.
upload /home/ftp /incoming yes nobody nobody 0400 dirs
O formato desta linha :
upload HOME DIR GRAVA USUARIO GRUPO PERMS DIRS
Onde:
HOME: diretrio home do usurio. Em nosso exemplo, informamos /home/ftp.
Isso quer dizer que esta linha se aplica a qualquer usurio cujo diretrio home seja
/home/ftp.
243
Captulo 6. Servidor Internet
DIR: diretrio ao qual se refere a linha. Esse diretrio relativo raiz do diretrio
do FTP. Em nosso exemplo, informamos que esta linha se aplica ao diretrio /in-
coming.
GRAVA: aqui voc informa se ou no permitida a gravao no diretrio ao
qual a linha se refere. Os valores permitidos so YES ou NO. Em nosso exemplo,
estamos permitindo a escrita.
USUARIO: o nome do usurio a quem todos os arquivos gravados no diretrio
pertencero. Em nosso exemplo esse usurio nobody.
GRUPO: o grupo a quem todos os arquivos gravados no diretrio pertencero.
Em nosso exemplo esse grupo nobody.
PERMS: aps gravados, os arquivos tero as permisses trocadas para estas. Em
nosso exemplo denimos que os arquivos gravados neste diretrio passariam a
ter permisso 0400, ou seja, apenas para leitura do dono (no caso, o usurio no-
body.nobody). Recomendamos estas permisses, j que elas no permitem que
usurios utilizem o seu servidor para troca de arquivos ilegais. Isso assegura que
algum ter de vericar o arquivo e trocar suas permisses antes que algum possa
acess-lo via FTP.
DIRS: especica se o usurio annimo pode criar diretrios dentro do diretrio
/incoming. Em nosso exemplo o usurio pode criar. Os valores possveis so dirs e
nodirs.
244
Captulo 6. Servidor Internet
Arquivos de Mensagens e Banners
Se voc j acessou algum servidor FTP, ento j deve ter notado que comum
aparecer mensagens informativas quando se conecta ou quando se muda de di-
retrio. Estas mensagens so muito teis para informar o usurio das possibili-
dades e regras a serem seguidas no servidor.
Arquivo de Banner
Quando voc congura o WU-FTPD no Linuxconf, h uma opo chamada Ar-
quivo de banner.
Voc pode informar um arquivo cujo contedo ser mostrado ao usurio antes da
conexo em si. Ele til para uma breve mensagem de boas-vindas ao servidor.
Pode-se fazer uma breve explicao sobre o servidor e os direitos de acesso ao
mesmo.
Lembre-se que o arquivo de banner apresentado ao usurio antes do login. Assim,
evite dar muita informao sobre o servidor atravs deste arquivo.
245
Captulo 6. Servidor Internet
O Arquivo .message
Um dos arquivos mais comuns e mais teis em um servidor FTP o arquivo
.message. Quando o servidor encontra este arquivo em um diretrio, ele mostra
seu contedo para o usurio antes de mostrar o contedo do diretrio em si.
Voc pode utilizar este arquivo para dar breves explicaes sobre os propsitos
dos diretrios sendo acessados. Alm disso, voc poderia ajudar o usurio a en-
contrar o que ele est procurando.
Por exemplo, digamos que um usurio queira acessar o seu servidor para en-
contrar uma atualizao para um programa. O usurio, porm, no tem muita
experincia com servidores FTP e no sabe ao certo como encontrar aquilo de
que ele precisa. Assim, voc poderia criar arquivos .message para guiar o usurio.
Quando o usurio acessa o diretrio /pub do servidor FTP, por exemplo, voc
poderia explicar-lhe o que est disponvel ali. Um exemplo de como a mensagem
mostrada para o usurio est na Figura 6-9.
Figura 6-9. Diretrio com .message Visto no Netscape
246
Captulo 6. Servidor Internet
Servidor Proxy
Nesta seo iremos tratar da implementao de um servidor proxy em um Conec-
tiva Linux.
O software servidor proxy que acompanha o Conectiva Linux o Squid, e nele
que esta documentao se centralizar.
Caching
Quando voc acessa uma pgina da web ou um arquivo de FTP, uma requisio
parte de sua mquina at o servidor; s ento os dados so transmitidos para a sua
mquina. Como muitas vezes a distncia entre o servidor e a sua mquina muito
grande e a qualidade das linhas de transmisso muito irregulares, este processo
acaba por tornar-se bastante lento.
Alm disso, a maioria dos dados requisitados esttica; eles no mudam com o
tempo. Os logotipos que as empresas colocam em suas pginas, por exemplo, no
tendem a mudar. Entretanto, eles so, muitas vezes, bastante grandes. Isso um
enorme desperdcio de recursos da rede, alm de tempo.
Uma soluo encontrada foi o chamado caching. Sempre que feita uma requi-
sio de algum objeto da Internet, o servidor proxy consulta o cache para veri-
car se este objeto j no foi requisitado previamente. Se ele foi, ento o servidor
proxy pode responder requisio utilizando sua prpria cpia local do objeto.
Isso acelera signicativamente as operaes na Internet, j que grande parte dos
objetos acaba trafegando apenas localmente.
247
Captulo 6. Servidor Internet
O servidor proxy verica se a sua cpia atualizada com o objeto original. Caso
no for, o proxy atualiza sua cpia. Naturalmente, umservidor de cache no pode-
ria guardar todos os objetos acessados para sempre, pois isso iria rapidamente
satur-lo. A soluo simples: o servidor mantm apenas os arquivos utilizados
a menos tempo. Isso garante, de uma forma indireta, que os objetos mais freqen-
temente utilizados sempre estejam no cache.
O Squid
O Squid o servidor proxy do Conectiva Linux. Ele oferece alta performance de
cache para servidores web.
O Squid oferece grandes vantagens em comparao com outros servidores proxy:
ele realiza, alm do cache de objetos como arquivos de FTP e pginas da web, um
cache de procuras de DNS. Isso quer dizer que ele guarda informaes sobre o mapea-
mento entre endereos IP e nomes de mquinas da Internet. Isso acelera a procura de
mquinas;
ele mantm os objetos mais utilizados na memria RAM (cujo uso pode ser limitado
pela congurao);
ele suporta SSL (acesso a pginas criptografadas) para segurana em transaes;
pode ser organizado em hierarquias de servidores de cache para uma melhora signi-
248
Captulo 6. Servidor Internet
cativa de performance;
responde s requisies em um nico processo de acesso a disco.
Todo o servidor proxy Squid consiste de um programa principal (Squid) e de
seu prprio programa de resoluo de nomes (dnsserver). Quando o Squid
inicializado, ele cria o processo do dnsserver, diminuindo o tempo de espera pela
resposta do DNS.
Instalao e Congurao
Para instalar o Squid:
1. Acesse o diretrio de pacotes do CD do Conectiva Linux:
# cd /mnt/cdrom/conectiva/RPMS
2. Instale o pacote do Squid:
rpm -ivh squid-*
249
Captulo 6. Servidor Internet
squid ##################################################
3. Inicialize o programa:
# cds
atd gpm killall named pcmcia single
autofs halt kudzu netfs portmap smb
crond httpd linuxconf-setup network postgresql snmpd
dhcpd inet lpd nfs random squid
functions keytable mars-nwe nfslock sendmail sshd
[root@gnu init.d]# ./squid start
creating directories at /var/spool/squid, wait... [ OK ]
Iniciando squid [ OK ]
Para realizar conguraes no Squid necessrio editar o seu arquivo de con-
gurao que est localizado em /etc/squid/squid.conf.
250
Captulo 6. Servidor Internet
Memria para Cache
O Squid armazena os objetos mais utilizados na memria RAM. Isso faz com que
a performance seja muito melhor do que se os objetos fossem armazenados em
disco.
A quantidade de memria a ser utilizada para cache do Squid pode (e deve) ser
limitada, de forma a no interferir com outros processos no sistemas. O padro
8MB.
Note que este limite de memria refere-se memria usada para cache, e no a
memria total utilizada pelo Squid. Na realidade, a memria utilizada pelo Squid
dever car em torno de trs vezes este valor.
Para especicar a quantidade de memria mxima a ser utilizada para cache, voc
deve utilizar o parmetro cache_mem no arquivo /etc/squid/squid.conf:
cache_mem MEM
Onde MEM a quantidade de memria mxima a ser utilizada para cache.
Exemplo:
cache_mem 32 MB
Este exemplo especica que o Squid dever limitar a 32MB a quantidade de
memria utilizada para cache.
251
Captulo 6. Servidor Internet
Arquivos de Cache
Os objetos guardados pelo Squid so guardados em arquivos no disco rgido.
Voc pode especicar algumas opes para denir como o Squid trabalhar com
arquivos.
cache_dir TIPO NOMEDIR MB N1 N2
Onde:
TIPO: voc deve especicar o tipo do sistema de armazenamento que o Squid dever
utilizar. Normalmente, voc deve utilizar ufs. Voc pode tentar utilizar asyncufs para
obter melhor performance. Se, por acaso, o asyncufs no funcionar corretamente em
seu sistema, volte a usar o ufs.
NOMEDIR: especique o diretrio onde os arquivos sero gravados. Note que este
diretrio no ser criado automaticamente pelo Squid.
MB: voc pode modicar o espao mximo a ser utilizado para cache neste diretrio.
O valor padro 100 MB.
N1: voc pode especicar o nmero mximo de diretrio de primeiro nvel que sero
criados dentro do diretrio de cache. O padro 16.
N2: nmero mximo de diretrios de segundo nvel que sero criados dentro de cada
diretrio de primeiro nvel. O valor padro 256.
252
Captulo 6. Servidor Internet
Exemplo:
cache_dir ufs /var/spool/squid 100 16 256
Este exemplo dene que o diretrio de cache ser o /var/spool/squid, que ele
poder ter at 100MB, 16 diretrios de primeiro nvel e 256 diretrios de segundo
nvel dentro de cada diretrio de primeiro nvel.
Controle de Acesso
Por razes de segurana, a congurao padro do Squid do Conectiva Linux
bastante conservadora; ela nega acesso a qualquer mquina.
Voc deve alterar este comportamento para poder utilizar o Squid. Deve, portanto,
estabelecer regras de acesso ao servidor proxy. As regras tm o formato:
http_access PERM QUEM
Onde:
PERM: indica se a linha uma permisso ou uma proibio de acesso. Os valores
permitidos so: allow, para permitir e deny, para negar acesso.
QUEM: a quem se refere esta permisso. Pode ser uma mquina ou um domnio ou
uma classe. Pode-se ainda usar ALL para indicar que a permisso denida na linha se
253
Captulo 6. Servidor Internet
refere a todas as mquinas.
Exemplo:
http_access allow all
Este exemplo permite que todas as mquinas da rede possam utilizar este servidor
proxy.
Note que, como mencionado anteriormente, o Squid pr-congurado para no
permitir acesso de nenhum usurio ou mquina. Assim, voc deve procurar a linha
do arquivo /etc/squid/squid.conf parecida com:
http_acces DENY all
E remov-la ou edit-la no arquivo.
254
Captulo 7. Correio Eletrnico
Introduo
Correio eletrnico
1
sempre foi uma das aplicaes chaves na Internet. consider-
ado garantido por quem usa Internet e utilizado para trafegar informao crucial
de maneira rpida, eciente e segura, aliado, por exemplo, a algum mecanismo de
encriptao e/ou autenticao, como o gnupg http://www.gnupg.org. Este cap-
tulo explica em mais detalhes como ocorrem trocas de mensagens eletrnicas,
quais os protocolos e ferramentas utilizados e como congur-los para as tarefas
mais usuais.
1. electronic mail ou e-mail
255
Captulo 7. Correio Eletrnico
A Teoria
Como Funciona a Troca de Mensagens Eletrnicas
Para melhor compreenso dos conceitos abordados mais adiante, til ter uma
idia global do que ocorre durante a transferncia de uma mensagem eletrnica
entre dois pontos (na prtica, duas mquinas, ou ainda dois usurios). Digamos
que Joo, que possui o usurio joao, queira mandar uma mensagem para seu
irmo Francisco (francisco). No importa se Joo e Francisco esto se comu-
nicando em uma intranet (rede interna) ou pela Internet, o processo anlogo.
Vamos assumir ainda que a mquina de Joo se chame capivara e o servidor de
e-mails de Francisco, saci. Joo compe a mensagem em seu cliente de e-mail,
chamado de Agente de Mensagens do Usurio
2
preferido, ou simplesmente digita
algo como
$ echo "Almoo na casa da me." | \ >
mail -s Francisco! francisco@saci
A mensagem entregue ao MTA
3
da mquina capivara. O MTA o responsvel
2. MUA ou Mail User Agent
3. Mail Transport Agent.
256
Captulo 7. Correio Eletrnico
pela entrega de mensagens na caixa postal correta, se est na mquina de destino,
ou pelo encaminhamento delas sua mquina de destino, se est na mquina de
origem. Assim, o MTA da mquina capivara determina que tem de entregar a
mensagem ao usurio, na mquina saci. Ele se conecta porta 25 (normalmente)
usando o protocolo SMTP (Simple Mail Transfer Protocol) que entrega a men-
sagem. O MTA da mquina saci, responsvel pelo SMTP, recebe a mensagem e
a deixa na caixa postal de Francisco (por exemplo, /var/spool/mail/francisco).
Se Francisco estiver vericando os e-mails em casa, pode usar o protocolo POP
(Post Ofce Protocol) ou IMAP (Internet Message Access Protocol ) para receber
a mensagem. Se tudo correr bem, Francisco recebe a mensagem poucos segundos
aps Joo t-la enviado e pode tomar as providncias necessrias para se proteger.
Os Protocolos Envolvidos na Troca de Mensagens
SMTP
SMTP o protocolo responsvel pelo envio de mensagens da mquina de origem
(no exemplo acima, capivara) at a mquina de destino (saci). Os MTAs das
duas mquinas e de alguma outra que possa estar no meio do caminho realizado
pela mensagem (se Francisco tiver um redirecionamento de e-mail, por exemplo,
haver mais mquinas envolvidas) so responsveis pelo trfego da mensagem
257
Captulo 7. Correio Eletrnico
at a caixa postal de Francisco em saci. O Sendmail, por exemplo, um MTA e
ser explicado em detalhe mais adiante.
Uma vez estabelecida a conexo, o MTA normalmente exibe uma mensagem de
apresentao, basicamente dizendo que ele o responsvel pelo SMTP naquela
mquina. O MUA (ou o administrador de sistemas que fez telnet para a porta 25
de sua mquina a m de testar o que est lendo) deve ento comear a comuni-
cao enviando o comando HELO:
HELO capivara
O MTA normalmente responde com uma mensagem simptica como Muito
prazer em conhec-lo. Em seguida, o MUA diz quem o remetente da men-
sagem a ser transmitida:
MAIL FROM: joao@capivara
Se tudo correr bem, o MTA aceita o remetente (250 joao@capivara... Sender
ok). Em seguida, informa-se o destinatrio:
RCPT TO: francisco@saci
Novamente, o servidor deve conrmar que aceitou enviar mensagem para o en-
dereo especicado (250 francisco@saci... Recipient ok). A mensagem pode
ser recusada, por exemplo, por alguma proteo contra SPAM. Mas, se tudo cor-
rer bem, s resta a mensagem em si:
258
Captulo 7. Correio Eletrnico
DATA
A partir da, o que for digitado ser colocado na mensagem, at que se digite uma
linha contendo somente um ponto (.). Note que nesse ponto que se denem
os cabealhos. Assim, a mensagem do exemplo poderia ser escrita como:
DATA
354 Enter mail, end with a "." on a line by itself
To: Francisco Pirana <francisco@saci>
From: Joo Pirana <joao@capivara>
Subject: Francisco!
Almoo na casa da me.
Abraos do seu irmo,
Joo
O servidor imprime na tela uma linha informando que a mensagem foi aceita e
colocada na la de processamento. Para se enviar a mensagem para mais de um
endereo, execute o comando RCPT TO: para cada destinatrio. Quem aparece
no campo From:, quem aparece no campo Cc: e quem no aparece (ou seja, que
est no campo Bcc: da mensagem) denido tambm dentro do comando DATA.
Supondo que as linhas RCPT TO: relevantes j tenham sido denidas:
259
Captulo 7. Correio Eletrnico
MAIL FROM: joao@capivara
250 joao@capivara... Sender ok
RCPT TO: francisco@saci
250 francisco@saci... Recipient ok
RCPT TO: bruce@woolamalahoo.au
250 bruce@woolamalahoo.au... Recipient ok
RCPT TO: snorman@hedgehog.com
250 snorman@hedgehog.com... Recipient ok
DATA
354 Enter mail, end with a "." on a line by itself
To: Francisco Pirana <francisco@saci>
From: Joo Pirana <joao@capivara>
Cc: Departamento de Filosofia <bruce@woolamalahoo.au>
Subject: Francisco!
...
sempre bom lembrar que o que separa o cabealho do corpo da mensagem
uma linha em branco. Portanto, no deixe linhas em branco entre linhas do
cabealho.
Para nalizar a sesso, utiliza-se o comando QUIT.
Usando o SMTP, portanto, a mensagem transportada at a mquina de destino.
Se Francisco est lendo seus e-mails diretamente no servidor, no h outros proto-
260
Captulo 7. Correio Eletrnico
colos envolvidos. Se, porm, ele tem de baixar as mensagens para outra mquina,
necessrio outro protocolo para a recuperao das mensagens.
POP
O protocolo POP, inversamente ao SMTP, utilizado quando se deseja buscar
uma mensagem que est no servidor. O leitor atento deve ter notado que no
h autenticao no protocolo SMTP. Em princpio, qualquer um pode mandar
mensagens para qualquer um. Com recebimento de mensagens, obviamente,
diferente. O usurio, ao se conectar com o servidor POP (usualmente na porta
110) envia os comandos USER e PASS para assegurar que ele tem direito de ler
as mensagens naquele servidor:
USER francisco
+OK User name accepted, password please
PASS notlob
+OK Mailbox open, 5 messages
Se o servidor conrmar a autenticao, as mensagens na caixa postal podem ser
listadas. Note que a senha passada em texto puro e visvel (ao contrrio, por
exemplo, do que acontece no processo de login em uma mquina Linux). Por-
tanto, se resolver fazer um teste, certique-se de que no h ningum em volta,
ou sua senha pode ser comprometida. Alm disso, h sempre a possibilidade de
261
Captulo 7. Correio Eletrnico
que algum tenha colocado um sniffer
4
. Dependendo da importncia das infor-
maes que esto sendo transmitidas e recebidas e de quo paranico se deseja
ser, aconselhvel transmitir as mensagens usando criptograa ou mesmo optar
por outro protocolo que oferea mais segurana.
Uma vez autenticado, o servidor POP abre a caixa postal do usurio e lhe diz
quantas mensagens esto disponveis. O usurio pode ento list-las e saber seu
tamanho com o comando LIST. Com isso, o servidor POP assinala seqencial-
mente um nmero a cada mensagem na caixa postal, e cada mensagem refer-
enciada por esse nmero. Por exemplo, para ver o contedo de uma mensagem,
usa-se:
RETR <nmero da mensagem segundo a sada do comando LIST>
comum apagarem-se as mensagens do servidor POP aps baix-las para uma
mquina local. Ou, uma caixa postal pode estar travada devido a uma mensagem
de tamanho desproporcional, por exemplo. O comando para se apagar uma men-
sagem :
DELE <nmero da mensagem segundo a sada do comando LIST>
Assim como no SMTP, encerra-se uma sesso com um QUIT, ou seja, uma
4. Programa que ca observando o trfego na rede e pode pegar dados que sejam transmitidos em
formato texto em sua rede.
262
Captulo 7. Correio Eletrnico
sesso padro usando-se o POP seria algo como:
$ telnet saci 110
Trying 200.192.38.238...
Connected to saci.
Escape character is ^].
+OK POP3 saci v7.60 server ready
USER francisco
+OK User name accepted, password please
PASS notlob
+OK Mailbox open, 5 messages
RETR 5
+OK 380 octets
Return-Path: <joao@capivara>
Received: (from joao@capivara)
by capivara (8.9.3/8.9.3) id NAA10331
for francisco; Fri, 19 May 2000 13:53:05 -0300
Date: Fri, 19 May 2000 13:53:05 -0300
From: Joo Pirana <joao@capivara>
Message-Id: <200005191653.NAA10331@capivara>
To: Francisco Pirana <francisco@saci>
Subject: Francisco!
Status:
263
Captulo 7. Correio Eletrnico
Almoo na casa da me.
Abraos do seu irmo,
Joo
.
DELE 5
+OK Message deleted
QUIT
+OK Sayonara
Connection closed by foreign host.
$
IMAP
O POP relativamente antigo e bastante conhecido. Um protocolo mais novo,
o IMAP, tem chamado ateno. O grande diferencial do IMAP em relao ao
POP a possibilidade de manipulao das mensagens no prprio servidor. Voc
pode criar pastas e organizar suas mensagens nelas, fazer buscas nas mensagens,
264
Captulo 7. Correio Eletrnico
ver somente os cabealhos etc.. Se todas essas funcionalidades so quase padro
em qualquer cliente de e-mail, certamente no o so em um servidor! Essa car-
acterstica especialmente atraente quando se acessa a mesma conta de correio
eletrnico a partir de mais de uma mquina.
Todo comando de IMAP deve ser precedido por um identicador chamado tag,
normalmente algo como A0001 (mas no necessariamente). Mensagens de re-
sposta do servidor so precedidas pelo identicador do comando em questo, e
o comando BAD (no caso de erro como, por exemplo, no especicar todos os
parmetros para um determinado comando), NO (no caso de uma falha leg-
tima, como senha incorreta) ou OK (no caso de sucesso). O servidor pode tam-
bm enviar mensagens que no sejam respostas a um comando do cliente, como
por exemplo aviso de que h novas mensagens. Essas mensagens no solicitadas
podem tambm ser foradas com o comando NOOP. Esse comando no faz ab-
solutamente nada. A resposta pode ser um simples OK. Mas, se h algo de novo
com a caixa postal aberta no momento, ou simplesmente algo que o servidor
queira lhe dizer, a oportunidade aproveitada (uma resposta seria enviada ao
cliente de qualquer forma).
O protocolo IMAP trabalha com estados. Existem 4 estados: assim que o usurio
acessa o servidor, seu estado no autenticado. Logo aps a autenticao, como
o leitor deve ter inferido, seu estado chamado autenticado. Quando uma caixa
postal foi selecionada e aberta, o estado chamado selecionado, e, nalmente,
h o estado de logout, quando o usurio sai do sistema (por requisio prpria ou
por imposio do servidor). Os comandos disponveis variam em cada estado.
Em estado no autenticado, os comandos vlidos so: NOOP; CAPABILITY,
que lista as funcionalidades que o servidor implementa; AUTHENTICATE, que
indica para o servidor o mecanismo de autenticao que se deseja utilizar, se im-
265
Captulo 7. Correio Eletrnico
plementado; LOGIN, que justamente inicia o estado autenticado, e LOGOUT,
que naliza a conexo com o servidor. Os dois primeiros e o ltimo, na verdade,
podem ser usados em qualquer estado.
Assim que se acessa um servidor IMAP (usualmente na porta 143 do servidor),
como no POP, o primeiro passo normalmente a autenticao. O comando usado
o LOGIN, com nome de usurio e senha como parmetros:
$ telnet saci 143
Trying 200.192.38.238...
Connected to saci.
Escape character is ^].
* OK saci IMAP4rev1 v12.252 server ready
A0001 LOGIN "francisco" "bolton"
A0001 NO LOGIN failed
A0002 LOGIN "francisco" "notlob"
A0002 OK LOGIN completed
Note que os parmetros esto entre aspas duplas (). Alm disso, esse exemplo
j mostra uma mensagem de erro, como explicado acima: a sintaxe do comando
LOGIN na primeira tentativa estava correta, mas a senha no.
No estado autenticado, os comandos permitidos (alm dos trs citados no par-
grafo anterior) so:
266
Captulo 7. Correio Eletrnico
APPEND
CREATE
DELETE
EXAMINE
LIST
LSUB
RENAME
SELECT
STATUS
SUBSCRIBE
UNSUBSCRIBE
Todos lidam com caixas postais.
As caixas postais disponveis podem ser mostradas com o comando LIST. Esse
comando tem dois argumentos, um caminho inicial a partir do qual procura as
caixas postais e um nome de caixa postal que pode conter metacaracteres. Por
exemplo:
267
Captulo 7. Correio Eletrnico
A0016 LIST "mail" *
* LIST (\NoSelect) "/" mail
* LIST (\NoInferiors) "/" mail/joao
A0016 OK LIST completed
Nesse caso, foram listados todos os arquivos do diretrio mail. interessante no-
tar que, se um caminho absoluto (comeando com /) no for indicado, assume-
se que o primeiro argumento deve ser considerado a partir de um caminho padro,
onde podemestar caixas postais do usurio no sistema (nesse caso, /home/francisco),
ou seja, o comando:
A0017 LIST "" *
listaria todos os arquivos no diretrio home do usurio autenticado. Os arquivos
ou diretrio para os quais o usurio no tem permisso de leitura simplesmente
no so listados para que esse comando no gere falhas de segurana.
Um comando mais comedido o LSUB. Ele lista somente arquivos ou diretrios
previamente cadastrados como caixas postais (ou diretrios contendo caixas postais).
Cadastramento e descadastramento de caixas postais so feitos comos comandos:
SUBSCRIBE <caixa postal ou diretrio>
UNSUBSCRIBE <caixa postal ou diretrio>
Assim, por exemplo:
268
Captulo 7. Correio Eletrnico
A002 SUBSCRIBE mail
A002 OK SUBSCRIBE completed
A003 LSUB "" *
* LSUB () "/" mail
A003 OK LSUB completed
Com o comando LIST, como j foi visto acima, o resultado seriam todos os ar-
quivos no diretrio do usurio. Coma combinao SUBSCRIBE/UNSUBSCRIBE
+ LSUB, s os diretrios relevantes so mostrados. Isso til para se denirem,
por exemplo, os diretrios que contm pastas que podem posteriormente ser aces-
sadas. Alm disso, o cadastramento permanece entre sesses do IMAP (na ver-
dade, permanece at que seja feito um descadastramento explcito).
Uma vez determinado o diretrio que dever conter as pastas de mensagens,
pode-se efetivamente criar novas pastas. Para isso, usa-se o comando CREATE:
CREATE <nome da pasta>
Analogamente, o comando DELETE apaga a pasta especicada e o comando
RENAME a renomeia. importante lembrar que o nome da pasta deve ser rela-
tivo, no caso, /home/francisco, ou seja, o diretrio padro a partir do qual podem
ser criadas pastas. Por exemplo:
A0002 CREATE "mail/joao"
A0002 OK CREATE completed
A0003 RENAME "mail/joao" "mail/snorman"
269
Captulo 7. Correio Eletrnico
A0003 OK RENAME completed
A0004 DELETE "mail/joao"
A0004 NO DELETE failed: Cant delete mailbox mail/joao: no such mailbox
A0005 DELETE "mail/snorman"
A0005 OK DELETE completed
Para mais informaes sobre uma pasta emespecco, pode-se utilizar o comando
STATUS:
STATUS <nome da pasta> <lista de itens>
A lista de itens deve vir entre parnteses e, dentro deles, os itens devem vir sep-
arados por espao. Eles so: MESSAGES, que indica o nmero de mensagens na
caixa postal ou pasta; RECENT, que mostra quantas dentre as anteriores so re-
centes; UNSEEN, que exibe o nmero de mensagens no lidas; UIDNEXT, que
faz com que cada mensagem receba um identicador, ou uid do servidor (UID-
NEXT o uid que ser assinalado prxima mensagem que chegar quela pasta)
e UIDVALIDITY que um identicador da pasta ou caixa postal. Seguindo
nosso exemplo:
A0002 STATUS INBOX (MESSAGES RECENT UNSEEN)
* STATUS INBOX (MESSAGES 3 RECENT 0 UNSEEN 3)
A0002 OK STATUS completed
O ltimo comando antes de passarmos ao estado selecionado mexe diretamente
270
Captulo 7. Correio Eletrnico
no contedo de uma caixa postal: o comando APPEND recebe como parmetro
uma mensagem para ser includa na caixa postal especicada.
Quando nalmente se decide qual caixa postal deve ser acessada, pode-se faz-lo
com os comandos SELECT e EXAMINE. Ambos tm a mesma funcionalidade,
exceto que, usando-se o EXAMINE a pasta em questo ser aberta somente para
leitura. Nenhuma mudana ser permitida, incluindo-se marcar mensagens como
lidas, por exemplo. Como a sintaxe de ambos os comandos e as mensagens de
resposta so idnticas, somente o SELECT ser explicado. O mesmo vale para o
EXAMINE. A sintaxe do comando SELECT :
SELECT <nome da pasta ou caixa postal>
Ovalor INBOX indica o valor da caixa postal padro naquele sistema, para aquele
usurio. Normalmente, /var/spool/mail/<nome do usurio> ou, no nosso exem-
plo, /var/spool/mail/francisco:
A0002 SELECT INBOX
* 3 EXISTS
* NO Mailbox vulnerable - directory /var/spool/mail must have 1777 protection
* 1 RECENT
* OK [UIDVALIDITY 958755028] UID validity status
* OK [UIDNEXT 14] Predicted next UID
* FLAGS (\Answered \Flagged \Deleted \Draft \Seen)
* OK [PERMANENTFLAGS (\* \Answered \Flagged \Deleted \Draft \Seen)]
Permanent flags
271
Captulo 7. Correio Eletrnico
* OK [UNSEEN 1] first unseen message in /var/spool/mail/francisco
A0002 OK [READ-WRITE] SELECT completed
Quando pedimos para que o servidor selecionasse a pasta INBOX, sua ao
foi abrir o arquivo /var/spool/mail/francisco e nos retornar uma srie de infor-
maes. Trs so particularmente interessantes neste momento:
* 3 EXISTS: Isso indica que h 3 mensagens na caixa postal /var/spool/mail/francisco
* 1 RECENT: Mostra quantas mensagens recentes h dentre as existentes.
A0002 OK [READ-WRITE] SELECT completed: Se o comando utilizado tivesse
sido o EXAMINE, essa linha seria: A0002 OK [READ-ONLY] SELECT completed
A linha:
* NO Mailbox vulnerable - directory /var/spool/mail must
have 1777 protection
ser comentada mais adiante, quando for tratada a congurao do servidor IMAP.
No estado selecionado, alm de todos os comandos explicados nos estados cita-
dos anteriormente, esto disponveis:
CHECK
CLOSE
272
Captulo 7. Correio Eletrnico
COPY
EXPUNGE
FETCH
SEARCH
STORE
UID
O comando CLOSE simplesmente fecha a pasta que estava selecionada, e o
usurio volta ao estado autenticado. Para ter acesso a alguma caixa postal no-
vamente, o usurio tem novamente de utilizar o SELECT ou o EXAMINE.
O comando CHECK , basicamente, um pedido de que as pendncias relativas
quela caixa postal sejam resolvidas. Por exemplo, escrita em disco de alguma
mudana que tenha sido executada somente na memria do servidor. Se alguma
mudana ocorrer no servidor (como por exemplo, uma nova mensagem), isso
pode ser avisado, mas o servidor pode tambm simplesmente responder que o
comando foi executado com sucesso.
O comando EXPUNGE apaga denitivamente da caixa postal quaisquer men-
sagens que tenham sido marcadas como apagadas. Essas mensagens no podem
mais ser recuperadas, portanto use o comando com cuidado.
Em caixas postais grandes, comum que se queira determinar quais mensagens
satisfazem determinado critrio. Por exemplo, pode-se querer saber quais as men-
273
Captulo 7. Correio Eletrnico
sagens enviadas por uma determinada pessoa, ou em um determinado dia. O co-
mando SEARCH faz uma busca (sem distino entre maisculas e minsculas)
por uma grande variedade de chaves, como, por exemplo, s mensagens apa-
gadas, mensagens maiores do que um certo tamanho, mensagens no respondi-
das, entre outras:
A0003 SEARCH SUBJECT "francisco"
* SEARCH 2 4
A0003 OK SEARCH completed
A0004 SEARCH FROM joao TEXT "porco-espinho"
* SEARCH 4
A0004 OK SEARCH completed
A0005 SEARCH FROM "Spiny Norman"
* SEARCH
A0005 OK SEARCH completed
Quando nalmente for hora de baixar as mensagens, usa-se o comando FETCH.
Esse comando pede dois argumentos, uma lista de mensagens a serem baixadas
e as partes das mensagens que devem ser baixadas. Isso quer dizer que voc
pode primeiro pegar os ttulos
5
das mensagens e s baixar completamente as que
interessam, ou, combinando SEARCH e FETCH, ver a data de envio de todas
as mensagens de um determinado remetente.
5. subjects
274
Captulo 7. Correio Eletrnico
Assim como no POP, todas as mensagens em uma determinada caixa postal
so numeradas seqencialmente. O primeiro argumento para o FETCH indica
os nmeros das mensagens a serem visualizadas. Essa lista pode ser simples-
mente um nmero (s a mensagem naquela posio vai ser visualizada), uma
srie de nmeros separados por vrgulas (sem espao) ou um intervalo, na forma:
<primeiro nmero>:<ltimo nmero>.
H muitas formas de se informar qual parte da mensagem querermos visualizar,
mas uma forma bsica :
BODY[<;seo>]
onde <seo> pode ser, por exemplo, TEXT, HEADER ou ainda pode ser
utilizada a opo HEADER.FIELDS:
A0003 FETCH 2:4 BODY[HEADER.FIELDS (Subject)]
* 2 FETCH (BODY[HEADER.FIELDS ("SUBJECT")] {22}
Subject: Francisco!
)
* 3 FETCH (BODY[HEADER.FIELDS ("SUBJECT")] {43}
Subject: My hovercraft is full of eels!
)
* 4 FETCH (BODY[HEADER.FIELDS ("SUBJECT")] {22}
275
Captulo 7. Correio Eletrnico
Subject: Francisco!
)
A0003 OK FETCH completed
A0004 FETCH 1,3 BODY[HEADER]
* 1 FETCH (BODY[HEADER] {310}
[Cabealho da primeira mensagem]
* 3 FETCH (BODY[HEADER] {351}
[Cabealho da terceira mensagem]
A0004 OK FETCH completed
A0005 FETCH 2 (BODY[HEADER.FIELDS (Subject)] BODY[TEXT])
* 2 FETCH (BODY[HEADER.FIELDS ("SUBJECT")] {22}
Subject: Francisco!
BODY[TEXT] {38}
Almoo na casa da me.
Abraos do seu irmo,
Joo
)
A0005 OK FETCH completed
276
Captulo 7. Correio Eletrnico
Para se movimentar mensagens entre pastas, pode-se usar o comando COPY:
COPY <mensagens> <pasta>
Por exemplo:
A0003 CREATE "mail/snorman"
A0003 OK CREATE completed
A0004 COPY 2:4 "mail/snorman"
A0004 OK COPY completed
A0005 STATUS INBOX (MESSAGES)
* STATUS INBOX (MESSAGES 5)
A0005 OK STATUS completed
A0006 STATUS "mail/snorman" (MESSAGES)
* STATUS mail/snorman (MESSAGES 3)
A0006 OK STATUS completed
Quando se precisa alterar os atributos de uma mensagem (o caso mais comum
marc-la como apagada, mas pode-se marc-la como no lida, por exemplo),
usa-se o comando STORE. Esse comando recebe como argumentos uma lista de
nmeros de mensagens (no mesmo formato do comando FETCH) sobre as quais
deve agir. Esta opo diz se preciso especicar exatamente os atributos da men-
277
Captulo 7. Correio Eletrnico
sagem (FLAGS), quais atributos devem ser somados aos j existentes (+FLAGS)
e quais atributos devem ser subtrados (-FLAGS). Os possveis atributos so:
\Answered: mensagem respondida.
\Deleted: mensagem marcada para ser apagada, ver o comando EXPUNGE.
\Draft: mensagem cuja composio cou interminada.
\Flagged: mensagem simplesmente marcada, normalmente para chamar aten-
o posteriormente.
\Seen: mensagem j lida.
:
H um atributo, \Recent (mensagem nova na caixa postal), que no pode ser
alterado, porque intrnseco a um determinado instante na sesso de um usurio
autenticado no servidor IMAP.
A0003 STATUS INBOX (MESSAGES)
* STATUS INBOX (MESSAGES 4)
A0003 OK STATUS completed
A0004 STORE 1 +FLAGS (\Deleted)
* 1 FETCH (FLAGS (\Seen \Deleted))
A0004 OK STORE completed
278
Captulo 7. Correio Eletrnico
A0005 EXPUNGE
* 1 EXPUNGE
* 3 EXISTS
* 0 RECENT
A0005 OK Expunged 1 messages
A0006 STATUS INBOX (MESSAGES)
* STATUS INBOX (MESSAGES 3)
A0006 OK STATUS completed
Os comandos COPY, FETCH, STORE e SEARCH recebem argumentos es-
pecicando sobre quais mensagens eles devem agir. Nos exemplos, foi utilizado o
nmero seqencial que cada mensagemrecebe ao entrar na caixa postal, mas cada
mensagem recebe tambm um identicador nico (no necessariamente seqen-
cial). As mensagens podem ser referenciadas de acordo com esse identicador
pelo comando UID, que leva como parmetros um dos comandos acima e seus
argumentos, com os nmeros das mensagens substitudos pelos identicadores.
Finalmente, quando no houver mais nada a ser feito emsua caixa postal, encerra-
se a conexo:
A0002 LOGOUT
* BYE saci IMAP4rev1 server terminating connection
A0013 OK LOGOUT completed
Connection closed by foreign host.
[francisco ~]$
279
Captulo 7. Correio Eletrnico
A Prtica
Congurao do POP e do IMAP
H vrios servidores de POP e IMAP pela Internet. Entre eles, destacam-se o
Qpopper, o GNU pop3d (servidores POP) e o WU-IMAPd (que, apesar do nome,
tem um servidor IMAP e um POP). Este ltimo, desenvolvido na Universidade
de Washington, o pacote que implementa ambos os protocolos em uma congu-
rao padro do Conectiva Linux. A congurao dos servios no traz grandes
diculdades: deve-se instalar o pacote imap, descomentar as linhas relevantes em
/etc/inetd.conf:
pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d
imap stream tcp nowait root /usr/sbin/tcpd imapd
Em seguida, deve-se reiniciar o inetd:
# /etc/rc.d/init.d/inet restart
E, nalmente, certicar-se de que os servios (ou o servio escolhido) estejam
habilitados em /etc/services:
pop-3 110/tcp # POP version 3
pop-3 110/udp
imap2 143/tcp imap # Interim Mail Access Proto v2
280
Captulo 7. Correio Eletrnico
imap2 143/udp imap
Congurao do SMTP
Como j foi citado, o SMTP implementado por um MTA. A implementao do
protocolo SMTP bem mais crtica do que a do POP e do IMAP, pois se esses
ltimos falharem, as mensagens cam esperando no servidor at que o usurio
possa receb-las de alguma forma. Se o SMTP falhar, mensagens podem ser per-
didas no caminho entre um servidor e outro. Dentre os MTAs disponveis, alguns
dos mais comumente usados so Qmail, Postx e o Sendmail (o padro utilizado
no Conectiva Linux).
O Sendmail talvez o MTA mais conhecido de todos. Parte dessa fama se deve a
falhas de segurana que, no passado, permitiam at acesso mquina como supe-
rusurio
6
. Esses problemas em razo de o software ser muito complexo. Quem j
mexeu com o arquivo de congurao do Sendmail (sendmail.cf) sabe o que isso
signica. Hoje em dia, porm, seu desenvolvimento ativo; um mtodo de con-
gurao mais amigvel foi desenvolvido e o Sendmail continua a ser um padro
como MTA.
Dois mtodos de congurao do sendmail sero discutidos: atravs do Linux-
conf (o congurador grco utilizado no Conectiva Linux) e o m4 (o mtodo
mais amigvel citado).
6. root
281
Captulo 7. Correio Eletrnico
O m4 no um mtodo de congurao em si, mas um processador de macros.
Ele permite que voc use uma sintaxe mais amigvel ao invs de ter de entender
o rebuscado arquivo de congurao do Sendmail. Um arquivo de congurao
pode ser gerado a partir de uma srie de regras usando-se o m4. Assumindo-se
que o arquivo com as regras em m4 seja /usr/lib/sendmail-cf/cf/arquivo.mc e se
deseje criar um arquivo chamado sendmail.cf:
# cd /usr/lib/sendmail-cf/cf
# /usr/bin/m4 ../m4/cf.m4 arquivo.mc > sendmail.cf
No Linuxconf, as conguraes do Sendmail esto dentro do menu Ambiente
de Rede, sob o nome Sendmail - sistema de envio de e-mails.
Um arquivo em m4 utilizado para se gerar um sendmail.cf mnimo, porm fun-
cional, seria algo como:
divert(-1)
include(../m4/cf.m4)
OSTYPE(linux)
FEATURE(redirect)
FEATURE(always_add_domain)
FEATURE(use_cw_file)
FEATURE(local_procmail)
MAILER(procmail)
MAILER(smtp)
282
Captulo 7. Correio Eletrnico
FEATURE(access_db)
FEATURE(relay_hosts_only)
Linhas comeando com # so consideradas comentrios, tanto no arquivo m4
quanto no arquivo nal de congurao. Comentrios feitos no arquivo m4 so
repassados para o sendmail.cf, a no ser que estejam no comeo do arquivo e sob
a diretiva
divert(-1)
A diretiva
divert(0)
reverte para o funcionamento normal.
283
Captulo 7. Correio Eletrnico
284
Captulo 8. Segurana no Servidor
Segurana um tpico bastante abrangente, que poderia render um livro inteiro.
Justamente por isto, o propsito deste captulo no ser um guia absoluto de
segurana, mas mostrar como aumentar a segurana de seu Conectiva Linux.
Viso Geral sobre Segurana
Atualmente, conectar redes locais Internet algo bastante comum e, embora
isto possa trazer vantagens, tambm pode trazer vrios problemas. Infelizmente,
fazer parte da Internet signica estar exposto a uma grande variedade de ameaas,
o que obriga todo e qualquer administrador a preocupar-se com a segurana de
seus sistemas. Enquanto redes existem para facilitar o acesso a computadores,
procedimentos de segurana existem para controlar este acesso.
O primeiro conceito relacionado a segurana : no existe sistema completa-
mente seguro. O que possvel fazer dicultar a invaso em sua mquina. O
trabalho necessrio para proteger o seu sistema depender basicamente do que
voc tem para proteger e o quo importante proteger este sistema.
Note que, de um modo geral, quanto mais seguro voc tornar o seu sistema, mais
285
Captulo 8. Segurana no Servidor
complexa ser sua utilizao, pois existiro vrias restries de uso. impre-
scindvel usar o bom senso na hora de aplicar as medidas de segurana, para
evitar que a cura seja pior que a doena.
Antes de tomar qualquer atitude relacionada a aumentar a segurana de seu sis-
tema, voc deve saber o que est sendo protegido, por que e quanto vale esta
informao. Alm disso, necessrio vericar a que tipo de ameaas seu sis-
tema est exposto. A RFC 1244, intitulada Site Security Handbook, por Holbrook
Reynold e outros, identica trs tipos distintos de ameaas de segurana geral-
mente associadas conectividade em rede:
Acesso no autorizado:
Acesso ao sistema por uma pessoa no autorizada.
Revelao de informaes:
Qualquer problema relacionado ao acesso a informaes valiosas ou condenciais
por pessoas que no deveriam acess-las.
Negao de Servio:
Tambm conhecido como Denial of Service - DoS - qualquer problema que torne
impossvel ou bastante difcil continuar utilizando o sistema de maneira produtiva.
Dependendo do sistema em questo, estas ameaas podem ser mais ou menos
importantes. Por exemplo, para um rgo governamental ou empresa da rea de
286
Captulo 8. Segurana no Servidor
tecnologia, acessos no autorizados podem desacredit-los perante o pblico e/ou
clientes. J para a grande maioria das empresas, acesso no autorizado no um
grande problema, se no envolver uma das ameaas: revelao de informaes e
negao de servio.
A extenso do problema em casos de revelao de informao varia de acordo
com a informao que pode ser comprometida. Embora seja fato notrio que in-
formaes sigilosas jamais devam permanecer armazenadas em mquinas conec-
tadas Internet, em alguns casos certos tipos de informao, como informaes
pessoais de clientes e/ou nmeros de cartes de crdito, podem ser necessrias
em aplicaes de comrcio eletrnico, por exemplo. Neste tipo de caso, o cuidado
deve ser redobrado.
A negao de servio pode causar grandes prejuzos a empresas que conectam
sistemas de misso crtica a Internet. Na verdade, as vantagens devem ser muito
bem avaliadas antes de conectar este tipo de sistema Internet, pois, dependendo
do caso, esta conexo pode parar uma empresa por inteiro. Geralmente servidores
menores so conectados Internet, possivelmente acessando informaes de um
servidor principal atravs de um modo mais seguro.
Obviamente que, se a necessidade justamente prestar um servio na Internet, to-
dos estes riscos existiro. Para diminu-los, preciso tomar algumas precaues,
como desabilitar os servios desnecessrios, utilizar controle de acesso atravs de
ferramentas como o tcp_wrappers, instalar e congurar um rewall entre sua rede
local e redes externas (geralmente entre sua rede local e a Internet). tambm
importante analisar constantemente os logs e a integridade de arquivos impor-
tantes do sistema. O Conectiva Linux conta com as ferramentas necessrias para
ajud-lo na tarefa de tornar seu sistema mais seguro.
287
Captulo 8. Segurana no Servidor
Finalizando esta introduo, manter um sistema seguro envolve vrios proced-
imentos, sendo que o mais importante manter uma monitorao constante do
sistema, para notar qualquer anormalidade antes que ela se torne um problema
grave.
Desabilitando Servios Desnecessrios
Os servios normalmente habilitados no seu Conectiva Linux dependem do perl
utilizado na instalao do sistema. Portanto, aps instalar o sistema, voc deve
vericar quais deles realmente precisam estar habilitados. Existem, basicamente,
dois tipos de servios: aqueles que rodam no modo standalone e aqueles que
rodam atravs do inetd.
Servios Standalone
Servios que rodam no modo standalone so geralmente executados durante a
inicializao do sistema, atravs dos chamados scripts de inicializao. OApache,
o Sendmail e o Samba so exemplos de servios que costumam ser executados
durante o boot do sistema.
Uma das ferramentas que podem ser utilizadas para congurar os servios a
288
Captulo 8. Segurana no Servidor
serem executados o ntsysv. Verique se o mesmo est instalado com o comando
a seguir:
# rpm -q ntsysv
Caso a resposta para este comando seja pacote ntsysv no est instalado, voc
deve instal-lo a partir do CD 1 do Conectiva Linux. Com o CD montado em
/mnt/cdrom, execute o comando a seguir, como superusurio, para instalar o pro-
grama:
# rpm -ivh /mnt/cdrom/conectiva/RPMS/ntsysv*
Com o programa instalado, como superusurio, execute-o, digitando o comando:
# ntsysv
A Figura 8-1 ilustra a tela do programa ntsysv. Atravs desta tela voc pode (e
deve) desabilitar todos os servios que no so utilizados. Para obter uma de-
scrio de um servio, selecione-o e pressione a tecla de funo F1. Note que
outros tipos de servios so iniciados automaticamente, e no apenas servios
de rede. O gpm, por exemplo, um servio que adiciona suporte a mouse para
aplicaes que rodam no modo texto. Tome o cuidado de desabilitar apenas os
servios que no devem ser utilizados na mquina. Por exemplo, no desabilite o
servio httpd se for necessrio rodar um servidor web na mquina.
289
Captulo 8. Segurana no Servidor
Figura 8-1. Congurao da Inicializao de Servios
O ntsysv congura apenas o nvel de execuo atual. Se voc deseja congu-
rar outros nveis de execuo, estes nveis podem ser especicados na linha de
comando, atravs da opo --levels. possvel congurar vrios nveis de
execuo simultaneamente. Executando o comando # ntsysv --levels 345, por
exemplo, seriam congurados os nveis 3, 4 e 5 simultaneamente. Neste caso, se
umservio for marcado como habilitado, ele ser habilitado emtodos os nveis de
execuo especicados. De maneira anloga, ao desabilitar um servio, o mesmo
ser desabilitado em todos os nveis de execuo especicados.
Existem duas opes para sair do programa. Se for utilizado o boto Ok, as al-
teraes sero salvas. Caso seja utilizado o boto Cancelar, nenhuma alterao
efetuada ser considerada.
Servios Executados Atravs do inetd
O inetd, tambm conhecido como internet super-server, um daemon geral-
290
Captulo 8. Segurana no Servidor
mente executado na inicializao do sistema e que espera por conexes em al-
guns sockets internet especcos. Quando uma conexo estabelecida em al-
gum destes sockets, ele verica a qual servio o socket corresponde e invoca o
programa capaz de servir a requisio em questo. Resumidamente, o inetd in-
voca daemons sob demanda, reduzindo a carga da mquina. Obviamente, este
tempo necessrio para invocar um daemon sob demanda pode ser prejudicial em
servios muito utilizados e por isto que muitos servios no podem ser execu-
tados atravs do inetd.
A congurao do inetd reside no arquivo /etc/inetd.conf, embora o arquivo
/etc/services tambm seja utilizado para mapear nomes de servios para suas
respectivas portas e protocolos. Estes arquivos podem ser alterados atravs de
um editor de textos, ou ento atravs do Linuxconf. Congurar o inetd atravs
do Linuxconf costuma eliminar erros grosseiros, pois ele faz uma validao dos
dados antes de adicionar as informaes aos arquivos correspondentes.
A congurao do inetd no Linuxconf efetuada atravs da congurao de
Congurao Ambiente de Rede Tarefas de servidor Servios In-
ternet. Esta congurao compreende a administrao do arquivo /etc/services
(opo Servios de rede para Internet) e a administrao do arquivo /etc/inetd.conf
(opo Base de dados dos servidores).
Atravs da opo Servios de rede para Internet possvel adicionar, modicar
ou remover o mapeamento do nome de um servio para sua respectiva porta e
protocolo. A Figura 8-2 ilustra a congurao do servio chamado pop-3.
291
Captulo 8. Segurana no Servidor
Figura 8-2. Congurao do /etc/services
O que realmente nos interessa na congurao de Servios Internet encontra-se
na opo Base de dados dos servidores. neste local que possvel desabilitar
todos os servios desnecessrios (ou habilitar os necessrios, se for o caso).
Para desabilitar um servio, basta selecion-lo na lista e, na janela que aparece
em seguida, marc-lo como Inativo, como ilustrado na Figura 8-3.
292
Captulo 8. Segurana no Servidor
Figura 8-3. Desabilitando um Servio
Como regra geral, mantenha desabilitados os servios:
echo;
discard;
daytime;
chargen;
shell;
293
Captulo 8. Segurana no Servidor
login;
exec;
talk (e similares);
tftp;
bootps;
nger (e similares);
systat;
netstat;
time.
Estes servios dicilmente so necessrios em sua mquina e possveis invasores
costumam utiliz-los como amostra do que est habilitado na mquina que pre-
tendem invadir. Alm destes, desabilite todos aqueles que no sero utilizados.
Por exemplo, se no for necessrio um servidor FTP na mquina, desabilite-o e,
preferencialmente, desinstale do sistema o pacote correspondente.
294
Captulo 8. Segurana no Servidor
Utilizando TCP_Wrappers
Opacote tcp_wrappers pode ser utilizado para controlar o acesso a alguns servios,
como por exemplo nger, telnet e ftp, entre outros. Como nem todos os daemons
suportam o uso do tcpd
1
, para controle de acesso, voc deve sempre consul-
tar a documentao dos programas antes de tentar congur-los para utilizar o
tcp_wrappers. Alguns destes programas tm seu prprio sistema de monitorao
e controle de acesso, que poderia ser utilizado ao invs do tcpd.
O Conectiva Linux j vem congurado para utilizar o tcpd em todos os dae-
mons possveis e recomendados. Contudo, congurar um daemon para utilizar o
tcpd extremamente simples, considerando que o daemon em questo suporte a
utilizao de tcp_wrappers. A Figura 8-4 mostra a congurao de um servidor
FTP sem a utilizao de tcp_wrappers e a Figura 8-5 ilustra o mesmo servidor,
mas desta vez, com a utilizao de tcp_wrappers. Esta congurao encontra-se
em Congurao Ambiente de RedeTarefas de servidor Servios
Internet Base de dados dos servidores ftp.
1. Este o nome do programa responsvel pela monitorao dos servios, no pacote
tcp_wrappers.
295
Captulo 8. Segurana no Servidor
Figura 8-4. Servidor FTP sem tcp_wrappers
Compare a congurao Rota do servidor Path entre a Figura 8-4 e a Figura 8-5,
a seguir.
296
Captulo 8. Segurana no Servidor
Figura 8-5. Servidor FTP Utilizando tcp_wrappers
Aps congurar um daemon para utilizar o pacote tcp_wrappers necessrio
congurar o controle de acesso propriamente dito. Esta congurao pode ser
efetuada atravs dos arquivos /etc/hosts.allow e /etc/hosts.deny. No arquivo
/etc/hosts.deny conguram-se regras para negar servios a determinados clientes,
ao mesmo tempo em que no arquivo /etc/hosts.allow conguram-se regras para
permitir que determinados clientes tenham acesso a servios.
Existem dezenas de possibilidades de congurao para o tcp_wrappers e voc
pode estud-las em extenso atravs das pginas de manual hosts_access(5) e
297
Captulo 8. Segurana no Servidor
hosts_options(5). Portanto, iremos ilustrar apenas alguns casos interessantes do
uso desta ferramenta.
As regras de controle de acesso, existentes nestes dois arquivos, tm o seguinte
formato:
lista_de_daemons : lista_de_clientes [ : comando ]
lista_de_daemons
Lista de um ou mais nomes de daemons como especicados no /etc/inetd.conf, ou
curingas.
lista_de_clientes
Lista de um ou mais endereos ou nomes de mquinas, padres ou curingas utiliza-
dos para especicar quais clientes podem e quais no podem acessar o servio.
comando (opcional)
possvel executar um comando sempre que uma regra casa com um padro e
utilizada. Veja exemplos a seguir.
Como citado anteriormente, curingas podem ser utilizados tanto na lista de dae-
mons quanto nas lista de clientes. Entre os existentes, podemos destacar os seguintes:
298
Captulo 8. Segurana no Servidor
ALL
Signica todos os daemons ou todos os clientes, dependendo apenas do campo em
que se encontra.
LOCAL
Este curinga casa com qualquer nome de mquina que no contenha um caractere
ponto ., isto , uma mquina local.
PARANOID
Casa com qualquer nome de mquina que no case com seu endereo. Isto geral-
mente ocorre quando algum servidor DNS est mal congurado ou quando alguma
mquina est tentando se passar por outra.
Na lista de clientes podem ser utilizados nomes ou endereos de mquinas, ou
ento padres que especicam um conjunto de mquinas. Se a cadeia de carac-
teres que identica um cliente inicia com um ponto ., um nome de mquina ir
casar com este padro sempre que o nal do mesmo casar com padro especi-
cado. Por exemplo, se fosse utilizada a cadeia de caracteres .conectiva.com.br,
o nome de mquina gateway.conectiva.com.br casaria com o padro.
Similarmente, se a cadeia de caracteres termina com um ponto ., um endereo
de mquina ir casar como padro quando seus campos numricos iniciais casarem
com a cadeia de caracteres especicada. Para exemplicar, se fosse utilizada
a cadeia de caracteres 192.168.220., todas as mquinas que tenham um en-
dereo IP que inicie com estes 3 conjuntos de nmeros iro casar com o padro
299
Captulo 8. Segurana no Servidor
(192.168.220.0 ao 192.168.220.255).
Alm destes mtodos, possvel identicar um cliente atravs do IP/mscara
de rede. Voc pode especicar, por exemplo, 192.168.220.0/255.255.255.128,
e qualquer mquina com endereo IP entre 192.168.220.0 e 192.168.220.127
casaria com o padro.
Nada melhor do que exemplos prticos para facilitar o entendimento. Uma boa
poltica fechar completamente o acesso de todos os servios a quaisquer clientes,
atravs do arquivo /etc/hosts.deny, e seletivamente liberar o acesso aos servios
necessrios atravs do arquivo /etc/hosts.allow. No Exemplo 8-1, temos uma
congurao em que liberamos o acesso a FTP apenas ao domnio rede.net, o
acesso ao servidor POP3 a qualquer mquina, todos os servios para localhost
e negamos os demais servios para qualquer mquina que seja.
Exemplo 8-1. Exemplo de Congurao do tcp_wrappers
Segue abaixo o arquivo /etc/hosts.deny.
# hosts.deny
# Este arquivo lista os nomes das mquinas que _NO_ tm
# permisso para usar os servios oferecidos por esta
# mquina atravs do INET, usando o servidor
# /usr/sbin/tcpd (tcp_wrapper) para checar permisses.
# Recomendamos a leitura do manual hosts_access, na seo
# 5; para tanto execute:
300
Captulo 8. Segurana no Servidor
# man 5 hosts_access
#
# Lembre-se de que o novo portmap utiliza este arquivo para decidir quais
# mquinas podem acessar os servios de NFS oferecidos por esta mquina.
ALL:ALL
Arquivo /etc/hosts.allow.
# hosts.allow
# Este arquivo lista os nomes das mquinas que tm
# permisso para usar os servios oferecidos por esta
# mquina atravs do INET, usando o servidor
# /usr/sbin/tcpd (tcp_wrapper) para checar permisses.
# Recomendamos a leitura do manual hosts_access, na seo
# 5; para tanto execute:
# man 5 hosts_access
ALL: localhost
in.ftpd: .rede.net
ipop3d: ALL
No Exemplo 8-2, considere o mesmo arquivo /etc/hosts.deny do exemplo ante-
rior.
301
Captulo 8. Segurana no Servidor
Exemplo 8-2. Congurao do tcp_wrappers Menos Restritiva
Arquivo /etc/hosts.allow.
# hosts.allow
# Este arquivo lista os nomes das mquinas que tm
# permisso para usar os servios oferecidos por esta
# mquina atravs do INET, usando o servidor
# /usr/sbin/tcpd (tcp_wrapper) para checar permisses.
# Recomendamos a leitura do manual hosts_access, na seo
# 5; para tanto execute:
# man 5 hosts_access
ALL: localhost
in.ftpd: .rede.net 200.234.123.0/255.255.255.0 200.248.
ipop3d: ALL EXCEPT hackerboys.org
Neste ltimo caso, mquinas da rede 200.234.123.0/255.255.255.0 e mquinas
em que o endereo IP inicie por 200.248. tambm podem acessar o servio
FTP. Note que utilizamos um operador novo para o servio ipop3d: EXCEPT.
Isto permitiu que o acesso a este servio fosse liberado para todos, exceto para
mquinas da rede hackerboys.org.
O operador EXCEPT pode ser utilizado tanto da lista de clientes quanto na lista
de daemons. Por exemplo, a linha:
302
Captulo 8. Segurana no Servidor
ALL EXCEPT in.ftpd: ALL
no arquivo /etc/hosts.allow, permite o acesso a todos os servios, exceto FTP,
para qualquer mquina.
Todos os acessos, bem sucedidos ou no, so registrados atravs do syslog. No
Conectiva Linux, estas informaes so registradas no arquivo /var/log/secure.
recomendado que este arquivo seja periodicamente analisado procura de ten-
tativas de invaso.
Vrios outros exemplos de congurao esto descritos nas pginas de manual
da seo 5 citadas anteriormente (hosts_access e hosts_options).
Firewall Atravs de Filtro de Pacotes
Um rewall um sistema que isola redes distintas e permite que se controle o
trfego entre elas. Um exemplo tpico onde a utilizao de um rewall recomen-
dada na conexo de uma rede local Internet. Embora o conceito de rewall
seja bastante amplo e possa envolver servidores proxy, analisadores de logs e
ltros de pacotes, entre outras caractersticas, iremos, nesta seo, deter-nos no
ltro de pacotes fornecido pelo kernel do Linux.
303
Captulo 8. Segurana no Servidor
O kernel do Linux conta com um ltro de pacotes bastante funcional, que permite
que sua mquina descarte ou aceite pacotes IP, baseando-se na origem, no destino
e na interface pela qual o pacote foi recebido. A origem e o destino de um pacote
so caracterizados por um endereo IP, um nmero de porta e pelo protocolo.
Todo o trfego atravs de uma rede enviado no formato de pacotes. O incio de
cada pacote informa para onde ele est indo, de onde veio e o tipo do pacote, entre
outros detalhes. A parte inicial deste pacote chamada cabealho. O restante do
pacote, contendo a informao propriamente dita, costuma ser chamado de corpo
do pacote.
Um ltro de pacotes analisa o cabealho dos pacotes que passam pela mquina
e decide o que fazer com o pacote inteiro. Possveis aes a serem tomadas em
relao ao pacote so:
aceitar: o pacote pode seguir at seu destino.
rejeitar: o pacote ser descartado, como se a mquina jamais o tivesse recebido.
bloquear: o pacote ser descartado, mas a origem do pacote ser informada de que esta
ao foi tomada.
O ltro de pacotes do kernel controlado por regras de rewall, as quais po-
dem ser divididas em 4 categorias: a cadeia de entrada (input chain), a cadeia de
sada (output chain), a cadeia de reenvio (forward chain) e cadeias denidas pelo
usurio (user dened chain). Para cada uma destas cadeias mantida uma tabela
de regras separada.
Uma regra de rewall especica os critrios de anlise de um pacote e o seu
alvo (target). Se o pacote no casa com o padro especicado pela regra, a regra
304
Captulo 8. Segurana no Servidor
seguinte da cadeia analisada. Se desta vez o pacote casar com o padro, a regra
seguinte denida pelo alvo, que pode ser o nome de uma cadeia denida pelo
usurio, ou um dos seguintes valores especiais:
ACCEPT
Signica que o ltro de pacotes deve deixar o pacote passar.
DENY
Signica que o ltro de pacotes deve impedir que o pacote siga adiante.
REJECT
Assim como DENY, signica que o pacote no deve seguir adiante, mas uma men-
sagem ICMP enviada ao sistema originador do pacote, avisando-o de que o pacote
foi rejeitado. Note que DENY e REJECT tm o mesmo signicado para pacotes
ICMP.
MASQ
Este alvo somente vlido para a cadeia de reenvio e para cadeias denidas pelo
usurio, e somente pode ser utilizado quando o kernel compilador com suporte a
IP Masquerade. Neste caso, pacotes sero mascarados como se eles tivessem sido
originados pela mquina local.
305
Captulo 8. Segurana no Servidor
REDIRECT
Este alvo somente vlido para a cadeia de entrada e para cadeias denidas pelo
usurio e somente pode ser utilizado se o kernel foi compilado com a opo de
Transparent proxy. Com isto, pacotes sero redirecionados para um socket local,
mesmo que eles tenham sido enviados para uma mquina remota. Obviamente isto
s faz sentido se a mquina local utilizada como gateway para outras mquinas.
Se a porta especicada para redirecionamento 0, que o valor padro, a porta
de destino dos pacotes ser utilizada como porta de redirecionamento. Se for es-
pecicada uma outra porta qualquer, esta ser utilizada, independentemente daquela
especicada nos pacotes.
RETURN
Se a regra contendo o alvo RETURN foi chamada por uma outra regra, a regra
seguinte da cadeia que a chamou analisada. Caso ela no tenha sido chamada por
outra regra, a poltica padro da cadeia utilizada para denir o destino do pacote.
A congurao do ltro de pacotes no kernel 2.2 efetuada atravs do programa
de linha de comando ipchains. Contudo, o Linuxconf tem um mdulo de con-
gurao do ltro de pacotes que facilita bastante a congurao. Antes de tentar
congurar o ltro de pacotes, certique-se de que o o pacote ipchains est instal-
ado e de que o mdulo rewall est habilitado no Linuxconf
2
. Para vericar se o
ipchains est instalado, execute o comando:
2. Este mdulo habilitado por padro, no Conectiva Linux.
306
Captulo 8. Segurana no Servidor
# rpm -q ipchains
Caso a resposta para este comando seja pacote ipchains no est instalado,
voc deve instal-lo a partir do CD 1 do Conectiva Linux. Com o CD montado
em /mnt/cdrom, execute o comando a seguir, como superusurio, para instalar o
programa:
# rpm -ivh /mnt/cdrom/conectiva/RPMS/ipchains*
J para vericar se o mdulo do Linuxconf est habilitado, siga os passos de-
scritos no captulo do Linuxconf.
Congurao do Filtro de Pacotes Pelo Linuxconf
A congurao do ltro de pacotes no Linux bastante exvel e pode facil-
mente tornar-se uma tarefa complicada. O Linuxconf prope uma lgica simples
que facilita a congurao das regras de rewall. Ao mesmo tempo que esta lg-
ica ajuda a criar e manter conguraes de um rewall bsico, ela impede que
algumas conguraes mais sosticadas sejam criadas com o Linuxconf.
Dentro desta lgica, quando voc ativa qualquer uma das trs cadeias (entrada,
sada ou reenvio), o Linuxconf ir congurar a poltica padro da cadeia como
DENY. Todas as regras que voc adicionar so aberturas no rewall. Se voc no
adicionar regra alguma, sua mquina car completamente isolada. Note que,
307
Captulo 8. Segurana no Servidor
por causa desta losoa, o Linuxconf no suporta cadeias denidas pelo usurio,
entre outras funcionalidades.
Em geral, congurando apenas a cadeia de entrada, chamada de rewall por en-
trada no Linuxconf, j temos um bom controle sobre o que pode ser acessado na
mquina. Para habilitar a cadeia de entrada, marque a opo Regras de entrada
em Congurao Ambiente de RedeFirewall Padres do rewall.
Como citado anteriormente, isto far com que a poltica padro da cadeia de en-
trada seja DENY. Portanto, voc deve adicionar regras para reduzir esta restrio,
de maneira que seja possvel acessar alguma coisa na mquina.
Supondo que se queira permitir apenas o acesso a um servidor web que escuta na
porta 80 da mquina, e barrar todo o resto, uma nica regra seria suciente.
Voc deve, ento, adicionar uma regra de rewall por entrada (Congurao
Ambiente de RedeFirewall Firewall por entrada). A Figura 8-6 ilus-
tra a janela de congurao de regras de entrada.
Figura 8-6. Congurao de Regras de Entrada
Nesta janela existe um checkbox que permite ativar ou desativar a regra. Em
seguida, existem os seguintes campos:
308
Captulo 8. Segurana no Servidor
Comentrio
Local para descrever a regra de maneira sucinta
Protocolo
Local para especicar para quais protocolos a regra em questo vlida. Valores
possveis so: all, para todos os protocolo; tcp; udp e icmp.
Poltica de regras
Dene a poltica da regra, especicando o que ser feito com aqueles pacotes que
chegarem at a regra. A poltica pode ser aceitar, rejeitar ou bloquear (ACCEPT,
REJECT ou DENY, respectivamente).
O restante das informaes necessrias para congurar uma regra esto dispostas
em trs guias. A Figura 8-7 ilustra a guia Para, que como pode ser observado,
idntica guia De, ilustrada na Figura 8-6. Contudo, os dados inseridos na guia
De so referentes origem do pacote, enquanto que na guia Para os dados
so referentes ao destino do mesmo.
Figura 8-7. Congurao de Guias
309
Captulo 8. Segurana no Servidor
Os campos existentes em ambas as guias (De e Para) esto descritos a seguir:
Mquina ou rede
Local para especicar a origem (guia De) ou destino (guia Para) de um pacote. Es-
pecique preferencialmente um endereo IP, embora seja possvel especicar um
nome de mquina, que ser posteriormente resolvido pelo DNS.
Mscara
Local para denir a mscara de rede referente ao endereo IP (ou nome de mquina)
utilizado no campo acima. Procure sempre informar uma mscara de rede, para evi-
tar que o Linuxconf pense por voc.
Faixa de portas
Local para especicar uma faixa de portas de origem (guia From) ou de destino (guia
To) do pacote a que a regra se refere.
Outras portas
Local para especicar outras portas de origem (guia From) ou de destino (guia To)
do pacote a que a regra se refere.
310
Captulo 8. Segurana no Servidor
Accept TCP Syn Packet
Se esta opo for desabilitada (sendo que o padro estar habilitada), pacotes que
solicitam o incio de uma conexo no sero aceitos. S faz sentido desabilitar esta
opo quando a regra especica o protocolo TCP e a poltica da regra aceitar.
Interface de entrada
Local para especicar a interface pela qual o pacote deve estar entrando.
A guia seguinte a guia Caractersticas (Figura 8-8).
Figura 8-8. Congurao da Guia Caractersticas
Esta guia conta com os seguintes campos:
Esta regra bidirecional
Se esta opo estiver marcada (padro), a regra ser repetida com origem e destino
invertidos. por isto que o Linuxconf lhe permite especicar a interface duas vezes.
311
Captulo 8. Segurana no Servidor
Se voc no gosta deste comportamento, apenas desative a opo
Fator de ordenao
Permite que voc atribua um valor para cada regra, de maneira que voc possa
orden-las como desejar. Regras com fator menor so avaliadas primeiro.
Registrando est ativo
Se habilitada, esta opo far com que o kernel imprima informaes sobre o pacote
atravs da funo printk(), sempre que um pacote casar com a regra em questo.
No Conectiva Linux, isto signica que estas informaes sero gravadas no arquivo
/var/log/messages.
Redirecione para porta local
Se habilitada, esta opo far com que os pacotes que casarem com a regra em
questo sejam redirecionados para a mquina local. Voc poderia, por exemplo, redi-
recionar todos os pacotes destinados a um servidor FTP da sua rede para uma porta
local da mquina utilizada como gateway.
Porta de redirecionamento
Se no for especicada porta alguma neste campo, a porta de destino do pacote ser
utilizada como porta de redirecionamento. Caso alguma porta seja especicada, esta
ser utilizada como porta de redirecionamento.
312
Captulo 8. Segurana no Servidor
possvel que, ao adicionar uma regra errada, sua mquina pare de funcionar cor-
retamente. Neste caso, utilize o comando netconf --resetfw, que todas as regras do
ltro de pacotes sero temporariamente desativadas.
Alm de adicionar regras para pacotes que entram na mquina, possvel adi-
cionar regras para pacotes que saem da mquina e para pacotes que passam
atravs da mquina, de uma interface de rede para outra. O Linuxconf utiliza
os termos Firewall para sada e Firewall por reenvio, respectivamente, para
denir estes dois tipos de regras. Enquanto que, regras de sada no tm um uso
muito grande em grande parte dos casos, regras de reenvio so comumente uti-
lizadas quando se tem uma mquina como gateway entre uma rede local e a
Internet (ou outra rede qualquer).
Por este motivo, nos deteremos na explicao do Firewall por reenvio. Alm
disto, a congurao de regras de entrada e de sada so semelhantes, embora a
lgica seja invertida. Na Figura 8-9, pode ser observado um exemplo tpico de
utilizao de Firewall por reenvio.
313
Captulo 8. Segurana no Servidor
Figura 8-9. Exemplo de Utilizao de Firewall por Reenvio
314
Captulo 8. Segurana no Servidor
Nesta gravura, considere que os endereos IP da rede local so pblicos, isto ,
podem ser utilizados na Internet e foram designados pela empresa que fornece a
conexo.
Para permitir que as mquinas da rede local possam acessar mquinas existentes
na Internet no necessria qualquer regra de reenvio. A nica exigncia que o
kernel esteja compilado com IP rewalling e que o mesmo esteja habilitado. A
maneira de habilitar esta caracterstica do kernel efetuar o seguinte comando,
como superusurio:
# echo 1 > /proc/sys/net/ipv4/ip_forward
O Conectiva Linux pode habilitar esta caracterstica automaticamente, durante a
inicializao do sistema. Para que isto ocorra, deve existir uma linha com:
IP_FORWARD="yes"
ou
IP_FORWARD="true"
no arquivo /etc/sysconfig/network. Se o valor desta varivel for no ou false,
o Conectiva Linux no habilitar esta caracterstica durante a inicializao do
sistema.
Embora nenhuma regra de reenvio seja necessria para possibilitar que as mquinas
da rede local acessem a Internet, pode ser interessante bloquear o acesso a al-
guns servios. Por exemplo, pode ser til bloquear a repassagem de pacotes que
destinam-se porta 80 (HTTP, geralmente), para forar a utilizao de um servi-
315
Captulo 8. Segurana no Servidor
dor proxy para acesso web. A congurao desta regra est ilustrada nas guras
a seguir.
Figura 8-10. Firewall Reenvio - Origem do Pacote
Figura 8-11. Firewall Reenvio - Destino do Pacote
316
Captulo 8. Segurana no Servidor
Figura 8-12. Firewall Reenvio - Features
Como o Linuxconf coloca a poltica padro da cadeia como DENY, assim que
a mesma habilitada, ser necessrio adicionar mais uma regra, explicitamente
liberando o acesso nos demais casos (quando o destino do pacote no for a porta
80 de uma mquina qualquer). Adicione ento, uma regra de reenvio, conforme
ilustram as guras a seguir.
Figura 8-13. Adicionando uma Regra de Origem de Pacote
317
Captulo 8. Segurana no Servidor
Figura 8-14. Adicionando uma Regra de Destino de Pacote
Figura 8-15. Firewall Reenvio - Adicionando uma Regra
Note que, nesta ltima regra, o Ordering factor foi denido como 100, para
que esta regra seja avaliada por ltimo. Qualquer pacote bloqueado pela regra
anterior no chegar at esta ltima.
No esquea de habilitar as Regras de reenvio (Congurao Ambiente de
Rede Firewall Padres do rewall), ou estas regras no sero avaliadas.
Uma outra situao bastante tpica est ilustrada na Figura 8-16.
318
Captulo 8. Segurana no Servidor
Figura 8-16. Exemplo de Utilizao de Mascaramento de IP
319
Captulo 8. Segurana no Servidor
Nesta situao, os endereos IP da rede local so privados, isto , as mquinas
no fazem parte da Internet. Estas mquinas somente podem acessar a Internet
atravs de um servidor proxy ou se o gateway zer algum tipo de NAT (Network
Address Translation). O kernel do Linux proporciona esta funcionalidade atravs
da caracterstica conhecida como IP Masquerade (mascaramento de IP). Con-
gurar esta funcionalidade no Conectiva Linux to simples quanto congurar as
regras de reenvio demonstradas anteriormente. A nica diferena que deve ser
marcada a opo mascarar existente na janela de congurao da regra. Observe
o exemplo da Figura 8-17.
Figura 8-17. Congurando o IP Masquerade
O restante da regra deve ser congurado normalmente (origem do pacote, destino
e features). Resumindo o funcionamento do IP Masquerade, ele faz com que o
kernel traduza os IPs da rede local, que so privados, para o IP da interface que
tem um IP pblico. Quando uma mquina da rede faz uma requisio, esta vai
atravs do gateway, que faz esta traduo de endereos, refaz a requisio para a
mquina de destino e, quando recebe a resposta, envia-a para a mquina que fez
a solicitao.
Esta tcnica no funciona em todos os casos, pois alguns protocolos exigem que
a mquina remota abra uma conexo com o cliente, e quando utiliza-se IP Mas-
320
Captulo 8. Segurana no Servidor
querade isto geralmente no possvel. por este motivo que alguns programas
no funcionam perfeitamente em uma rede que utiliza mascaramento de IP. Con-
tudo, servios simples como WWW e e-mail funcionam perfeitamente. O kernel
do Linux conta com alguns mdulos especiais que aumentam a capacidade do IP
Masquerade, para que ele possa funcionar com mais protocolos e programas.
Atravs do Linuxconf, em Congurao Ambiente de Rede Firewall
Padres do Firewall, voc pode habilitar estes mdulos (CuSeeMe, FTP e
IRC, entre outros). A Figura 8-18 ilustra esta tela de congurao.
Figura 8-18. Firewall - IP Masquerade
Consulte outras informaes na Internet no site Linux IP Masquerade Resource
(http://ipmasq.cjb.net); voc pode encontrar informaes sobre congurao do
IP Masquerade no site Masq Apps (http://www.tsmservices.com/masq/).
Vericando a Integridade do Sistema
321
Captulo 8. Segurana no Servidor
Uma das primeiras aes de um invasor costuma ser substituir arquivos e pro-
gramas do sistema com o intuito de mascarar sua visita atual e, principalmente,
facilitar as visitas futuras. Portanto, se houver a possibilidade de vericar a in-
tegridade de arquivos do sistema, h uma grande possibilidade de detectar uma
invaso. E o melhor que este recurso permite que se saiba quais arquivos foram
modicados, possibilitando que o administrador decida entre reinstalar o sistema
ou apenas substituir o arquivos alterados pelos originais.
Aps perceber que a mquina foi invadida, o administrador costuma analisar o
sistema utilizando programas como ps, ls, netstat e who. Ocorre que estes pro-
gramas so os primeiros a serem substitudos, ocultando, assim, a invaso e o in-
vasor propriamente dito. Mesmo que se tenha a informao de data e tamanho dos
arquivos originais, estas informaes, sozinhas, no podem ser utilizadas como
parmetro, pois podem ser facilmente modicadas. Contudo, se alm destas in-
formaes estiver disponvel algo como o checksum MD5 dos arquivos, torna-se
bem mais simples encontrar arquivos indevidamente modicados.
O AIDE (Advanced Intrusion Detection Environment) um programa que tem
justamente a nalidade de vericar a integridade dos arquivos do sistema. Ele
constri uma base de dados com vrias informaes dos arquivos especicados
em seu arquivo de congurao. Esta base de dados pode conter vrios atributos
dos arquivos, como:
permisses;
nmero do inode;
322
Captulo 8. Segurana no Servidor
dono;
grupo;
tamanho;
data e hora de criao, ltimo acesso e ltima modicao.
Almdisso, o AIDE tambmpode gerar e armazenar nesta base de dados o check-
sum criptogrco dos arquivos, utilizando um, ou uma combinao dos seguintes
algoritmos: md5, sha1, rmd160 e tiger.
O procedimento recomendado que voc crie esta base de dados em um sis-
tema recm-instalado, antes de conect-lo a uma rede. Esta base de dados ser
a fotograa do sistema em seu estado normal e o parmetro a ser utilizado para
medir alteraes no sistema de arquivos. Obviamente, sempre que voc modicar
o seu sistema, como por exemplo atravs da instalao, atualizao ou remoo
de programas, uma nova base de dados deve ser gerada. Esta nova base de da-
dos que deve ser utilizada doravante como parmetro. A base de dados deve
conter informaes sobre binrios, bibliotecas e arquivos de cabealhos impor-
tantes do sistema, j que estes no costumam ser alterados durante o uso normal
do sistema. Informaes sobre arquivos de log, las de correio eletrnico e de
impresso, diretrios temporrios e de usurios no devem ser armazenados na
base de dados, j que so arquivos e diretrios freqentemente alterados.
323
Captulo 8. Segurana no Servidor
Congurao do AIDE
A congurao do AIDE reside no arquivo /etc/aide.conf. Este arquivo tem trs
tipos de linhas:
linhas de congurao: utilizadas para denir parmetros de congurao do AIDE.
linhas de seleo: utilizadas para indicar quais arquivos tero suas informaes adi-
cionados base de dados.
linhas de macro: utilizadas para denir variveis no arquivo de congurao.
Apenas as linhas de seleo so essenciais ao funcionamento do AIDE. Existem,
por sua vez, trs tipos de linhas de seleo. Estas linhas so interpretadas como
expresses regulares. Linhas que comeam com uma barra / indicam que os
arquivos que casarem com o padro tero suas informaes adicionadas ao banco
de dados. Se a linha iniciar com um ponto de exclamao !, ocorre o contrrio:
os arquivos que casam com o padro so desconsiderados. Linhas iniciadas por
um sinal de igualdade = informam ao AIDE que somente arquivos que sejam
exatamente iguais ao padro devem ser considerados.
Atravs das linhas de congurao possvel denir alguns parmetros de fun-
cionamento do AIDE. Estas linhas tem o formato parmetro=valor. Os parmet-
ros de congurao esto descritos a seguir:
324
Captulo 8. Segurana no Servidor
database
A URL do arquivo de banco de dados de onde as informaes so lidas. Pode haver
somente uma linha destas. Se houver mais de uma, apenas a primeira considerada.
O valor padro ./aide.db.
database_out
A URL do arquivo de banco de dados onde so escritas as informaes. Assim como
database, deve haver apenas uma linha destas. No caso de haver vrias, somente a
primeira ocorrncia considerada. O valor padro ./aide.db.new.
report_url
A URL onde a sada do comando escrita. Se existirem vrias instncias deste
parmetro, a sada ser escrita em todas as URLs. Se voc no denir este parmetro,
a sada ser enviada para a sada padro (stdout).
verbose
Dene o nvel de mensagens que enviado sada. Este valor pode estar na faixa
entre 0 e 255 (inclusive) e somente a primeira ocorrncia deste parmetro ser con-
siderada. possvel sobrescrever este valor atravs das opes --version ou -V
na linha de comando.
325
Captulo 8. Segurana no Servidor
gzip_dbout
Informa se o banco de dados deve ser compactado ou no. Valores vlidos para esta
opo so yes, true, no e false.
Denies de grupos
Se o parmetro no for nenhum dos anteriores ento ele considerado uma denio
de grupo. Embora existam alguns grupos predenidos que informam ao AIDE quais
as informaes do arquivo que devem ser armazenadas na base de dados, voc pode
criar suas prprias denies. A Tabela 8-1 mostra os grupos predenidos.
Tabela 8-1. Grupos Predenidos
p permisses
i inode
n nmero de links
u dono
g grupo
s tamanho
m data e hora da ltima modicao
a data e hora do ltimo acesso
326
Captulo 8. Segurana no Servidor
c data e hora da criao do arquivo
S verica o aumento do tamanho do
arquivo
md5 checksum md5
sha1 checksum sha1
rmd160 checksum rmd160
tiger checksum tiger
R p+i+n+u+g+s+m+c+md5
L p+i+n+u+g
E grupo vazio
> arquivo de log (aumenta o tamanho) -
p+u+g+i+n+S
Voc poderia denir um grupo que verica apenas o dono e o grupo do ar-
quivo, da seguinte maneira:
trivial=u+g
As linhas de macro podem ser utilizadas para denir variveis e tomar decises
baseadas no valor das mesmas. Informaes detalhadas podem ser encontradas
na pgina de manual aide.conf(5).
O termo URL, utilizado na congurao dos parmetros database, database_out
e report_url, pode assumir um dos seguintes valores:
327
Captulo 8. Segurana no Servidor
stdout: a sada enviada para a sada padro.
stderr: a sada enviada para a sada padro de erros.
stdin: a entrada lida da entrada padro.
le:/arquivo: a entrada lida de arquivo ou a sada escrita em arquivo.
fd:nmero: a entrada lida do ledescriptor nmero ou a sada escrita no ledescrip-
tor nmero.
Note que URLs de entrada no podem ser utilizadas como sadas e vice-versa.
O Exemplo 8-3 ilustra uma congurao bsica para o AIDE.
Exemplo 8-3. Arquivo de Congurao do AIDE
# Localizao da base de dados
database=file:/var/aide/aide.db
# Local onde criada uma base de dados nova
database_out=file:/var/aide/aide.db.new
# Arquivo onde ser salva a sada do programa
report_url=/var/aide/report.aide
# Grupo para verificao de dono, grupo e permisses
trivial=u+g+p
328
Captulo 8. Segurana no Servidor
/bin R
/sbin R
/boot R
/etc R
# Verifica apenas dono, grupo e permisses
/etc/passwd trivial
/etc/shadow trivial
# Ignora o diretrio /etc/X11
!/etc/X11
/lib R
# Incluido /var
/var R
# Ignora /var/log, /var/spool e /var/lock
!/var/log/.*
!/var/spool/.*
!/var/lock/.*
# Ignora o arquivo /var/run/utmp
!/var/run/utmp$
Normalmente, o ideal ignorar diretrios que so modicados com muita fre-
qncia, a no ser que voc goste de logs gigantescos. um procedimento re-
329
Captulo 8. Segurana no Servidor
comendado excluir diretrios temporrios, las de impresso, diretrios de logs
e quaisquer outras reas freqentemente modicadas. Por outro lado, recomen-
dado que sejam includos todos os binrios, bibliotecas e arquivos de cabealhos
do sistema. Muitas vezes interessante incluir diretrios que voc no costuma
observar, como o /dev/ e o /usr/man.
Se voc deseja referir-se a um nico arquivo, voc deve colocar um $ no nal da
expresso regular. Com isto, o padro casar apenas com o nome exato do arquivo,
desconsiderando arquivos que tenham o incio do nome similar.
O pacote do AIDE que acompanha o Conectiva Linux tem um arquivo de con-
gurao padro funcional, mas nada o impede de modic-lo para reetir suas
necessidades.
Utilizao do AIDE
Como o arquivo de congurao padro dever servir para a maioria dos casos,
para gerar o banco de dados, basta executar os comandos:
# /usr/bin/aide -i
# mv /var/aide/aide.db.new /var/aide/aide.db
Aps esta operao, voc deve executar o comando:
330
Captulo 8. Segurana no Servidor
# /usr/bin/aide-md5 [dispositivo de boot]
O parmetro dispositivo de boot opcional, e corresponde ao dispositivo de ar-
mazenamento utilizado para inicializao do sistema (/dev/hda, por exemplo).
O aide-md5 foi desenvolvido pela Conectiva e supre a falta de assinatura do
banco de dados do AIDE. Ele informa os somatrios MD5 de alguns compo-
nentes crticos ao funcionamento do AIDE, inclusive do prprio banco de dados
recm-gerado. Voc deve tomar nota desses somatrios para vericao posterior.
Se o dispositivo de boot for informado ao aide-md5, o MD5 do setor de boot
tambm ser calculado, portanto interessante informar esse parmetro.
Para vericar a integridade do sistema, execute o prprio AIDE, desta forma:
# /usr/bin/aide -C
Os arquivos que sofreram qualquer mudana, seja no tamanho, contedo, permis-
ses ou data de criao, sero listados.
provvel que, na maioria das vezes que o AIDE apontar diferenas emarquivos,
elas tenham sido provocadas por atos legtimos, por exemplo, atualizao de pa-
cotes ou interveno do administrador do sistema. Nesses casos, o administrador
deve, aps uma conferncia, reconstruir o banco de dados.
Para vericar a integridade do prprio AIDE, deve-se novamente utilizar o pro-
grama aide-md5, mas desta vez, de uma mdia removvel, como por exemplo, de
um disquete:
331
Captulo 8. Segurana no Servidor
# /mnt/floppy/aide-md5 /dev/hda
Se algum dos cdigos MD5 no bater com aqueles gerados anteriormente, o(s)
respectivo(s) componentes podem estar comprometidos, e isto um problema
muito srio.
Obviamente que, se voc alterou as conguraes do AIDE, regerou o banco
de dados ou atualizou o kernel, os cdigos sero diferentes. Logo aps efetuar
quaisquer destas alteraes, voc deve executar novamente o aide-md5 e anotar
os cdigos.
altamente recomendvel copiar o aide-md5 para um meio removvel, protegido
contra gravao, e uma vez que o sistema tenha entrado em produo, deve-se
execut-lo sempre a partir daquele meio, eventualmente removendo o aide-md5
original do disco rgido. Pois, se voc zer uso do aide-md5 do disco rgido, e este
for comprometido, o invasor pode forjar somatrios MD5 falsamente perfeitos.
332
Captulo 9. Alta Disponibilidade
Introduo
Este captulo descrever os conceitos e a terminologia por trs da Alta Disponibil-
idade, bem como as aplicaes e programas de sistema que objetivam aumentar a
disponibilidade de servidores Linux, que so parte integrante do Conectiva Linux.
Tambm pode ser usado como um manual para a congurao destas aplicaes.
Denio
Para que se entenda a Alta Disponibilidade faz-se necessrio, antes de mais nada,
perceber que a Alta Disponibilidade no apenas um produto ou uma aplicao
que se instale, e sim uma caracterstica de um sistema computacional. Existem
mecanismos e tcnicas, blocos bsicos, que podem ser utilizados para aumentar a
disponibilidade de umsistema. Asimples utilizao destes blocos, entretanto, no
garante este aumento se no for acompanhado de um completo estudo e projeto
de congurao.
A Disponibilidade de um sistema computacional, indicada por A(t), a proba-
bilidade de que este sistema esteja funcionando e pronto para uso em um dado
333
Captulo 9. Alta Disponibilidade
instante de tempo t. Esta disponibilidade pode ser enquadrada em trs classes, de
acordo com a faixa de valores desta probabilidade. As trs classes so: Disponi-
bilidade Bsica, Alta Disponibilidade e Disponibilidade Contnua.
Disponibilidade Bsica
A Disponibilidade Bsica aquela encontrada em mquinas comuns, sem nen-
hum mecanismo especial, em software ou hardware, que vise de alguma forma
mascarar as eventuais falhas destas mquinas. Costuma-se dizer que mquinas
nesta classe apresentam uma disponibilidade de 99% a 99,9%. Isto equivale a
dizer que em um ano de operao a mquina pode car indisponvel por um
perodo de 9 horas a quatro dias. Estes dados so empricos e os tempos no
levam em considerao a possibilidade de paradas planejadas (que sero abor-
dadas mais adiante), porm so aceitas como o senso comum na literatura da
rea.
Alta Disponibilidade
Adicionando-se mecanismos especializados de deteco, recuperao e mascara-
mento de falhas, pode-se aumentar a disponibilidade do sistema, de forma que
este venha a se enquadrar na classe de Alta Disponibilidade. Nesta classe as
mquinas tipicamente apresentamdisponibilidade na faixa de 99,99%a 99,999%,
podendo car indisponveis por um perodo de pouco mais de 5 minutos at uma
hora em um ano de operao. Aqui se encaixam grande parte das aplicaes com-
334
Captulo 9. Alta Disponibilidade
erciais de Alta Disponibilidade, como centrais telefnicas.
Disponibilidade Contnua
Com a adio de noves se obtm uma disponibilidade cada vez mais prxima de
100%, diminuindo o tempo de inoperncia do sistema de forma que este venha
a ser desprezvel ou mesmo inexistente. Chega-se ento na Disponibilidade Con-
tnua, o que signica que todas as paradas planejadas e no planejadas so mas-
caradas, e o sistema est sempre disponvel.
Objetivos
Como j pode ser percebido de sua denio, o principal objetivo da Alta Disponi-
bilidade buscar uma forma de manter os servios prestados por um sistema a
outros elementos, mesmo que o sistema em si venha a se modicar internamente
por causa de uma falha. A est implcito o conceito de mascaramento de falhas,
atravs de redundncia ou replicao (termos que sero conceituados mais tarde).
Um determinado servio, que se quer altamente disponvel, colocado por trs de
uma camada de abstrao, que permita mudanas em seus mecanismos internos
mantendo intacta a interao com elementos externos.
Este o corao da Alta Disponibilidade, a sub-rea da Tolerncia a Falhas, que
335
Captulo 9. Alta Disponibilidade
visa manter a disponibilidade dos servios prestados por um sistema computa-
cional, atravs da redundncia de hardware e recongurao de software. Vrios
computadores juntos agindo como um s, cada um monitorando os outros e as-
sumindo seus servios caso perceba que algum deles falhou.
Outra possibilidade importante da Alta Disponibilidade fazer isto com com-
putadores simples, como os que se pode comprar at num supermercado. A com-
plexidade pode estar apenas no software. Mais fcil de desenvolver que o hard-
ware, o software de Alta Disponibilidade quem se preocupa em monitorar ou-
tras mquinas de uma rede, saber que servios esto sendo prestados, quem os
est prestando, e o que fazer quando uma falha percebida.
Clculo da Disponibilidade
Em um sistema real, se um componente falha, ele reparado ou substitudo por
um novo componente. Se este novo componente falha, substitudo por outro e
assim por diante. O componente reparado tido como no mesmo estado que um
componente novo. Durante sua vida til, um componente pode ser considerado
como estando em um destes estados: funcionando ou em reparo. O estado funcio-
nando indica que o componente est operacional e o estado em reparo signica
que ele falhou e ainda no foi substitudo por um novo componente.
Em caso de defeitos, o sistema vai de funcionando para em reparo, e quando
a substituio feita ele volta para o estado funcionando. Sendo assim, pode-se
dizer que o sistema apresenta ao longo de sua vida umtempo mdio at apresentar
falha (MTTF) e um tempo mdio de reparo (MTTR). Seu tempo de vida uma
336
Captulo 9. Alta Disponibilidade
sucesso de MTTFs e MTTRs, medida que vai falhando e sendo reparado. O
tempo de vida til do sistema a soma dos MTTFs nos ciclos MTTF+MTTR j
vividos.
De forma simplicada, diz-se que a disponibilidade de um sistema a relao
entre o tempo de vida til deste sistema e seu tempo total de vida. Isto pode ser
representado pela frmula abaixo:
Disponibilidade = MTTF / (MTTF + MTTR)
Ao avaliar uma soluo de Alta Disponibilidade, importante levar em consid-
erao se na medio do MTTF so observadas como falhas as possveis paradas
planejadas. Mais consideraes sobre este assunto sero tecidas em sees pos-
teriores.
Conceitos
Para se entender corretamente do que se est falando quando se discute uma
soluo de Alta Disponibilidade, deve-se conhecer os conceitos envolvidos. No
so muitos, porm estes termos so muitas vezes utilizados de forma errnea em
literatura no especializada. Antes de mais nada, deve-se entender o que falha,
erro e defeito. Estas palavras, que parecem to prximas, na verdade designam a
ocorrncia de algo anormal em trs universos diferentes de um sistema computa-
337
Captulo 9. Alta Disponibilidade
cional.
Falha
Uma falha acontece no universo fsico, ou seja, no nvel mais baixo do hard-
ware. Uma utuao da fonte de alimentao, por exemplo, uma falha. Uma
interferncia eletromagntica tambm. Estes so dois eventos indesejados, que
acontecem no universo fsico e afetam o funcionamento de um computador ou de
partes dele.
Erro
A ocorrncia de uma falha pode acarretar um erro, que a representao da falha
no universo informacional. Um computador trabalha com bits, cada um podendo
conter 0 ou 1. Uma falha pode fazer com que um (ou mais de um) bit troque
de valor inesperadamente, o que certamente afetar o funcionamento normal do
computador. Uma falha, portanto, pode gerar um erro em alguma informao.
338
Captulo 9. Alta Disponibilidade
Defeito
J esta informao errnea, se no for percebida e tratada, poder gerar o que se
conhece por defeito. O sistema simplesmente trava, ou mostra uma mensagem de
erro, ou ainda perde os dados do usurio sem maiores avisos. Isto pecebido no
universo do usurio.
Recapitulando, uma falha no universo fsico pode causar um erro no universo
informacional, que por sua vez pode causar um defeito percebido no universo do
usurio. A Tolerncia a Falhas visa exatamente acabar com as falhas, ou trat-las
enquanto ainda so erros. J a Alta Disponibilidade permite que mquinas travem
ou errem, contanto que exista outra mquina para assumir seu lugar.
Para que uma mquina assuma o lugar de outra, necessrio que descubra de
alguma forma que a outra falhou. Isso feito atravs de testes peridicos, cujo
perodo deve ser congurvel, nos quais a mquina secundria testa no apenas
se a outra est ativa, mas tambm fornecendo respostas adequadas a requisies
de servio. Um mecanismo de deteco equivocado pode causar instabilidade no
sistema. Por serem peridicos, nota-se que existe um intervalo de tempo durante
o qual o sistema pode estar indisponvel sem que a outra mquina o perceba.
Failover
O processo no qual uma mquina assume os servios de outra, quando esta l-
tima apresenta falha, chamado failover. O failover pode ser automtico ou man-
339
Captulo 9. Alta Disponibilidade
ual, sendo o automtico o que normalmente se espera de uma soluo de Alta
Disponibilidade. Ainda assim, algumas aplicaes no crticas podem suportar
um tempo maior at a recuperao do servio, e portanto podem utilizar failover
manual
1
. Alm do tempo entre a falha e a sua deteco, existe tambm o tempo
entre a deteco e o reestabelecimento do servio. Grandes bancos de dados, por
exemplo, podem exigir um considervel perodo de tempo at que indexem suas
tabelas, e durante este tempo o servio ainda estar indisponvel.
Para se executar o failover de um servio, necessrio que as duas mquinas en-
volvidas possuam recursos equivalentes. Um recurso pode ser uma placa de rede,
um disco rgido, ainda mais importante, os dados neste disco, e todo e qualquer
elemento necessrio prestao de um determinado servio. vital que uma
soluo de Alta Disponibilidade mantenha recursos redundantes com o mesmo
estado, de forma que o servio possa ser retomado sem perdas.
Dependendo da natureza do servio, executar um failover signica interromper
as transaes em andamento, perdendo-as, sendo necessrio reinici-las aps o
failover. Em outros casos, signica apenas um retardo at que o servio esteja
novamente disponvel. Nota-se que o failover pode ou no ser um processo trans-
parente, dependendo da aplicao envolvida.
1. feito por um administrador ou operador
340
Captulo 9. Alta Disponibilidade
Failback
Ao ser percebida a falha de umservidor, almdo failover obviamente necessrio
que se faa manuteno no servidor falho. Ao ser recuperado de uma falha, este
servidor ser recolocado em servio, e ento se tem a opo de realizar o processo
inverso do failover, que se chama failback. O failback portanto o processo de
retorno de um determinado servio de uma outra mquina para sua mquiana
de origem. Tambm pode ser automtico, manual ou at mesmo indesejado. Em
alguns casos, em funo da possvel nova interrupo na prestao de servios, o
failback pode no ser atraente.
Misso
Quando se calcula a disponibilidade de um sistema, importante que se observe
o conceito de misso. Misso de um sistema o perodo de tempo no qual ele
deve desempenhar suas funes sem interrupo. Por exemplo, uma farmcia,
que funcione das 8h s 20h, no pode ter seu sistema fora do ar durante este
perodo de tempo. Se este sistema vier a apresentar defeitos fora deste perodo,
ainda que indesejados, estes defeitos no atrapalham em nada o andamento cor-
reto do sistema quando ele necessrio. Uma farmcia 24h obviamente tem uma
misso contnua, de forma que qualquer tipo de parada deve ser mascarada.
A Alta Disponibilidade visa eliminar as paradas no planejadas. Porm, no caso
da primeira farmcia, as paradas planejadas no devemacontecer dentro do perodo
de misso. Paradas no planejadas decorrem de defeitos, j paradas planejadas
341
Captulo 9. Alta Disponibilidade
so aquelas que se devem a atualizaes, manuteno preventiva e atividades
correlatas. Desta forma, toda parada dentro do perodo de misso pode ser consi-
derada uma falha no clculo da disponibilidade.
Uma aplicao de Alta Disponibilidade pode ser projetada inclusive para supor-
tar paradas planejadas, o que pode ser importante, por exemplo, para permitir a
atualizao de programas por problemas de segurana, sem que o servio deixe
de ser prestado.
A Soluo Conectiva para Alta
Disponibilidade
A Conectiva tem participado de projetos internacionais de Alta Disponibilidade,
colaborando com a elaborao de diversos programas que suprem funcionali-
dades bsicas na construo de ambientes de Alta Disponibilidade. O interesse
em trabalhar na integrao de diversas tecnologias e estend-las individualmente
vem do objetivo de prover uma soluo simples e exvel, que possa ser otim-
imizada para as particularidades de cada aplicao. Todos estes projetos seguem
a losoa do Software Livre, assim como a soluo apresentada pela Conectiva
em seu Conectiva Linux.
Neste esprito, a soluo baseada em quatro blocos bsicos, que so: replicao
342
Captulo 9. Alta Disponibilidade
de disco, monitorao de nodos, monitorao de servios e sistema de arquivos
robusto. Estes quatro blocos podem ser utilizados em conjunto ou individual-
mente, possibilitando a criao de solues com failover e failback, automticos
ou manuais, comou semreplicao de dados, e mesmo suportando paradas plane-
jadas. Esta soluo foi idealizada para um cluster de dois nodos.
Monitorao de nodos
A monitorao de nodos realizada pelo heartbeat. Ele o responsvel por testar
periodicamente os nodos do cluster, coordenando as aes de failover e failback.
As solues que utilizam reativao automtica de servios sero baseadas neste
pacote. O heartbeat permite que se execute programas no processo de failover e
failback, controlando qualquer recurso que se deseje.
Replicao de disco
A replicao de disco de responsabilidade do DRBD, um driver de bloco para
o kernel que cria um dispositivo de bloco
2
virtual, consistindo tanto de um disco
real local quanto de uma conexo de rede, que ter na outra ponta outro driver
DRBD atuando como secundrio. Tudo aquilo que escrito no dispositivo virtual
2. disco
343
Captulo 9. Alta Disponibilidade
escrito no disco local e tambm enviado para o outro driver, que far a mesma
operao em seu disco local. Com isto se obtm dois nodos com discos exata-
mente iguais, at o instante da falha. As aplicaes que trabalham com dados
dinmicos ou atualizados com muita freqncia se beneciam deste driver.
Sistema de arquivos
Dados replicados ou no, importante que o sistema de arquivos esteja con-
sistente. Nem todos os sistemas de arquivos garantem isso, portanto para esta
soluo se escolheu trabalhar com o Reiser Filesystem
3
. Este sistema de arquivos
trabalha com journal, o que signica que todas as alteraes de dados so antes
registradas no disco para que, caso o sistema venha a falhar durante este processo,
a transao possa ser recuperada quando o sistema voltar. Isto confere agilidade
ao processo de recuperao de falhas, bem como aumenta muito a conabilidade
das informaes armazenadas.
Monitorao de servios
A monitorao de servios feita atravs do Mon, um super escalonador de testes
3. ReiserFS
344
Captulo 9. Alta Disponibilidade
que pode vericar centenas de mquinas e servios de forma rpida e gil, en-
viando alertas para endereos de correio eletrnico, pagers ou telefones celulares,
garantindo que os administradores dos servios estejam sempre bem informa-
dos sobre seu estado de operao. Suporta dependncias entre testes, portanto
no perde tempo vericando se um servidor de HTTP est respondendo em uma
mquina que sabe estar inoperante. Um alerta pode at mesmo tentar recuperar a
situao automaticamente ou reiniciar uma mquina, caso a falha ocorra em um
horrio de difcil manuteno.
Congurao do DRBD
Tendo dois computadores, chamados aqui de ha1 e ha2, efetue estas conguraes
de forma idntica nos dois. Instale o pacote de utilitrios do DRBD:
# rpm -ivh drbd*
drbd-utils ##############################
drbdconf ##############################
#
345
Captulo 9. Alta Disponibilidade
Congurao via Linuxconf
Abra o Linuxconf e acesse ConguraoAmbiente de RedeTarefas de
servidorDisp. DRBDAdicionar. Observe a Figura 9-1.
Figura 9-1. Congurao do DRBD
No campo N: coloque o hostname do Master, e no campo Partio: a partio
para o DRBD. Efetue estas conguraes tambm para o Slave, atravs da orelha
Congurando para Slave. Clicando em Aceitar surgir o arquivo drbd0, Figura
9-2.
346
Captulo 9. Alta Disponibilidade
Figura 9-2. Arquivo de congurao
Clicando em Sair o mdulo ir perguntar se voc deseja reinicializar os servios,
clique em Sim.
Congurao pelo modo texto
No diretrio /etc/sysconfig/drbd voc encontrar o exemplo de um arquivo de-
scritivo para um dispositivo DRBD, o drdb.example. Copie este arquivo com o
nome de /etc/sysconfig/drbd/drbd0, e efetue as seguintes conguraes:
# endereo do master e do slave end[:porta]
# porta padro: 7788
# Importante: no use nomes de domnio aqui, apenas
347
Captulo 9. Alta Disponibilidade
# os hostnames da forma reportada pelo hostname -s
MASTER_NODE="ha1:7788"
SLAVE_NODE="ha2:7788"
# Aqui voc poder colocar um endereo IP especfico das interfaces se
# for necessrio. Caso seja utilizado, a definio de porta
# (7788, 7779, ...) deve estar aqui. Se no for utilizado, deve
# permanecer em branco (vazio "") mas nunca comentado (#).
MASTER_IF=""
SLAVE_IF=""
OPTIONS=""
# Protocolo usado para este dispositivo o protocolo de confirmao
# pode ser A, B ou C.
PROTOCOL="B"
# Dispositivos usados no master e no slave (podem ser diferentes em
# cada mquina)
MASTER_DEVICE="/dev/nb0"
SLAVE_DEVICE="/dev/nb0"
348
Captulo 9. Alta Disponibilidade
# Parties para o drdb (pode ser uma partio diferente em cada
# mquina), elas devem ter um tamanho similar.
MASTER_PARTITION="/dev/hda6"
SLAVE_PARTITION="/dev/hda6"
Inicialize o DRBD:
# /etc/rc.d/init.d/drbd start
Loading DRBD module [ OK ]
Configuring DRBD resource drbd0 [ OK ]
Waiting for DRBD resource drbd0 to resynchronize [ OK ]
#
Atravs do comando:
# /etc/rc.d/init.d/drbd status
version : 55
0: cs:WFConnection st:Secondary ns:0 nr:0 dw:0 dr:0 of:0
#
Voc poder vericar o estado do DRBD no sistema. Ou ainda vericar o ar-
quivo /var/log/messages com o comando # tm e observar o que houve durante a
inicializao do DRBD.
349
Captulo 9. Alta Disponibilidade
Monte a unidade atravs do script datadisk da seguinte forma:
# /etc/ha.d/resource.d/datadisk start
#
No se pode montar simultaneamente a partio nos dois nodos.
Sistema de arquivos Reiserfs
Instale o pacote de utilitrios do Reiserfs:
# rpm -ivh reiserfs-utils*
reiserfs-utils ############################### #
Inicie a partio com o comando:
# dd if=/dev/zero of=/dev/hda6
Crie um sistema de arquivos Linux Reiserfs utilizando o comando:
350
Captulo 9. Alta Disponibilidade
# mkreiserfs /dev/hda6
<-------MKREISERFS, 1999------->
ReiserFS version 3.5.21
Block size 4096 bytes
Block count 257032
First 16 blocks skipped
Super block is in 16
Bitmap blocks are :
17, 32768, 65536, 98304, 131072, 163840, 196608, 229376
Journal size 8192 (blocks 18-8210 of device 0x3:0x6)
Root block 8211
Used 8219 blocks
Hash function "tea" ATTENTION: ALL DATA WILL BE LOST ON /dev/hda6! (y/n)y
Initializing journal - 0%....20%....40%....60%....80%....100%
Syncing..
Congurao do Heartbeat
351
Captulo 9. Alta Disponibilidade
Instale o pacote do Heartbeat:
# rpm -ivh heartbeat*
heartbeat ##############################
heartbeatconf ##############################
#
Congurao pelo Linuxconf
As conguraes do heartbeat podem ser feitas atravs do mdulo Congurao
do heartbeat do Linuxconf. Este mdulo voc encontrar acessando menu em
ConguraoAmbiente de redeTarefas de servidorCongurao do
heartbeat. Veja a Figura 9-3.
352
Captulo 9. Alta Disponibilidade
Figura 9-3. Congurao do Heartbeat
Em Nodos e Servios clique em Adicionar e adicione um nome para o novo
nodo, no nosso exemplo ha1. Clicando em aceitar surgir o nodo que voc adi-
cionou, Figura 9-4.
Figura 9-4. Nodos
353
Captulo 9. Alta Disponibilidade
Clique sobre o nome do nodo (ha1), surgir a janela Editando nodo com o boto
IPs e Servios. Atravs deste boto escolha Adicionar e digite um IP
4
para este
nodo e os recursos que devem ser monitorados, no campo Servios. A Figura 9-5
contmumexemplo utilizando umIP para este nodo e alguns recursos separando-
os por um espao em branco.
Figura 9-5. IPs e Servios
Vamos denir agora a chave de autenticao, clicando no boto Chaves de Au-
tenticao da Figura 9-3, surgir uma janela com trs mtodos de autenticao e
um campo para denio de uma chave. Preencha de forma similar a Figura 9-6.
4. virtual
354
Captulo 9. Alta Disponibilidade
Figura 9-6. Chaves de Autenticao
Neste caso o mtodo escolhido foi o md5 e a chave de autenticao Ol!.
Para congurar um dispositivo do tipo UDP, por exemplo, clique em Congura-
o de DispositivoAdicionarudp. Digite um nome para o dispositivo, no
nosso caso da Figura 9-7 digitamos no campo Nome do Dispositivo eth0.
Figura 9-7. Lista de dispositivos
E por ltimo faremos mais algumas conguraes personalizadas atravs do boto
355
Captulo 9. Alta Disponibilidade
Conguraes Diversas. Aqui conguramos nomes para arquivos de men-
sagens, implementao para o syslog, tempos opcionais em segundos e a porta
UDP. Note que deixamos a opo Nice failback habilitada. Veja a gura de exem-
plo Figura 9-8.
Figura 9-8. Conguraes diversas
Mais detalhes sobre estas conguraes podero ser vistas seguir, em congu-
rao pelo modo texto.
Congurao pelo modo texto
356
Captulo 9. Alta Disponibilidade
Edite o arquivo haresources.
Este arquivo contm uma lista de recursos que so movidos de mquina para
mquina conforme os ns caem e levantam no cluster. No inclua endereos de
IP xos ou administrativos neste arquivo.
Exemplo para o arquivo /etc/ha.d/haresources:
#nome-do-n endereo-IP-virtual recurso1 recurso2 ... recursoN
ha1 10.0.17.26 mysql httpd datadisk
Outro arquivo a ser modicado o ha.cf, este arquivo tem muitas opes. Tudo o
que voc precisa de uma lista de conjunto de ns (node ...) e uma lista interfaces.
Exemplo de congurao para o arquivo /etc/ha.d/ha.cf:
# keepalive: tempo em segundos entre heartbeats
keepalive 1
# deadtime: tempo em segundos para declarar o host cado
deadtime 5
# porta UDP usada para a comunicao udp
udpport 1001
357
Captulo 9. Alta Disponibilidade
# interface para o heartbeat, uma ou vrias
udp eth0
# Se o cluster estiver executando quando o primrio iniciar ele atuar
# como um secundrio.
nice_failback on
# Arquivo para gravar mensagens de debug debugfile
/var/log/ha-debug
# Arquivo para escrever outras mensagens
logfile /var/log/ha-log
# facility usada para o syslog
logfacility local0
# Mquinas que esto no cluster n nome-do-n ... (nome obtido por
# uname -n).
node ha1
node ha2
O arquivo de autenticao deve estar no modo 600 (-rw-), somente leitura e
358
Captulo 9. Alta Disponibilidade
escrita para o dono, escolha o mtodo e a chave que ir com este identicador de
mtodo.
Exemplo para o arquivo /etc/ha.d/authkeys:
# Deve-se especificar apenas uma diretiva auth
# no incio.
# auth mtodo-de-autenticao
auth 3
# O mtodo md5 considerado o mais seguro para este caso.
3 md5 Ol!
359
Captulo 9. Alta Disponibilidade
360
Captulo 10. Redes Mistas
Neste captulo apresentaremos informaes sobre instalao, congurao e manuteno
de redes heterogneas. Voc poder ver como fazer seu servidor Conectiva Linux
agir como um servidor Windows ou um servidor Netware, fazendo com que
estaes no-Conectiva Linux possam ser utilizadas de maneira transparente.
Alm disso, voc ver como fazer um servidor de arquivos. Voc aprender como
congurar suas mquinas clientes para acessar estes servios.
NFS
Introduo e Conceitos
A maior vantagem do uso de redes de computadores o compartilhamento de
informaes e recursos. Na verdade, este o prprio propsito de se utilizar uma
rede. O compartilhamento de informaes pode ser feito de diversas maneiras,
entre elas est o uso de FTP, web, etc.. J o compartilhamento de recursos por
vrios computadores em uma rede, como discos, pode ser realizado atravs do
NFS.
O NFS um acrnimo para Network File System, ou, em portugus, Sistema
361
Captulo 10. Redes Mistas
de Arquivos de Rede. O NFS foi criado para permitir o acesso transparente a
discos remotos. Ele tambm permite uma maior centralizao da administrao
de discos, pois possvel ter diretrios em uma nica mquina (o servidor NFS) e
compartilhados em todos os sistemas conectados rede. Alm disso, o NFS abre
a possibilidade de existirem clientes sem disco.
Um esquema NFS bem congurado ser totalmente transparente ao usurio. No
ser relevante para o usurio saber em qual servidor um diretrio realmente est.
Basta que seus programas funcionem corretamente sem que ele tenha de realizar
qualquer tipo de congurao especial.
Instalando o NFS
Instale o servidor NFS
1. Acesse o CD 1 do Conectiva Linux:
# cd /mnt/cdrom/conectiva/RPMS/
#
2. Instale os pacotes do NFS:
# rpm -ivh nfs-*
362
Captulo 10. Redes Mistas
nfs-server #############################################
nfs-utils #############################################
#
Congurando o Servidor NFS
A congurao de um servidor NFS muito simples e pode ser feita tanto com o
Linuxconf quanto atravs da edio de arquivos de congurao.
Na verdade, s o que voc ter de fazer denir os diretrios a serem exportados.
Para congurar o seu servidor, entre no Linuxconf e dirija-se ao menu Ambiente
de RedeTarefas de ServidorNFS para que a tela de congurao lhe seja
mostrada tal como na Figura 10-1.
363
Captulo 10. Redes Mistas
Figura 10-1. Tela de congurao do servidor NFS
Nesta tela voc pode denir um caminho a ser exportado. As opes disponveis
so:
Rota para exportar: aqui voc dene o diretrio a ser exportado. Este diretrio poder
ser montado por um cliente.
Comentrio: apenas um comentrio ilustrativo. Pode ser usado para documentar algu-
ma observao sobre o diretrio.
Nome do cliente: neste campo voc pode denir quais mquinas-clientes (separadas
por vrgula) podero acessar este diretrio. Se nenhum cliente for especicado, ento
qualquer mquina poder conectar-se. Voc pode ainda utilizar coringas para denir as
mquinas-clientes. Por exemplo, se voc quer dar acesso a todas as mquinas de seu
domnio, voc pode especicar algo como: *.minhaorganizacao.com.br
364
Captulo 10. Redes Mistas
Pode escrever: indica se o diretrio ser exportado apenas para leitura ou se ser pos-
svel para os usurios gravarem nele.
Privilgios de superusurio: normalmente, o superusurio acessa diretrios remo-
tos com privilgios de nobody. Voc pode especicar esta opo para que o superusurio
continue tendo acesso de superusurio quando acessar o diretrio.
Seguir links simblicos: quando esta opo est ativa, os links simblicos absolutos
(aqueles iniciados por /) so convertidos em links relativos, de forma a atingir a raiz do
servidor.
Requisitar acesso da porta segura: voc pode especicar que apenas conexes
seguras (com nmero baixo de porta de origem) possam montar o diretrio.
Como mencionado anteriormente, a congurao pode tambm ser feita atravs
da edio de arquivos de congurao. Esta edio bastante simples, envol-
vendo apenas a edio do arquivo /etc/exports.
O arquivo /etc/exports bastante simples. Cada linha representa um diretrio
exportado e as informaes so separadas por espaos. Por exemplo:
/share kepler(rw) copernico
Este exemplo exporta o diretrio /share especicando duas mquinas (kepler e
copernico) com opes diferentes (kepler pode gravar no diretrio, enquanto que
copernico s pode ler).
365
Captulo 10. Redes Mistas
Tabela 10-1. Correspondncia entre Opes do Linuxconf e do /etc/exports
/etc/exports Linuxconf
rw Marcar "pode escrever"
no_root_squash Marcar "privilgios de superusurio"
link_relative Marcar "seguir links simblicos"
insecure Desmarcar "requisitar acesso da
porta segura"
Aps feitas as conguraes, voc deve iniciar o servio nfs. Para faz-lo, ne-
cessrio abrir um terminal e digitar o comando (o servio portmap j dever estar
rodando):
# /etc/rc.d/init.d/nfs start
Inicializando servios NFS : [ OK ]
Inicializando quotas (NFS) [ OK ]
Inicializando mountd (NFS) [ OK ]
Inicializando rpc.nfsd (NFS) [ OK ]
366
Captulo 10. Redes Mistas
Congurando um cliente NFS
muito simples fazer uma mquina utilizar um disco remoto. Na verdade, no
necessrio qualquer tipo de congurao para tornar uma mquina um cliente
NFS. Voc s precisa montar o diretrio remoto da mesma maneira como monta
um diretrio local.
1. Antes de mais nada, crie um diretrio na mquina local. Vamos montar o diretrio
remoto neste diretrio local. Em nosso exemplo, montaremos o diretrio /usr/local
da mquina asterix dentro do diretrio local /mnt/asterix
# mkdir /mnt/asterix #
2. Agora monte o diretrio remoto com o comando mount.
# mount asterix:/usr/local /mnt/asterix
#
Feito isso, voc poder perceber que o contedo do diretrio local /mnt/asterix
o mesmo do diretrio /usr/local do servidor asterix.
claro que, em muitos casos, voc desejar que os diretrios remotos sejam auto-
maticamente montados quando da inicializao da mquina-cliente. Para faz-lo,
voc deve utilizar o Linuxconf e entrar em Sistemas de ArquivosAcessar
volumes NFSAdicionar para que a tela de adio de volumes NFS lhe seja
mostrada (Figura 10-2).
367
Captulo 10. Redes Mistas
Figura 10-2. Tela de acesso a volumes NFS
Samba
O SMB o protocolo utilizado em redes Windows para compartilhamento de
recursos, como impressoras e discos. atravs do SMBque o Windowspermite
que uma mquina acesse o disco e a impressora de outra na rede.
Com o crescimento do Linux, tornou-se necessrio fazer com que mquinas Win-
dows e as redes Unix trabalhassem de maneira harmoniosa. Infelizmente, isso
no era muito simples, j que as duas plataformas vinham de culturas muito difer-
entes e tinham diculdades em trabalhar de maneira conjunta sem o auxlio do
Samba.
O Samba, ento, uma implementao livre do protocolo SMB. Com o Samba
ser possvel simular, de maneira transparente, um servidor Windows. Isso
torna possvel o uso de estaes Windows em uma rede Conectiva Linux uti-
lizando o protocolo NetBIOS.
368
Captulo 10. Redes Mistas
Congurando o Servidor Samba
Figura 10-3. Congurao do Samba
A congurao de um servidor Samba um tpico bastante abrangente. Tudo
depende do tipo de servios que voc deseja executar.
Por exemplo, voc deve decidir se deseja que o servidor Samba seja um contro-
lador de domnio ou no.
Instalando o Samba
A instalao do Samba simples:
1. Acesse o CD 1 da distribuio do Conectiva Linux:
# cd /mnt/cdrom/conectiva/RPMS
2. Instale o pacote do Samba:
369
Captulo 10. Redes Mistas
# rpm -ivh samba-*
samba #########################################
samba-clients #########################################
Congurao
Esta seo concentrar-se- na congurao do Samba atravs do Linuxconf. Porm,
existemoutras maneiras de faz-la, como atravs da edio do arquivo /etc/smb.conf
e, ainda, atravs do SWAT. Cobriremos o SWAT no nal desta seo. Os exemplos
de congurao ser sempre sobre o Linuxconf, no sendo necessria qualquer
edio direta do arquivo /etc/smb.conf.
Senhas Criptografadas
O problema mais comum durante a instalao do Samba relacionado com as
senhas dos usurios.
Apartir da verso 98, o Windows comeou a fazer a transmisso de senhas crip-
tografadas pela rede NetBIOS. O Windows 95 e as verses iniciais do Windows
NT, porm, transmitiam sem encriptar as senhas. Essa falta de padronizao en-
tre estes sistemas torna a congurao do Samba um tanto mais complexa.
370
Captulo 10. Redes Mistas
A encriptao de senhas visa proteger as mesmas de tentativas primitivas de de-
scoberta. Infelizmente, os algoritmos de encriptao utilizados no so particu-
larmente fortes.
Senhas Descriptografadas no Windows 95
O padro do Windows 95 no encriptar as senhas. Assim, provvel que
esta congurao no seja necessria para voc. Porm, verses mais recentes do
Windows 95 (como, por exemplo, o Windows 95 OSR2) mudaram seu com-
portamento. Se voc tiver problemas com senhas, siga o procedimento descrito
nesta seo.
A congurao do Windows 95 pode ser feita de duas maneiras. Uma delas
seria a utilizao do arquivo Win95_PlainPassword.reg que acompanha o Samba.
Este arquivo pode ser localizado no diretrio docs/ da documentao on-line do
Samba:
# cd /usr/doc/samba*/docs
Voc pode copi-lo para as estaes Windows 95. Depois, basta abrir o arquivo
(dar dois cliques sobre o mesmo) para que ele seja instalado.
Outra maneira de habilitar senhas editar o registro atravs do utilitrio regedit
do Windows para alterar ou incluir a chave:
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]
"EnablePlainTextPassword"=dword:00000001
371
Captulo 10. Redes Mistas
Senhas Descriptografadas no Windows 98
Como padro, o Windows 98 encripta todas as senhas que trafegam pela rede.
Para poder utilizar estaes Windows 98 com sua rede, siga o procedimento
descrito nesta seo.
A congurao de senhas no encriptadas no Windows 98 pode ser feita de
duas maneiras. Uma delas seria a utilizao do arquivo Win98_PlainPassword.reg
que acompanha o Samba. Este arquivo pode ser localizado no diretrio docs/ da
documentao on-line do Samba:
# cd /usr/doc/samba*/docs
Voc pode copi-lo para as estaes Windows 98. Depois, basta abrir o arquivo
(dar dois cliques sobre o mesmo) para que ele seja instalado.
Outra maneira de habilitar senhas editar o registro atravs do utilitrio regedit
do Windows para alterar ou incluir a chave:
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]
"EnablePlainTextPassword"=dword:00000001
Senhas Descriptografadas no Windows NT
O Windows NT encripta senhas em algumas verses e no encripta em outras.
372
Captulo 10. Redes Mistas
Notadamente, aps o terceiro pacote de consertos (Service Pack 3, ou SP3), ele
passou a encriptar todas as senhas trafegadas pela rede. Assim, recomenda-se
seguir os procedimentos descritos nesta seo para assegurar que ele funcione
como cliente de uma rede Samba. Alm disso, recomendamos que voc tenha,
pelo menos, o Windows NT SP3 instalado.
A congurao de senhas no encriptadas no Windows 98 pode ser feita de
duas maneiras. Uma delas seria a utilizao do arquivo NT4_PlainPassword.reg
que acompanha o Samba. Este arquivo pode ser localizado no diretrio docs/ da
documentao online do Samba:
# cd /usr/doc/samba*/docs
Voc pode copi-lo para as estaes Windows NT. Depois, basta abrir o arquivo
(dar dois cliques sobre o mesmo) para que ele seja instalado.
Outra maneira de habilitar senhas editar o registro atravs do utilitrio regedit
do Windows para alterar ou incluir a chave:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Rdr\Parameters]
"EnablePlainTextPassword"=dword:00000001
373
Captulo 10. Redes Mistas
Conguraes Bsicas
Figura 10-4. Tela de conguraes Globais do Samba
Uma das primeiras conguraes que voc provavelmente desejar fazer denir
o grupo de trabalho. Para isso, abra o Linuxconf e v para as Tarefas de Servidor
no Ambiente de Rede e entre em Samba para comear a congurao. Neste
momento, voc deve ver uma tela semelhante Figura 10-3.
Clique em Padres para congurar o grupo de trabalho.
No campo Grupo de Trabalho, digite o nome desejado.
Como o Windowsnormalmente utiliza o mtodo de segurana por recurso, voc
deve alterar o comportamento padro do Samba, que o de fazer a autenticao
por usurio. Para fazer isso, apenas altere a opo Modo de Autenticao para
Compartilhar. Esta opo pode ser encontrada na pasta Senhas.
Compartilhando um diretrio
Nesta seo, vamos mostrar como compartilhar o diretrio /home/samba para que
o mesmo possa ser montado em uma estao Windows.
1. Abra a caixa de dilogo Compartilhamento de Disco (Figura 10-5).
374
Captulo 10. Redes Mistas
Compartilhando um diretrio atravs do Samba
Figura 10-5. Compartilhamento de Discos
Note que estamos compartilhando o diretrio /home/samba, com o nome de
compartilhamento (aquele que aparecer no Ambiente de Redes do Win-
dows) de publico. Permitimos, tambm, que o usurio, qualquer usurio,
possa gravar no diretrio. Alm disso, denimos que apenas mquinas em
nosso domnio possam acess-lo.
Para compartilhar um diretrio, voc s precisa especicar um nome de com-
partilhamento, o diretrio a ser exportado e denir opes de acesso simples.
Montando um volume Samba
Voc pode ter a necessidade de acessar um volume de uma mquina Windows a
partir do seu Conectiva Linux. Fazer isto no s possvel como muito simples.
O processo deve ser feito atravs da linha de comando. Imaginando que voc
queira montar o disco C: da mquina copernico, que foi compartilhado com o
nome C, em seu diretrio Conectiva Linux /mnt/copernico:
# smbmount //copernico/c /mnt/copernico
#
375
Captulo 10. Redes Mistas
Note que em alguns casos (voc est montando um volume de um servidor Win-
dows NT, por exemplo), ser necessrio que voc informe um usurio e uma
senha para poder utilizar o comando smbmount.
# smbmount //copernico/c /mnt/copernico -o username=mara,password=selva
Isso funcionar se o usurio mara estiver cadastrado na mquina jaguatirica com
a senha selva.
Iniciando o Samba
Para que o seu servidor Conectiva Linux possa funcionar como um servidor
Samba, o servio smbd deve ser inicializado. Para tanto, abra um terminal e dig-
ite:
# /etc/rc.d/init.d/smb start
Inicializando servios SMB : [ OK ]
Inicializando servios NMB : [ OK ]
Congurao do cliente
Esta seo descreve a congurao passo a passo de um cliente Windows 98.
376
Captulo 10. Redes Mistas
A instalao nas outras verses do Windows dever ter uma lista de passos
semelhantes. Em caso de dvidas, voc dever consultar a documentao do Win-
dows ao que se refere aos passos de instalao de uma rede ponto a ponto.
1. Instale normalmente a sua placa de rede conforme a documentao do Windows.
Voc precisar do protocolo TCP/IP e do servio Cliente para Redes Microsoft.
Novamente, consulte a documentao do Windows para informaes sobre como
instalar este servio.
Aps a instalao, as propriedades da sua rede devero se parecer com Figura
10-6.
Figura 10-6. Propriedades da Rede Windows
2. Clique na pasta Identicao na tela de congurao de redes e digite o nome de sua
mquina e o nome do grupo de trabalho. Em nosso exemplo, a mquina se chamar
kepler e far parte do grupo de trabalho minhaorganizacao.
Figura 10-7. Congurao da Identicao da Mquina
377
Captulo 10. Redes Mistas
3. Clique na pasta Controle de Acesso e verique que a tela est congurada como
Figura 10-8.
Figura 10-8. Conguraes do Controle de Acesso
4. Voltando para a tela de congurao de redes, abra a tela de propriedades do proto-
colo TCP/IP; clique em Congurao DNS e adicione o endereo IP do servidor
Samba lista de servidores DNS. Se j no o tiver feito, ative o DNS (opo Ativar
DNS na mesma tela). Note que esta congurao somente se aplica a redes que pos-
suem um servidor DNS. A tela de congurao do DNS mostrada na Figura 10-9.
Voc dever, tambm, editar a pasta Endereo IP, informando o endereo de IP a
ser utilizado pela estao (se sua rede possuir um servidor DHCP, voc no precisar
desta congurao).
378
Captulo 10. Redes Mistas
Figura 10-9. Congurao do DNS
5. Clique em OK e deixe a congurao de rede. O Windows no pode ser congu-
rado imediatamente e, assim, voc ter de reinici-lo quando ele assim o solicitar.
Esses passos devero permitir-lhe colocar uma estao Windows 98 em sua
rede Linux. Aps a mquina ter reiniciado, voc poder abrir o Ambiente de
rede para navegar pelas mquinas disponveis na rede. A tela do Ambiente de
rede de nosso exemplo se parecer com a Figura 10-10.
379
Captulo 10. Redes Mistas
Figura 10-10. Ambiente de Rede
Utilizando o SWAT
Alm do Linuxconf, possvel congurar o Samba atravs de uma outra inter-
face amigvel: o SWAT. O SWAT uma interface web para a congurao. Uma
grande vantagem do SWAT a de que ele permite a congurao remota de um
servidor Samba, j que s necessrio acessar a mquina pela Internet.
380
Captulo 10. Redes Mistas
Para habilitar o SWAT a partir de seu servidor, necessrio editar o arquivo
/etc/inetd.conf e descomentar (retirar o # inicial) da linha:
swat stream tcp nowait.400 root /usr/sbin/swat swat
que est, normalmente, no nal do arquivo. Caso voc no encontre uma linha
semelhante, pode-se adicionar a linha acima.
Aps feita a edio, o servio inetd deve ser reiniciado:
killall -HUP inetd
ou ainda:
/etc/rc.d/init.d/inet restart
A diferena entre os dois comandos que o segundo ir iniciar o servio, caso
no esteja iniciado.
Apartir do momento emque o inetd for reiniciado, o SWAT ser acessvel atravs
da porta 901 de seu servidor. Voc pode acessar o SWAT http://localhost:901
atravs de qualquer navegador (veja Figura 10-11).
Figura 10-11. SWAT
381
Captulo 10. Redes Mistas
Mars-NWE
O Mars-NWE um emulador de Netware, ou seja, um programa que dene
um subconjunto do protocolo NCP da Novell, de forma que estaes o recon-
heam como um servidor Netware.
O Mars uma boa opo ao Netware em redes em que h pelo menos um admi-
nistrador com bom conhecimento de Linux. Alm disso, empresas que iniciaram
um processo de migrao para Linux e possuem algumas estaes DOS podem
tambm utilizar o Mars-NWE.
Como o Mars-NWE um emulador, alguns utilitrios de congurao da Nov-
ell no funcionam com ele e a sua congurao deve ser feita dentro do Linux.
Introduo e Conceitos
O protocolo IPX
O IPX um protocolo de transporte
1
. O gerenciamento de sesso realizado por
outros protocolos. No caso do Netware, este protocolo o NCP.
Ao contrrio do TCP/IP, no protocolo IPX no h a necessidade da especicao
de nmeros de rede, j que os mesmos so sempre os nmeros identicadores da
1. Protocolo que se encarrega de transportar um pacote da rede de uma origem para um destino.
382
Captulo 10. Redes Mistas
placa de rede
2
.
Alm disso, o protocolo IPX rotevel. Isso faz com que os servidores Net-
ware, inclusive o Mars-NWE, automaticamente desempenhema funo de roteadores,
sempre que estiverem ligados a mais de uma rede. Estes servidores constante-
mente "anunciam-se" atravs de pacotes de broadcast de forma que possvel a
criao de tabelas de roteamento dinmicas.
O Bindery
importante salientar que o Mars-NWE no honra a maioria dos objetos bindery
do prprio servidor, como trustees e limitaes de horrio. Assim, as congu-
raes de permisses devem ser feitas atravs do prprio Linux. Os nicos obje-
tos bindery reconhecidos pelo Mars-NWE so as senhas dos usurios. De qual-
quer modo, todos os objetos bindery so armazenados no diretrio /var/mars_nwe,
sendo, assim, uma boa idia manter cpias de segurana do mesmo. Existem
planos para que outros objetos de bindery sejam suportados em verses futuras
do Mars.
2. Nmero atribudo a cada placa na fbrica. Estes nmeros de 48 bits jamais deveriam conitar.
383
Captulo 10. Redes Mistas
Scripts de Logon
Os scripts cam armazenados no diretrio SYS:MAIL\, tal como num servidor Net-
ware. Alm disso, voc ser capaz de criar/alterar esses arquivos via SYSCON.
s vezes o SYSCON no consegue gravar o script de logon; ele grava um ar-
quivo LOGIN.BAK no diretrio do usurio e no consegue renome-lo para LOGIN.
Geralmente isso problema de permisso em diretrios ou arquivos velhos (ou
seja, arquivos copiados de um servidor Netware pr-existente). Renomeie ma-
nualmente no Linux e atribua as permisses do usurio. certo que isso no
acontecer uma segunda vez.
Se voc estiver migrando do Netware para o Mars, certamente vai montar o
volume Netware com ncpmount e copiar os dados para um diretrio como, por
exemplo, /home/netware/sys. bom que, uma vez feita a cpia, voc apague os
subdiretrios do diretrio SYS:MAIL. Se voc no o zer, ali caro os diretrios
antigos, criados pelo servidor Netware. E certo que os nmeros de usurio
atribudos pelo Netware (que so justamente os nomes dos diretrios) no vo
bater com os nmeros criados pelo Mars; e voc ter de car descobrindo quem
quem e atribuir as permisses corretas com chown e chmod etc.. Recomenda-
se apagar tudo e iniciar o Mars de modo que todos os diretrios sejam criados
automaticamente.
Autenticao de Usurios
Cada umdos usurios Netwaredeve corresponder a umusurio Linux cadastrado
384
Captulo 10. Redes Mistas
no arquivo /etc/passwd. Porm, a autenticao dos usurios do Mars no feita
atravs do arquivo /etc/passwd ou do /etc/shadow, mas sim atravs do arquivo
/etc/nwserv.conf.
Como os trustees no so honrados pelo Mars, necessrio estabelecer as per-
misses no prprio Linux atravs dos comandos chmod, chgrp e chown.
J vimos que o arquivo de congurao do Mars estabelece uma relao entre
usurios Netware e usurios UNIX. Os comandos citados acima trabalham ape-
nas com usurios UNIX, portanto as permisses tm de ser pensadas em termos
de usurios UNIX. certo que se os usurios UNIX tiverem os mesmos nomes
dos usurios Netware, ca tudo mais fcil.
O usurio UNIX associado ao supervisor pode ser o root, ou um usurio co-
mum. Se for um usurio comum, ele deve ter um grupo primrio s seu, e tambm
deve participar de todos os grupos onde haja usurios UNIX associados com usu-
rios Netware. Isso garante que o supervisor possa de fato ler e gravar qualquer
arquivo dos volumes exportados.
Associar o root ao supervisor economiza bastante tempo. No entanto, se o servi-
dor estiver num ambiente inseguro (exposto Internet, ou com usurios descon-
hecidos, etc.) melhor associar o supervisor a um usurio Unix comum.
Basicamente, os seguintes pontos tm de ser observados:
Os diretrios e arquivos SYS:SYSTEM, SYS:PUBLIC e SYS:LOGIN devem ser possudos por
root:root, e com permisses de leitura para todo mundo;
O diretrio SYS:MAIL deve ser possudo por root:root (ou pelo usurio e grupo associado
ao supervisor), mas com permisso de leitura para todos;
385
Captulo 10. Redes Mistas
Os demais diretrios e arquivos devem ser possudos pelos respectivos usurios e gru-
pos;
As permisses de todos os diretrios devem ser 2775, se legveis a todos os usu-
rios, e 2770 se legveis apenas aos usurios do grupo. O dgito "2" aciona o bit SGID
do diretrio; assim, quaisquer arquivos e diretrios novos criados dentro do diretrio
sero possudos pelos usurios que os criaram, mas o grupo ser sempre o mesmo do
diretrio-me. Assim, os demais usurios do grupo tambm tero acesso garantido aos
novos arquivos e diretrios. Note que isso complementa a congurao das mscaras
de permisso do arquivo /etc/nwserv.conf;
Odiretrio-raiz de cada volume (como no arquivo-exemplo, o diretrio /home/netware/sys)
deve ter permisses 775 e ser possudo pelo usurio supervisor, salvo no caso de os usu-
rios terem permisso de criar arquivos e diretrios na raiz do volume. Nesse caso as
permisses devem ser 777;
Os diretrios dentro de MAIL/ devem ser possudos pelos respectivos usurios e gru-
pos. Os arquivos LOGIN podem ser possudos pelo usurio ou ainda possudos pelo root
(neste ltimo caso o arquivo est protegido contra tentativas de alterao que partam
do prprio usurio). Note que o arquivo e o diretrio precisam ser, ao menos, legveis
pelo usurio, assim como o diretrio MAIL;
Note que, se voc deixou o Mars cri-los sozinho, as permisses dos diretrios sob
SYS:MAIL j estaro todas corretas, sem necessidade de qualquer interveno do usurio;
Quando um usurio no tiver permisso de leitura a algum diretrio, este lhe
aparecer vazio.
386
Captulo 10. Redes Mistas
Se, por exemplo, um usurio necessita ter acesso ao arquivo VOLUME:DIR1\ARQUIVO, ele
precisar ter, pelo menos, acesso de leitura ao diretrio-raiz de VOLUME, bem como
a todos os diretrios do caminho. Se no puder ler o diretrio, o usurio no enxergar
subdiretrios e arquivos.
Utilitrios DOS
Muitas operaes (cadastro de usurios, senhas, etc.) podem ser feitas atravs
do prprio Linux com os utilitrios /usr/bin/nw*. Mas certo que voc precis-
ar de um ou outro utilitrio da Novell (IPX20, SYSCON, LOGIN, SLIST
etc.) Existem umas poucas verses gratuitas de alguns desses utilitrios (LOGIN
e SLIST), o que insuciente para uma rede com estaes DOS. Ser difcil
manter uma rede Novell totalmente livre de software comercial.
Se voc temumNetwarelicenciado, simplesmente copie os diretrios SYS:PUBLIC
e SYS:SYSTEM para o servidor Mars.
Note que este problema apenas se aplica ao caso de redes com estaes DOS.
Como as estaes Windows 95/98 incluem um cliente para redes Netware
que no depende de nenhum utilitrio DOS, voc ser capaz de constituir uma
rede totalmente livre de software comercial Netware se todas as suas estaes
forem Windows.
Se suas estaes forem todas Linux, tambm no haver necessidade dos util-
itrios DOS. Porm, no h necessidade do Mars-NWE em uma rede assim, j
que possvel, e muito mais lgico, construir uma rede baseada em protocolo
387
Captulo 10. Redes Mistas
TCP/IP.
Performance
Segundo o prprio autor do Mars, a performance do Mars-NWE ligeiramente
inferior ao Netware 3.12, no mesmo hardware, mas superior ao Netware 4.
Testes demonstraram que o Mars-NWE mais rpido (10-15%) que o Netware
3.12 para operaes comuns em arquivos (leitura e gravao de pequenos trechos,
etc.).
Porm, o Mars cerca de 50% mais lento em operaes de leitura/escrita de
grandes trechos, como por exemplo um COPY do DOS. Essa performance pode
ser melhorada atravs de um recurso chamado de packet burst, que est ainda em
estado experimental. Para mais informaes sobre como habilitar este recurso,
vide a seo Verso do Netware.
Problemas Conhecidos
Alm do fato de que alguns procedimentos so um tanto complexos para quem
est acostumado com Netware, o Mars-NWE tem uma caracterstica indese-
jvel. Se um usurio abrir um arquivo em modo exclusivo, e depois tentar abrir
novamente o mesmo arquivo, ter sucesso, enquanto o comportamento de um
servidor Netware seria negar quaisquer tentativas de reabertura.
388
Captulo 10. Redes Mistas
Note que isso acontece apenas se o arquivo aberto mltiplas vezes atravs da
mesma conexo. Se um usurio entrar no sistema com o mesmo nome em difer-
entes estaes, e tentar abrir um mesmo arquivo em modo exclusivo em todas
elas, no ter sucesso a partir da segunda estao. O impacto desse bug do Mars
varia em funo dos programas utilizados.
Se os usurios costumam abrir mltiplas instncias de um mesmo aplicativo, e
esse aplicativo usa abertura de arquivos em modo exclusivo para garantir integri-
dade de certas operaes, pode haver problemas. Se voc tiver problemas com
isso, voc pode proibir os usurios com estaes Windows de abrir mltiplas
instncias do mesmo aplicativo.
Um outro possvel problema que o Mars no vai carregar/executar suas NLMs.
Uma extenso eventualmente encontrada emservidores Netware3 o BTrieve.
J existe BTrieve para Linux, porm um produto comercial.
Congurao
A congurao do Mars ainda no pode ser feita atravs do Linuxconf. Assim
sendo, o processo de congurao de um servidor Mars deve ser realizado atravs
da edio do arquivos de congurao /etc/nwserv.conf.
Oarquivo /etc/nwserv.conf controla todo o comportamento de seu servidor Mars-
NWE. Perceba que as opes so sempre precedidas por um nmero identi-
cador. Este nmero utilizado pelo Mars para reconhecer a funo de cada linha.
389
Captulo 10. Redes Mistas
Nesta seo, vamos mostrar-lhe como congurar as opes mais comuns (note
que existem vrias outras, mas que elas so pouco utilizadas). Voc poder en-
contrar informaes sobre as mesmas no prprio arquivo /etc/nwserv.conf padro
que acompanha a instalao.
Volumes do Servidor
Voc deve especicar quais sero os volumes do servidor Mars. Para especicar
um volume do servidor, voc dever incluir uma linha para cada volume no ar-
quivo de congurao. Esta linha tem a seguinte sintaxe:
1 VOLUME DIR_LINUX OPCOES MASC_DIR MASC_ARQ
onde:
VOLUME: nome do volume como ser visto pelas estaes.
DIR_LINUX: diretrio do Conectiva Linux onde este volume ser armazenado.
OPCOES: as opes so: opo k, que permite nomes em letras minsculas no Conec-
tiva Linux. Estes nomes sero automaticamente convertidos para letras maisculas para
estaes DOS. Se esta opo no for especicada, os nomes tm de ter letras maisculas
no Conectiva Linux; opo o: especica que os subdiretrios esto no mesmo sistema de
arquivos. Isso permite ao Mars fazer algumas otimizaes.
MASC_DIR: aqui voc pode especicar as permisses padro de diretrios. Novos dire-
trios sero criados com estas permisses.
390
Captulo 10. Redes Mistas
MASC_ARQ: aqui voc pode especicar as permisses padro para arquivos. Todos os
novos arquivos sero criados com estas permisses.
No esquea que a presena do volume SYS obrigatria.
Exemplo:
1 SYS /home/netware/sys ko 775 775
1 FABRICA /home/netware/fabrica ko 775 775
1 PESSOAL /home/netware/pessoal ko 775 775
Nome do Servidor Netware
Para denir o nome do servidor Netware, basta incluir uma linha contendo o
nome desejado:
2 NOME_SERVIDOR
Onde NOME_SERVIDOR
Exemplo:
2 FABRICA
391
Captulo 10. Redes Mistas
Isso dene o nome do servidor como sendo FABRICA.
Rede Interna
Voc pode especicar o nmero de sua rede interna. Pode-se especicar a opo
auto, para que o Mars escolha automaticamente o nmero da rede interna (ele
simplesmente utiliza o nmero IP da interface de rede).
3 NUM_REDE
Onde NUM_REDE o nmero da sua rede interna (opcionalmente, utilize auto).
Exemplo:
3 auto
Placas de Rede
Os parmetros para a congurao das placas de rede so:
4 NUM_REDE INTERFACE PADRAO_PACOTE TEMPO
392
Captulo 10. Redes Mistas
onde:
NUM_REDE: o nmero da rede.
INTERFACE: a interface de rede do Linux.
PADRAO_PACOTE: o padro de empacotamento utilizado pelo servidor. Este padro
pode ser 802.2, 802.3, ethernet_ii, snap, token ou auto. Obviamente, este padro de empa-
cotamento deve ser o mesmo utilizado pelas estaes. O boot remoto do Netware exige
802.3.
TEMPO: o tempo levado por uma pacote para ser transmitido pela interface. Para
placas de rede, utilize sempre 1.
Todas as interfaces de rede devem ter nmeros de IP, mesmo que o servidor no
esteja servindo nenhum protocolo baseado em TCP/IP.
Exemplo:
4 0x01 eth0 802.3 1
Salvamento de Rotas
Como padro, o Mars no salva as rotas quando desativado. Assim, sempre que
o Mars ativado ele passa de 1 a 2 minutos procurando as mesmas. Isso pode
ser modicado, fazendo com que o Mars salve as rotas no momento em que
393
Captulo 10. Redes Mistas
desativado.
5 SALVAR
Onde SALVAR um valor numrico. "0" faz com que o Mars no salve as rotas
"1" faz com que o Mars salve as rotas no momento da desativao, acelerando a
inicializao posterior.
Exemplo:
5 0
Neste exemplo, o Mars est congurado para no salvar as rotas.
Verso do Netware
Voc pode indicar a verso do Netware que o Mars vai aparentar ser. Isso
importante para alguns programas que s funcionam com verses especcas do
Netware.
6 VERSAO PACKET_BURST
Onde:
VERSAO: um cdigo especicando a verso do Netware. Este cdigo pode ser: 0
394
Captulo 10. Redes Mistas
para Netware 2.15, 1 para Netware 3.11 e 2 para Netware 3.12.
PACKET_BURST: um cdigo para habilitar ou desabilitar o packet burst. Este recurso
ainda experimental no Mars, mas capaz de aumentar consideravelmente a performance
do servidor. O cdigo pode ser 0x1 para habilitar ou 0x0 para desabilitar o recurso.
Exemplo:
6 2 0x0
Isso dene o servidor como Netware 3.12 sem packet burst.
Tratamento de Senhas
Voc pode denir como as senhas dos clientes DOS sero tratadas.
7 MODO
Onde MODO um cdigo que indica como tratar as senhas:
0: fora a encriptao de todas as senhas.
1: fora a encriptao de todas as senhas, mas suporta a rotina no encriptada de mudana
de senha.
7: permite senhas no encriptadas, mas no permite senhas vazias.
395
Captulo 10. Redes Mistas
8: permite senhas no encriptadas e senhas vazias.
9: permite apenas senhas no encriptadas.
Exemplo:
7 0
Dene o comportamento padro.
Segurana de Arquivos durante o Processo de Login
Existem muitas opes que controlam a parte de segurana dos arquivos durante
a fase de login.
0: os clientes s podem acessar o diretrio SYS:LOGIN. Esta a opo padro.
1: os clientes podem acessar outros arquivos alm dos SYS:LOGIN/*, mas ainda sujeitos s
permisses do Linux.
2: este modo permite acesso a arquivos da seguinte forma: se o cliente tenta abrir um
arquivo para escrita, mas o mesmo apenas leitura, o Mars permite a abertura, mas apenas
para leitura.
4: permite que diretrios sejam renomeados atravs de uma chamada NCP que normal-
mente s funcionaria com arquivos.
396
Captulo 10. Redes Mistas
8: ignorar restries de estao e de tempo no caso do supervisor. Atualmente, esta opo
no faz nada, j que o Mars ainda no suporta este tipo de objeto bindery.
16: permite que um arquivo em utilizao por outro usurio seja apagado.
32: armazena entradas de arquivos para uso posterior. Normalmente, apenas os diretrios
so armazenados. Isso necessrio caso voc utilize ncpfs como cliente Mars.
64: limita o espao livre alegado em 2GB. Isso necessrio para alguns clientes antigos
do DOS.
8 MODO
Onde MODO a soma dos cdigos das opes desejadas.
Exemplo:
8 20
Isso dene que diretrios podem ser renomeados via NCP (4) e que arquivos em
uso podem ser apagados (16).
Usurio Convidado
Voc deve especicar um usurio do Linux para corresponder ao usurio "convi-
dado" (guest). Durante o processo de boot remoto e login, o servidor dar essa
397
Captulo 10. Redes Mistas
permisso para o cliente, portanto importante vericar que este usurio tenha
acesso aos arquivos necessrios (SYS:LOGIN\LOGIN.exe e SYS:LOGIN\NET$DOS.SYS)
10 UID 11 GID
Onde:
UID: o nmero do usurio "convidado".
GID: o nmero do grupo do usurio "convidado".
Voc pode especicar o usurio:grupo nobody:nobody (99:99) para ser o usurio
"convidado".
Exemplo:
10 99 11 99
Isso dene o usurio nobody:nobody como usurio convidado.
Usurios com Poder de Supervisor
Voc deve denir quais sero os usurios com poderes de supervisor.
12 USU_NW USU_LINUX SENHA
398
Captulo 10. Redes Mistas
Onde:
USU_NW: o nome do usurio "supervisor"no Netware.
USU_LINUX: a conta do usurio no Linux.
SENHA: a senha do usurio no Linux. Note que uma boa idia mudar as permis-
ses do arquivo /etc/nwserv.conf para 700 de forma que ningum possa ler o arquivo e
descobrir a senha do supervisor.
Exemplo:
12 SUPERVISOR root !92oi28#
Isso dene que o usurio root ser o supervisor e que sua senha !92oi28#
Usurios do Netware
Voc pode cadastrar os usurios do Netware. H duas maneiras de se cadastrar
as senhas dos mesmos: como parmetro desta linha no arquivo de congurao
ou atravs do SYSCON.
13
USU_NW:USU_LINUX:[SENHA]
399
Captulo 10. Redes Mistas
Onde:
USU_NW: o nome do usurio no Netware.
USU_LINUX: o nome do usurio Linux associado.
SENHA: a senha do usurio. Note que este parmetro opcional, j que a senha pode
ser congurada pelo supervisor via SYSCON.
Se a senha for congurada atravs do SYSCON, o usurio pode alterar a senha
temporariamente atribuda pelo administrador.
Um mesmo usurio Linux pode ser associado a vrios usurios Netware, facil-
itando a implementao da segurana.
Exemplo:
13 CLARA chefia
13 JORGE chefia
13 MARCIO producao
13 DEMERVAL demerval
Estas linhas cadastram alguns usurios. Note que CLARA e JORGE so mapeados
para um mesmo usurio Linux (chefia).
Mapeamento Automtico de Usurios
400
Captulo 10. Redes Mistas
possvel mapear automaticamente os usurios Linux e os usurios do Net-
ware.
15 MAPEAMENTO_AUTOMATICO
Onde MAPEAMENTO_AUTOMATICO 0 para desabilitar e 1 para habilitar
o mapeamento automtico de usurios.
Exemplo:
15 0
Desabilita o mapeamento automtico. Note que desabilitar esta opo altamente
desaconselhvel.
Criao dos Diretrios Essenciais
Com a opo 16, o Mars sempre testar a existncia dos diretrios essenciais
(MAIL, diretrios de usurios, etc..) e os criar, se houver necessidade.
16 TESTAR
Onde TESTAR 0 para no testar e 1 para testar a existncia dos arquivos (isso,
401
Captulo 10. Redes Mistas
obviamente, implica na criao dos mesmos em caso de necessidade).
Script de Login Padro
Existe um problema quando o SYSCON tenta gravar o primeiro script de lo-
gin: ele no consegue faz-lo. Se voc habilitar essa opo, este problema estar
resolvido e um script de login padro (vazio) ser criado.
17 CRIAR
Onde CRIAR 0x0 para no criar, e 0x1 para criar.
Exemplo:
17 0x1
Esse exemplo instrui o Mars a sempre criar um script de login padro, quando o
usurio no possuir um.
Desligamento do Banner de Impresso
402
Captulo 10. Redes Mistas
Com esta opo, voc pode desligar a impresso do banner incondicionalmente.
Isso til principalmente quando se est utilizando estaes Windows 95 anti-
gas, j que as mesmas no oferecem essa importantssima opo.
18 BANNER
Onde BANNER 0 para no imprimir, e 1 para permitir a impresso. Note que,
se for especicado o valor 1, a impresso do banner ainda pode ser evitada atravs
de opes do Netware.
Exemplo:
18 0
Jamais imprimir o banner nas impresses.
Filas de Impresso
Voc pode especicar as las de impresso para utilizao das estaes. Cada la
ocupa uma linha:
21 NOME DIRETORIO COMANDO
403
Captulo 10. Redes Mistas
Onde:
NOME: o nome da la de impresso do Netware.
DIRETORIO: o diretrio onde as tarefas de impresso sero gravadas. Note que este di-
retrio temde existir e que ele no pode ser o diretrio da la do Linux (/var/spool/lpd/*).
Exemplo:
21 LASER SYS:/PRINT/LP lpr -P text
Neste mesmo guia vamos apresentar outro protocolo para trabalhar com redes
mistas, veja no apndice B.
404
Apndice A. Appletalk
O Conectiva Linux oferece o pacote Netatalk em sua distribuio. Este pacote
contm o protocolo Appletalk, que permite ao servidor Conectiva Linux servir
impressoras e arquivos para estaes Macintosh.
Note que o caminho inverso no possvel, ou seja, o Macintosh no pode ser
servidor de uma rede Linux. Isto depende da criao de um mdulo do kernel que
ainda est em seus estgios iniciais de desenvolvimento.
O Netatalk aceita conexes via protocolo Ethertalk e TCP/IP. Os computadores
Macintosh mais novos privilegiam o TCP/IP como protocolo de transporte.
O pacote Netatalk consiste de 3 servios que atuam em conjunto, embora possam
ser ativados e desativados independentemente:
atalkd: serve o Appletalk via Ethertalk;
afpd: serve o Appletalk via TCP/IP;
papd: intermedia os servios de impresso para os outros dois servios.
Se voc no compartilhar impressoras e nem necessitar do Ethertalk, pode iniciar
apenas o afpd e, assim, economizar um pouco de memria.
405
Apndice A. Appletalk
Instalando o Netatalk
Para instalar o Netatalk:
Acesse o diretrio de pacotes do CD 1 do Conectiva Linux
# cd /mnt/cdrom/conectiva/RPMS
Instale os pacotes do Netatalk:
# rpm -ivh netatalk-*
netatalk ###########################################
netatalk-devel ###########################################
Congurando o Netatalk
O Netatalk do Conectiva Linux j vem pr-congurado para as aplicaes sim-
ples. Tudo o que voc tem de fazer especicar os diretrios a serem exportados
como volumes para as estaes Macintosh.
406
Apndice A. Appletalk
ONetatalk concentra todos os seus arquivos de congurao no diretrio /etc/atalk.
Exportando Diretrios
Para especicar quais diretrios sero exportados como volumes para os clientes
Macintosh, voc deve editar o arquivo /etc/atalk/AppleVolumes.default e adi-
cionar as linhas correspondentes aos diretrios.
As linhas de /etc/atalk/AppleVolumes.default tem o seguinte formato:
PATH [NOME] [casefold=X] [codepage=X] [options=X,Y,Z] \
[access=X,@Y,Z] [dbpath=X] [password=X]
Onde:
NOME: uma descrio do volume;
casefold: so opes de caixa do texto dos nomes de arquivos e diretrios. Pode ser:
tolower: converte as letras para minsculas no servidor e nos clientes;
toupper: converte as letras para maisculas no servidor e nos clientes;
xlatelower: converte para minsculas no cliente e para maisculas;
xlateupper: converte para maisculas no cliente e para maisculas.
407
Apndice A. Appletalk
codepage: indica a pgina de cdigos a ser utilizada. O parmetro o nome de um
arquivo do diretrio nls;
options: so opes diversas divididas por vrgulas. Pode ser qualquer combinao de:
prodos: permite compatibilidade com clientes AppleII;
crlf: habilita a converso dos caracteres de nova linha dos arquivos textos entre os
dois ambientes;
noadouble: no cria os arquivos .AppleDouble a no ser que uma diviso dos re-
cursos se faa necessria. Os arquivos .AppleDouble so arquivos criados para cada
arquivo em um diretrio. O Macintosh guarda informaes como cone, tipo de ar-
quivo, etc, nestes arquivos. Isoladamente eles so bastante pequenos (589 bytes),
mas podem ocupar bastante espao devido ao grande nmero de arquivos gerados.
access: uma lista de nomes de usurios e/ou grupos que no podem acessar o volume.
Os grupos devem ser precedidos por uma arroba ("@");
dbpath: diretrio onde o banco de dados ser gravado;
password: uma senha para proteger o diretrio.
408
Apndice A. Appletalk
Congurando Permisses de Acesso
Usurios
Para acessar o servidor Netatalk, o cliente Macintosh deve fornecer um nome de
usurio e uma senha, que deve estar cadastrados no servidor Conectiva Linux.
Voc pode criar um usurio nico que ser utilizado por todas as estaes Mac-
intosh ao mesmo tempo. Embora isso facilite a administrao, prejudica a segu-
rana j que qualquer usurio ter acesso total aos arquivos dos outros.
Permisses no Diretrio dos Volumes
Os usurios precisam ter permisso de escrita nos diretrios dos volumes que
forem acessar via Appletalk.
Isso porque o Netatalk precisa guardar ali algumas informaes referentes ao
cliente Macintosh. Alm disso, ser criada nestes diretrios as suas respectivas
Lixeiras.
Como a criao de um diretrio com todas as permisses para todos os usurios
no algo desejvel no servidor Conectiva Linux, voc pode criar um grupo
atalk, colocar os usurios do Macintosh neste grupo e somente permitir escrita
409
Apndice A. Appletalk
aos arquivos aos membros deste grupo.
Na Estao
Para acessar os volumes, utilize o Network Browser. Expanda a seo AppleTalk.
Se estiver tudo congurado de acordo, o nome do servidor Conectiva Linux j
deve aparecer na lista.
Expanda o servidor Conectiva Linux para visualizar os volumes exportados. Nesse
instante, o MacOS solicitar um nome de usurio e uma senha, que voc j de-
ver ter cadastrado no Conectiva Linux.
Clicando-se duas vezes sobre qualquer volume, uma nova janela ser aberta,
mostrando os arquivos e diretrios do volume em forma de cones ou em forma
de lista.
Se voc clicar duas vezes em um volume e seu contedo no for mostrado, isso
sintoma de falta de permisses (vide a a seo Congurando Permisses de
Acesso). Por outro lado, se voc consegue acessar o volume, mas tiver permisses
insucientes para manipular determinado arquivo, o MacOS noticar-lhe- ex-
plicitamente do problema.
O MacOS tem a caracterstica indesejvel de manter em cache as permisses
negativas. Ou seja, ele continuar reportando falha de acesso mesmo que as per-
misses tenham sido modicadas no Conectiva Linux. Voc ter de forar o Ma-
cOS desconectar-se do servidor Linux de alguma forma - seja resetando o Mac,
410
Apndice A. Appletalk
reiniciando o servio Netatalk, ou quebrando a conexo TCP/IP.
Inicializando o Netatalk
Para inicializar o Netatalk:
# cds
atalk dhcpd httpd kudzu mysql nfs postgresql
atd functions inet linuxconf-setup named nfslock random
autofs gpm keytable lpd netfs pcmcia sendmail
crond halt killall mars-nwe network portmap single
# ./atalk start
Starting AppleTalk Services: [ OK ]
Starting papd service: [ OK ]
Starting afpd service: [ OK ]
Voc pode utilizar o ntsysv para congurar estes servios para sereminicializados
automaticamente.
411
Apndice A. Appletalk
412
Apndice B. Licenas Gerais
Introduo
Praticamente todos os softwares contidos no CD-ROM do Conectiva Linux so
de livre distribuio. Poucos requerem algum tipo de autorizao especial para
utilizao, obtidos pela Conectiva S.A. (http://www.conectiva.com.br) e alguns
softwares desenvolvidos pela prpria Conectiva so disponibilizados sob licena
comercial de uso.
A maioria dos softwares distribuda sob uma das trs licenas apresentadas
neste captulo. Por favor verique em cada software quais so os seus compo-
nentes e quais os termos de sua distribuio.
Todos os softwares no CD-ROM produzido pela so copyright da Conectiva
S.A. (http://www.conectiva.com.br). A menos que exista manifestao expressa,
os softwares contidos no CD so de livre distribuio sob a Licena Pblica GNU
(GPL).
Os termos Red Hat e rpmso marcas de propriedade da Red Hat Software,
Inc. Os termos Conectiva e WebBatch so marcas de propriedade da Conectiva
S.A. (http://www.conectiva.com.br).
413
Apndice B. Licenas Gerais
O BSD Copyright
Copyright 1991, 1992, 1993, 1994 The Regents of the University of California.
Todos os direitos reservados.
Redistribuio e uso nas formas de cdigo-fonte ou binrios, com ou sem modi-
cao so permitidos dentro das seguintes condies:
1. Aredistribuio do software deve conter todas as informaes sobre direitos autorais,
esta lista de condies e o aviso abaixo;
2. A redistribuio de binrios ou executveis deve conter todas as informaes sobre
direitos autorais, listas de condies e o aviso abaixo, na documentao e/ou em
outros materiais constantes da distribuio;
3. Todos os comerciais e anncios mencionando funcionalidades deste software devem
apresentar o seguinte texto: Este produto inclui software desenvolvido pela Uni-
versidade da Califrnia, Berkeley e seus contribuintes;
4. O nome da Universidade ou de seus contribuintes no pode ser utilizado para en-
dossar ou promover produtos derivados deste software sem expressa autorizao por
escrito.
ESTE SOFTWARE DISTRIBUDO POR SEUS MONITORES E CON-
TRIBUINTES NAFORMAEMQUESEENCONTRA, EQUALQUERGA-
RANTIA EXPRESSA OU IMPLCITA, INCLUINDO, MAS NO LIMI-
TADAS, S GARANTIAS COMERCIAIS E ATENDIMENTO DE DETER-
MINADOS PROPSITOS, NO SO RECONHECIDAS. EM NENHUMA
414
Apndice B. Licenas Gerais
HIPTESE OS MONITORES OU SEUS CONTRIBUINTES SERO RE-
SPONSVEIS POR QUALQUER DANO DIRETO, INDIRETO, ACIDEN-
TAL, ESPECIAL, INCLUINDO, MAS NO LIMITADO, SUBSTITU-
IODEMERCADORIAS OUSERVIOS, IMPOSSIBILIDADEDEUSO,
PERDADEDADOS, LUCROS CESSANTES OUINTERRUPODEATI-
VIDADES COMERCIAIS, CAUSADOS EMQUALQUERBASEPELOUSO
DESTE SOFTWARE.
X Copyright
Copyright 1987 X Consortium
concedida e garantida a qualquer pessoa, livre de custos, a obteno de cpia
deste software e dos arquivos de documentao associados (o Software), po-
dendo lidar com o Software sem restries, incluindo os direitos de uso, cpia,
modicao, unicao, publicao, distribuio, sublicenciamento e/ou venda
de cpias do Software, e a permisso para as pessoas s quais o Software for
fornecido, dentro das seguintes condies:
As informaes de direitos autorais a seguir devem estar presentes em todas as
cpias ou partes substanciais do Software:
O SOFTWARE SER DISPONIBILIZADO NA FORMA EM QUE SE EN-
CONTRA, SEM GARANTIAS DE QUALQUER ESPCIE, EXPRESSAS
OUMPLICITAS, INCLUDAS, MAS NOLIMITADAS, S GARANTIAS
415
Apndice B. Licenas Gerais
COMERCIAIS, OATENDIMENTOADETERMINADOS FINS EOATEN-
DIMENTO DE DETERMINADA FUNCIONALIDADE. DE FORMA AL-
GUMAOCONSRCIOX(XCONSORTIUM) SERRESPONSVELPOR
QUALQUER RECLAMAO, DANO OU OUTRAS PERDAS, A MENOS
QUE EXPRESSO EM CONTRATO, ACORDO OU OUTRAS FORMAS,
NOQUESEREFEREAUTILIZAO, COMERCIALIZAO, CONEXO
OU OUTROS CONTATOS COM ESTE SOFTWARE.
Exceto pelo contido nesse aviso, o nome do Consrcio X (X Consortium) no
poder ser utilizado em qualquer comercial ou outra forma de promoo de ven-
das, uso ou outras negociaes deste Software, sem a expressa autorizao do X
Consortium.
Copyright 1987 Digital Equipment Corporation, Maynard, Massachusetts. To-
dos os direitos reservados.
Permisso de uso, cpia, modicao e distribuio deste software e sua docu-
mentao com qualquer objetivo e sem nus garantida, desde que o copyright
abaixo aparea em todas as cpias e que tanto o copyright, como este aviso e
o nome da Digital apaream, no podendo ser usados em anncios, publicidade
referentes distribuio do software sem autorizao expressa por escrito.
ADIGITALNOFORNECEQUALQUERTIPODEGARANTIANOUSO
DESTESOFTWARE, INCLUINDOTODAS AS COMERCIAIS EDEATEN-
DIMENTO A DETERMINADOS PROPSITOS, E EM HIPTESE AL-
GUMA A DIGITAL SER RESPONSVEL POR QUALQUER RECLA-
MAO, DANO OU OUTRAS PERDAS, A MENOS QUE EXPRESSO EM
CONTRATO, ACORDOOUOUTRAS FORMAS, NAUTILIZAO, COM-
ERCIALIZAO, CONEXOOUOUTROS CONTATOS COMESTESOFT-
416
Apndice B. Licenas Gerais
WARE.
417
Apndice B. Licenas Gerais
418
Apndice C. Licena de Uso e
Garantia de Produto
Por favor leia este documento cuidadosamente antes de instalar o Conectiva Linux,
ou qualquer um de seus pacotes, ou qualquer programa includo com este produto
em seu computador. Este documento contm informaes importantes sobre seus
direitos legais. Ns fortemente lhe encorajamos a considerar os pontos apresen-
tados aqui, e a entender e aceitar os termos e condies pelos quais este programa
est licenciado a voc. Instalando qualquer programa includo com este produto,
voc aceita os termos e condies a seguir.
Geral
O Sistema Operacional Conectiva Linux tem seu direito autoral baseado na Li-
cena Pblica Geral GNU (GPL). Ns acreditamos que a GPL disponibiliza os
melhores mecanismos para todos os benefcios e liberdades disponibilizados pe-
los programas de livre distribuio. Uma cpia da GPL pode ser encontrada no
manual de instalao do Conectiva Linux, em http://www.conectiva.com.br e em
diversos sites na Internet. O Conectiva Linux um sistema operacional modular
feito de centenas de outros programas componentes, cada um destes escrito por
pessoas diferentes e com seu prprio direito autoral. Neste documento eles so
419
Apndice C. Licena de Uso e Garantia de Produto
referenciados, individualmente e coletivamente, como Programas. Vrios Pro-
gramas tm seu direito autoral baseados na GPL e outras licenas que permitem
a cpia, modicao e redistribuio. Por favor, verique a documentao on-
line que acompanha cada um dos Programas inclusos no Conectiva Linux para
vericar sua licena especca. Ns sugerimos ler estas licenas cuidadosamente
para entender seus direitos e utilizar melhor os benefcios disponibilizados pelo
Conectiva Linux.
Licena Restrita de Produtos
Adicionalmente aos Programas de livre distribuio, a Conectiva pode incluir
neste produto diversos Programas que no esto sujeitos a GPL ou outras licenas
que permitem modicao e redistribuio. Alguns destes programas esto cita-
dos abaixo:
AcrobatReader
AcuCobol-4.3
Aker
Arkeia
420
Apndice C. Licena de Uso e Garantia de Produto
BR
Dataex
Domino
FlagShip
JRE
Jade
MZS
Oracle8i
SpoolBiew
db2
oss
vmware
xni
e diversas aplicaes do CD aplicativos comerciais. Geralmente, cada um destes
componentes licenciado a voc unicamente em sua forma binria de maneira re-
421
Apndice C. Licena de Uso e Garantia de Produto
strita, ou seja, voc poder instalar estes componentes em um nico computador
para seu uso individual. A cpia, redistribuio, engenharia reversa e/ou modi-
cao destes componentes proibida. Qualquer violao dos termos das licenas,
imediatamente cancela sua licena. Para saber os termos precisos das licenas
destes componentes, por favor, verique a documentao on-line que acompanha
cada um destes componentes. Se voc no concorda em aceitar os termos da
licena destes componentes, ento no os instale em seu computador. Se voc
gostaria de instalar estes componentes em mais que um computador, por favor,
contate o distribuidor dos programas para adquirir licenas adicionais.
Antes da Instalao
LEIA ATENTAMENTE OS TERMOS E CONDIES A SEGUIR ANTES
DE INSTALAR O CONECTIVA LINUX OU QUALQUER UM DOS PRO-
GRAMAS INCLUDOS COM ELE. INSTALAR QUALQUER UM DESTES
PROGRAMAS INDICA SUA ACEITAO AOS TERMOS E CONDIES
A SEGUIR. SE VOC NO CONCORDA COM ESTES TERMOS E CONDI-
ES NO INSTALE ESTES PROGRAMAS.
OS PROGRAMAS, INCLUINDOOS CDIGOS-FONTE, DOCUMENTAO,
APARNCIA, ESTRUTURA E ORGANIZAO, SO PRODUTOS PROPRI-
ETRIOS DA CONECTIVA S.A.; INC; ORACLE, SUN E OUTROS E SO
PROTEGIDOS PELO DIREITO AUTORAL E OUTRAS LEIS. ESTES PRO-
GRAMAS E QUALQUER CPIA, MODIFICAO OU PARTE ORIGINADA
422
Apndice C. Licena de Uso e Garantia de Produto
DESTES PROGRAMAS, DEVEM A QUALQUER TEMPO PERMANECER
COM OS ACIMA MENCIONADOS, SUBMETIDOS AOS TERMOS E CON-
DIES DA GPL OU OUTRA LICENA RELACIONADA COM OS PRO-
GRAMAS EM CONSIDERAO.
Garantia Limitada
EXCETO SE ESPECIFICAMENTE DITO NESTE ACORDO, OS PROGRA-
MAS SO DISPONIBILIZADOS E LICENCIADOS COMO ESTO, SEM
GARANTIA DE QUALQUER TIPO SEJA ELA EXPRESSA OU IMPLCITA,
INCLUINDO, MAS NO LIMITADA, PARA AS GARANTIAS DE COMER-
CIALIZAO E CONVENINCIA PARA UM PROPSITO PARTICULAR.
A Conectiva S.A. (http://www.conectiva.com.br) garante que a mdia na qual os
Programas esto gravados livre de defeitos de fabricao e manufatura sob uso
normal durante um perodo de 30 dias da data da compra. A Conectiva S.A.
(http://www.conectiva.com.br)& no garante que as funes contidas nos Progra-
mas sero compatveis com os requisitos que voc espera delas ou que a operao
dos Programas ser inteiramente livre de erros ou aparecero precisamente como
descritos na documentao que acompanha o produto.
423
Apndice C. Licena de Uso e Garantia de Produto
Limitao de Reparao e
Responsabilidade
Pelo mximo permitido pelas leis aplicveis, as reparaes descritas a seguir so
aceitas por voc como nicas, e devem ser disponveis somente se voc registrou
este produto com a Conectiva S.A., de acordo com as instrues disponibilizadas
com este produto, at dez dias depois de ter recebido o mesmo. A inteira re-
sponsabilidade da Conectiva S.A. (http://www.conectiva.com.br), e sua reparao
exclusiva, devem ser: se a mdia que disponibiliza os Programas estiver com de-
feito, voc pode retorn-la dentro de 30 dias da data da compra, juntamente com
uma cpia da nota scal e a Conectiva S.A. (http://www.conectiva.com.br), a seu
critrio, ir troc-la ou proceder a devoluo do dinheiro.
PELO MXIMO PERMITIDO PELAS LEIS APLICVEIS, EM NENHUM
EVENTO OU MOMENTO A CONECTIVA S.A. SER RESPONSVEL POR
QUALQUER DANO, INCLUINDO LUCROS CESSANTES, PERDAS ECO-
NMICAS OU OUTROS DANOS ACIDENTAIS OU DANOS CONSEQEN-
TES, PELOUSOOUINAPTIDOPARAOUSODOS PROGRAMAS, MESMO
QUE A CONECTIVA S.A. OU QUALQUER DISTRIBUIDOR AUTORIZADO
NO TENHA ADVERTIDO ESTES TIPOS DE PROBLEMAS.
424
Apndice C. Licena de Uso e Garantia de Produto
Bug do Ano 2000
O Conectiva Linux tem sido testado desde seu incio para trabalhar sem prob-
lemas no Ano 2000 bem como depois dele. A certicao para o bug do Ano
2000 refere-se mais sobre testes, boas prticas e a educao do usurio do que
a garantia do produto. Ns continuaremos a disponibilizar informaes detalha-
das aos clientes sobre a compatibilidade com o Ano 2000, mas garantias con-
tratuais especcas para o problema do Ano 2000 no so apropriadas dada a
natureza do bug do Ano 2000 e pelo simples fato que uma nica tecnologia,
mesmo uma bem preparada para o Ano 2000 como o Conectiva Linux, no pode
resolver todos os itens relacionados transio para o Ano 2000. A informao
que disponibilizamos sobre a compatibilidade com o Ano 2000 no constitui uma
extenso qualquer garantia para os produtos da Conectiva. A Conectiva S.A.
(http://www.conectiva.com.br) disponibiliza esta informao para assistir voc
na avaliao e correo de potenciais conseqncias do uso de datas para o pr-
ximo sculo.
Geral
Se qualquer clusula deste Acordo for considerada invlida, as outras clusulas
no devero ser afetadas pela mesma. Este Acordo deve ser legislado pelas leis
Brasileiras.
Direitos autorais2000 Conectiva S.A. (http://www.conectiva.com.br). Todos os
425
Apndice C. Licena de Uso e Garantia de Produto
direitos reservados. Conectiva e Conectiva Linux so marcas registradas da Conec-
tiva S.A. (http://www.conectiva.com.br). Linux uma marca registrada de Linus
Torvalds em diversos pases.
426
Apndice D. Licena Pblica Geral
GNU
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
This is an unofcial translation of the GNU General Public License into Por-
tuguese. It was not published by the Free Software Foundation, and does not
legally state the distribution terms for software that uses the GNU GPL only
the original English text of the GNU GPL does that. However, we hope that this
translation will help Portuguese speakers understand the GNU GPL better.
Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, Cam-
bridge, MA 02139, USA
permitido a qualquer pessoa copiar e distribuir cpias desse documento de
licena, sem a implementao de qualquer mudana.
Introduo
As licenas de muitos softwares so desenvolvidas para cercear a liberdade de
uso, compartilhamento e mudanas. A GNU Licena Pblica Geral, ao contrrio,
427
Apndice D. Licena Pblica Geral GNU
pretende garantir a liberdade de compartilhar e alterar softwares de livre dis-
tribuio - tornando-os de livre distribuio tambm para quaisquer usurios. A
Licena Pblica Geral aplica-se maioria dos softwares da Free Software Foun-
dation e a qualquer autor que esteja de acordo com suas normas em utiliz-la (al-
guns softwares da FSF so cobertos pela GNU Library General Public License).
Quando nos referimos a softwares de livre distribuio, referimo-nos liberdade
e no ao preo. Nossa Licena Pblica Geral foi criada para garantir a liberdade
de distribuio de cpias de softwares de livre distribuio (e cobrar por isso caso
seja do interesse do distribuidor), o qual recebeu os cdigos-fonte, que pode ser
alterado ou utilizado em parte em novos programas.
Para assegurar os direitos dos desenvolvedores, algumas restries so feitas,
proibindo a todas as pessoas a negao desses direitos ou a solicitao de sua
abdicao. Essas restries aplicam-se ainda a certas responsabilidades sobre a
distribuio ou modicao do software.
Por exemplo, ao se distribuir cpias de determinado programa, por uma taxa de-
terminada ou gratuitamente, deve-se informar sobre todos os direitos incidentes
sobre aquele programa, assegurando-se que os fontes estejam disponveis assim
como a Licena Pblica Geral GNU.
A proteo dos direitos envolve dois passos: (1) copyright do software e (2) li-
cena que d permisso legal para cpia, distribuio e/ou modicao do soft-
ware.
Ainda para a proteo da FSF e do autor, importante que todos entendam que
no h garantias para softwares de livre distribuio. Caso o software seja mod-
icado por algum e passado adiante, este software no mais reetir o trabalho
original do autor no podendo portanto ser garantido por aquele.
428
Apndice D. Licena Pblica Geral GNU
Finalmente, qualquer programa de livre distribuio constantemente ameaado
pelas patentes de softwares. Buscamos evitar o perigo de que distribuidores destes
programas obtenham patentes individuais, tornado-se seus donos efetivos. Para
evitar isso foram feitas declaraes expressas de que qualquer solicitao de
patente deve ser feita permitindo o uso por qualquer indivduo, sem a necessi-
dade de licena de uso.
Os termos e condies precisas para cpia, distribuio e modicao seguem
abaixo.
Termos e Condies para Cpia,
Distribuio e Modicao
1. Esta licena se aplica a qualquer programa ou outro trabalho que contenha um aviso
colocado pelo detentor dos direitos autorais dizendo que aquele poder ser distribudo
nas condies da Licena Pblica Geral. O Programa refere-se a qualquer software
ou trabalho e a um trabalho baseado em um Programa e signica tanto o Programa
em si como quaisquer trabalhos derivados de acordo com a lei de direitos autorais, o
que signica dizer, um trabalho que contenha o Programa ou uma parte deste, na sua
forma original ou com modicaes ou traduzido para uma outra lngua (traduo
est includa sem limitaes no termo modicao).
429
Apndice D. Licena Pblica Geral GNU
Atividades distintas de cpia, distribuio e modicao no esto cober-
tas por esta Licena, estando fora de seu escopo. O ato de executar o Pro-
grama no est restringido e a sada do Programa coberta somente caso
seu contedo contenha trabalhos baseados no Programa (independentemente
de terem sidos gerados pela execuo do Programa). Se isso verdadeiro
depende das funes executadas pelo Programa.
2. O cdigo-fonte do Programa, da forma como foi recebido, pode ser copiado e dis-
tribudo, em qualquer media, desde que seja providenciado um aviso adequado sobre
os copyrights e a negao de garantias, e todos os avisos que se referem Licena
Pblica Geral e ausncia de garantias estejam inalterados e que qualquer produto
oriundo do Programa esteja acompanhado desta Licena Pblica Geral.
permitida a cobrana de taxas pelo ato fsico de transferncia ou gravao
de cpias, e podem ser dadas garantias e suporte em troca da cobrana de
valores.
3. Pode-se modicar a cpia ou cpias do Programa de qualquer forma que se deseje,
ou ainda criar-se um trabalho baseado no Programa, copi-lo e distribuir tais modi-
caes sob os termos da seo 1 acima e do seguinte:
[a.] Deve existir aviso em destaque de que os dados originais foram alterados nos
arquivos e as datas das mudanas;
[b.] Deve existir aviso de que o trabalho distribudo ou publicado , de forma
total ou em parte derivado do Programa ou de alguma parte sua, e que pode ser
licenciado totalmente sem custos para terceiros sob os termos desta Licena.
[c.] Caso o programa modicado seja executado de forma interativa, obri-
430
Apndice D. Licena Pblica Geral GNU
gatrio, no incio de sua execuo, apresentar a informao de copyright e da
ausncia de garantias (ou de que a garantia corre por conta de terceiros), e que os
usurios podemredistribuir o programa sob estas condies, indicando ao usurio
como acessar esta Licena na sua ntegra.
Esses requisitos aplicam-se a trabalhos de modicao em geral. Caso algumas
sees identicveis no sejam derivadas do Programa, e podem ser consideradas
como partes independentes, ento esta Licena e seus Termos no se aplicam
quelas sees quando distribudas separadamente. Porm ao distribuir aquelas
sees como parte de um trabalho baseado no Programa, a distribuio como
um todo deve conter os termos desta Licena, cujas permisses estendem-se ao
trabalho como um todo, e no a cada uma das partes independentemente de quem
os tenha desenvolvido.
Mais do que tencionar contestar os direitos sobre o trabalho desenvolvido por
algum, esta seo objetiva propiciar a correta distribuio de trabalhos derivados
do Programa.
Adicionalmente, a mera adio de outro trabalho ao Programa, pormno baseado
nele nem a um trabalho baseado nele, a um volume de armazenamento ou media
de distribuio no obriga a utilizao desta Licena e de seus termos ao trabalho.
So permitidas a cpia e a distribuio do Programa (ou a um trabalho baseado
neste) na forma de cdigo-objeto ou executvel de acordo com os termos das
Sees 1 e 2 acima, desde que atendido o seguinte:
[a.] Esteja acompanhado dos cdigos-fonte legveis, os quais devem ser distribu-
dos na forma da Sees 1 e 2 acima, em mdia normalmente utilizada para manu-
seio de softwares ou;
431
Apndice D. Licena Pblica Geral GNU
[b.] Esteja acompanhado de oferta escrita, vlida por, no mnimo 3 anos, de
disponibilizar a terceiros, por um custo no superior ao custo do meio fsico de
armazenamento, uma cpia completa dos cdigos-fonte em meio magntico, de
acordo com as Sees 1 e 2 acima;
[c.] Esteja acompanhado da mesma informao recebida em relao oferta da
distribuio do cdigo-fonte correspondente (esta alternativa somente permitida
para distribuies no comerciais e somente se o programa recebido na forma de
objeto ou executvel tenha tal oferta, de acordo com a subseo 2 acima).
O cdigo-fonte de um trabalho a melhor forma de produzirem-se alteraes
naquele trabalho. Cdigos fontes completos signicam todos os fontes de to-
dos os mdulos, alm das denies de interfaces associadas, arquivos, scripts
utilizados na compilao e instalao do executvel. Como uma exceo excep-
cional, o cdigo-fonte distribudo poder no incluir alguns componentes que no
se encontrem em seu escopo, tais como compilador, cerne, etc. para o sistema op-
eracional onde o trabalho seja executado.
Caso a distribuio do executvel ou objeto seja feita atravs de acesso a um
determinado ponto, ento oferta equivalente de acesso deve ser feita aos cdigos-
fonte, mesmo que terceiros no sejam obrigados a copiarem os fontes juntos com
os objetos simultaneamente.
1. No permitida a cpia, modicao, sub-licenciamento ou distribuio do Pro-
grama, exceto sob as condies expressas nesta Licena. Qualquer tentativa de cpia,
modicao, sublicenciamento ou distribuio do Programa proibida, e os dire-
itos descritos nesta Licena cessaro imediatamente. Terceiros que tenham recebido
cpias ou direitos na forma desta Licena no tero seus direitos cessados desde que
permaneam dentro das clusulas desta Licena.
432
Apndice D. Licena Pblica Geral GNU
2. No necessria aceitao formal desta Licena, apesar de que no haver docu-
mento ou contrato que garanta permisso de modicao ou distribuio do Pro-
grama ou seus trabalhos derivados. Essas aes so proibidas por lei, caso no se
aceitem as condies desta Licena. A modicao ou distribuio do Programa
ou qualquer trabalho baseado neste implica na aceitao desta Licena e de todos
os termos desta para cpia, distribuio ou modicao do Programa ou trabalhos
baseados neste.
3. Cada vez que o Programa seja distribudo (ou qualquer trabalho baseado neste), o
recipiente automaticamente recebe uma licena do detentor original dos direitos de
cpia, distribuio ou modicao do Programa objeto destes termos e condies.
No podem ser impostas outras restries nos recipientes.
4. No caso de decises judiciais ou alegaes de uso indevido de patentes ou direitos
autorais, restries sejam impostas que contradigam esta Licena, estes no isentam
da sua aplicao. Caso no seja possvel distribuir o Programa de forma a garantir
simultaneamente as obrigaes desta Licena e outras que sejam necessrias, ento
o Programa no poder ser distribudo.
Caso esta Seo seja considerada invlida por qualquer motivo particular
ou geral, o seu resultado implicar na invalidao geral desta licena na
cpia, modicao, sublicenciamento ou distribuio do Programa ou tra-
balhos baseados neste.
O propsito desta seo no , de forma alguma, incitar quem quer que seja a
infringir direitos reclamados em questes vlidas e procedentes, e sim prote-
ger as premissas do sistema de livre distribuio de software. Muitas pessoas
tm feito contribuies generosas ao sistema, na forma de programas, e ne-
433
Apndice D. Licena Pblica Geral GNU
cessrio garantir a consistncia e credibilidade do sistema, cabendo a estes e
no a terceiros decidirem a forma de distribuio dos softwares.
Esta seo pretende tornar claro os motivos que geraram as demais clusulas
desta Licena.
5. Caso a distribuio do Programa dentro dos termos desta Licena tenha restries
em algum Pas, quer por patentes ou direitos autorais, o detentor original dos direitos
autorais do Programa sob esta Licena pode adicionar explicitamente limitaes ge-
ogrcas de distribuio, excluindo aqueles Pases, fazendo com que a distribuio
somente seja possvel nos Pases no excludos.
6. A Fundao de Software de Livre Distribuio (FSF - Free Software Foundation)
pode publicar verses revisadas ou novas verses desta Licena Pblica Geral de
tempos em tempos. Estas novas verses mantero os mesmos objetivos e o esprito
da presente verso, podendo variar em detalhes referentes a novas situaes encon-
tradas.
A cada verso dado um nmero distinto. Caso o Programa especique um
nmero de verso especco desta Licena a qual tenha em seu contedo
a expresso ou verso mais atualizada, possvel optar pelas condies
daquela verso ou de qualquer verso mais atualizada publicada pela FSF.
7. Caso se deseje incorporar parte do Programa em outros programas de livre dis-
tribuio de softwares necessria autorizao formal do autor. Para softwares que
a FSF detenha os direitos autorais, podem ser abertas excees desde que mantido o
esprito e objetivos originais desta Licena.
8. UMA VEZ QUE O PROGRAMA LICENCIADO SEM NUS, NO H QUAL-
434
Apndice D. Licena Pblica Geral GNU
QUER GARANTIA PARA O PROGRAMA. EXCETO QUANDO TERCEIROS
EXPRESSEM-SE FORMALMENTE, O PROGRAMA DISPONIBILIZADO EM
SEU FORMATO ORIGINAL, SEM GARANTIAS DE QUALQUER NATUREZA,
EXPRESSAS OU IMPLCITAS, INCLUINDO MAS NO LIMITADAS, S GA-
RANTIAS COMERCIAIS E DO ATENDIMENTO DE DETERMINADO FIM. A
QUALIDADE E A PERFORMANCE SO DE RISCO EXCLUSIVO DOS USU-
RIOS, CORRENDO POR SUA CONTA OS CUSTOS NECESSRIOS A EVEN-
TUAIS ALTERAES, CORREES E REPAROS JULGADOS NECESSRIOS.
9. EM NENHUMA OCASIO, A MENOS QUE REQUERIDO POR DECISO JU-
DICIAL OU POR LIVRE VONTADE, O AUTOR OU TERCEIROS QUE TEN-
HAM MODIFICADO O PROGRAMA, SERO RESPONSVEIS POR DANOS
OU PREJUZOS PROVENIENTES DO USO OU DA FALTA DE HABILIDADE
NA SUA UTILIZAO (INCLUINDO MAS NO LIMITADA A PERDA DE DA-
DOS OU DADOS ERRNEOS), MESMO QUE NO TENHA SIDO EMITIDO
AVISO DE POSSVEIS ERROS OU DANOS.
FIM DA LICENA
Como Aplicar Estes Termos a Novos
Programas?
435
Apndice D. Licena Pblica Geral GNU
Caso voc tenha desenvolvido um novo programa e deseja a sua ampla dis-
tribuio para o pblico, a melhor forma de consegu-lo torn-lo um software
de livre distribuio, onde qualquer um possa distribu-lo nas condies desta
Licena.
Para tanto basta anexar este aviso ao programa. aconselhvel indicar ainda no
incio de cada arquivo fonte a ausncia de garantias e um apontamento para um
arquivo contendo o texto geral desta Licena, como por exemplo:
(uma linha para dar o nome do programa e uma breve idia do que
ele faz.)
Copyright 19yy nome do autor
Este programa um software de livre distribuio,
que pode ser copiado e distribudo sob os termos da Licena
Pblica Geral GNU, conforme publicada pela Free Software
Foundation, verso 2 da licena ou (a critrio do autor)
qualquer verso posterior.
Este programa distribudo na expectativa de ser til aos
seus usurios, porm NO TEM NENHUMA GARANTIA, EXPLCITAS
OU IMPLCITAS, COMERCIAIS OU DE ATENDIMENTO A UMA
DETERMINADA FINALIDADE. Consulte a Licena Pblica Geral GNU
436
Apndice D. Licena Pblica Geral GNU
para mais detalhes.
Deve haver uma cpia da Licena Pblica Geral
GNU junto com este software em ingls ou portugus. Caso
no haja escreva para Free Software Foundation, Inc.,
675 Mass Ave, Cambridge, MA 02139, USA.
Inclua tambm informaes de como contatar voc atravs de correio eletrnico
ou endereo comercial/residencial.
Caso o programa seja interativo, apresente no incio do programa um breve aviso.
Por exemplo:
Gnomovision verso 69, Copyright nome do autor Gnomovision
NO POSSUI NENHUMA GARANTIA; para detalhes digite mostre
garantia. Este um software de livre distribuio e voc
est autorizado a distribu-lo dentro de certas condies.
Digite mostre condio para mais detalhes.
Os comandos hipotticos mostre garantia e mostre condio apresentaro as
partes apropriadas da Licena Pblica Geral GNU. Evidentemente os comandos
podem variar ou serem acionados por outras interfaces como clique de mouse,
etc..
Esta Licena Pblica Geral no permite a incorporao de seu programa em pro-
gramas proprietrios. Se o seu programa uma subrotina de biblioteca, voc pode
437
Apndice D. Licena Pblica Geral GNU
achar mais interessante permitir a ligao de aplicaes proprietrias com sua
biblioteca. Se isso que voc deseja fazer, use a Licena Pblica Geral GNU para
Bibliotecas no lugar desta Licena.
438
ndice
Remissivo
Smbolos
/var/log/htmlaccess.log, 42
/var/spool/mail, 52
A
acesso mvel, 175
habilitando, 176
incluindo pers, 175
acesso remoto, 362
ACL, 147
AIDE, 322
congurando, 324
grupos predenidos, 326
utilizando, 330
aide-m5, 331
alta disponibilidade, 333
aplicao, 342
clculo, 336
defeito, 339
DRBD, 344, 345
erro, 338
escalonador Mon, 345
failback, 341
failover, 340
falha, 338
heartbeat, 352, 353, 354, 354, 355,
356
misso, 341
439
monitorao de nodos, 343
monitorao de servios, 345
MTTF, 337
MTTR, 337
objetivos, 335
RAID, 110, 137
redundncia, 335
ReiserFS, 344
replicao, 335
replicao de discos, 343
sistema de arquivos, 344
Apache, 222
congurando, 223, 229, 229, 230,
231
inicializando, 226
instalando, 223
mquina virtual, 231
registros de erro, 232
registros de transferncia, 232
scripts CGI, 232
apelidos de IP, 230
aplicativos
AIDE, 322
Apache, 222
authcong, 167
dnsserver, 249
LDAP, 139
linuxconf, 35
Samba, 368
Squid, 249
appletalk
afpd, 405
atalkd, 405
Netatalk, 405
papd, 405
servios, 405
440
arquivo .message, 246
arquivo /etc/aide.conf, 324
linhas de congurao, 324
linhas de macro, 324
linhas de seleo, 324
arquivo /etc/atalk, 407
arquivo /etc/exports, 365
arquivo /etc/ftpaccess, 243
arquivo /etc/ha.d/ha.cf, 358
arquivo /etc/ha.d/haresources, 357
arquivo /etc/host.allow, 297
arquivo /etc/host.deny, 297
arquivo /etc/inetd.conf, 234, 298, 381
arquivo /etc/nwserv.conf, 385, 389
arquivo /etc/passwd, 385
arquivo /etc/raidtab, 123, 128, 134
arquivo /etc/services, 280, 291
arquivo /etc/shadow, 385
arquivo /etc/syscong/network, 315
arquivo /proc/mdstat, 132
arquivo /var/log/messages, 312
arquivo /var/named, 210
arquivo /var/named/named.ca, 212
arquivo /var/named/named.local, 211
arquivo /var/spool/lpd, 404
arquivo inetd.conf, 280, 291
arquivo ldap.conf, 157
arquivo named.conf, 208
arquivo pam.d, 168
arquivo passwd, 166, 170
arquivo resolv.conf, 214, 216
arquivo sendmail.cf, 282
arquivo sladp.conf, 154
arquivo slapd.at.conf, 176
arquivo slapd.conf
personalizando, 178
441
arquivo slapd.oc.conf, 176
arquivo squid.conf, 250
arquivos
segurana no login, 396
arquivos de congurao, 58
arranjo de discos rgidos, 97
autenticao, 166, 385
congurando, 170, 171
B
Bind
arquivos de congurao, 208, 209,
210, 211, 212
domnio, 210
bindery, 383
C
cache, 252
caching, 193, 247
classes de objetos, 145
compartilhamento de recursos, 368
compartilhando diretrio, 374
compartilhando discos, 375
controle de acesso, 253, 298
controle de acesso ao servidor FTP, 238
controle de servios, 63, 63
correio eletrnico, 255
MTA, 257
MUA, 256
protocolo IMAP, 265
protocolo POP, 261
protocolo SMTP, 258
sniffer, 262, 262
442
troca de mensagens, 256
curingas, 298
D
disco de reposio, 109
disponibilidade de servidores
alta, 335
bsica, 334
contnua, 335
DNS, 183
arquivo /var/named, 210
arquivo /var/named/name.ca, 212
arquivo /var/named/name.local, 211
arquivo named.conf, 208
Bind, 208
caching, 193
congurando, 194, 196, 197, 197,
197, 198, 199, 201, 202, 214
denio, 183
domnio, 190, 196, 210
domnios, 187, 188, 189
DPN, 188
endereo IP, 204
estrutura do banco de dados, 184
forward zones, 200
funcionalidades, 203
funcionamento, 185
instalando, 194
nomes de domnio, 184, 185, 186,
186, 187
resoluo de nomes, 193
resolvedores, 192, 192
servidor de nomes, 190, 192, 192,
193, 201, 207, 207, 215, 215
zona, 190
443
domnios da Internet, 188
DPT-RAID, 99
DRDB, 344
congurando, 346, 347, 347
inicializando, 349
DSP, 99
E
ECC, 110
endereo IP, 183
espelhamento, 109
espelhamento de discos, 129
F
las de impresso, 403
ltro de pacotes, 303
aes possveis, 304
congurando, 307
nger, 295
rewall
arquivo /var/log/messages, 312
comando ipchains, 306
congurando, 306, 309, 310, 311,
312, 320, 321
ltro de pacotes, 303, 307
funo printk(), 312
opes, 305, 305, 305, 305, 306, 306
por entrada, 308
por reenvio, 313, 315, 316, 316, 317,
317, 319
regras de, 304
regras de entrada, 308, 309, 309
forward zones, 200
FQDN, 145
444
FTP
arquivo .message, 246
arquivo /etc/ftpaccess, 243
caching, 247
congurando, 245
servios, 233
tcp_wrappers, 296
G
GNOME
ferramenta para o LDAP, 173
GPL, 427
H
Heartbeat
arquivo /etc/ha.d/ha.cf, 358
arquivo /etc/ha.d/haresources, 357
congurando, 353, 357
instalando, 352
hipertexto, 219
HTTP
requisio, 221, 221
I
IMAP, 257, 265
caixa postal, 273, 273, 274, 277, ??
comando LIST, 268
congurando, 280
diretrio /var/spool/mail, 272
estados, 265
opes de congurao, 270
445
internet super-server, 290
IP Masquerade, 320
ipchains, 306
instalando, 307
IPX, 382
L
LDAP
acesso mvel, 175, 175, 176, 181
ACL, 155
arquivo de atributos, 176
arquivo de registros, 172
arquivo ldap.conf, 157
arquivo LDIF, 179
arquivo objectclass, 176
arquivo syslog.conf, 172
autenticao, 166, 168
base de dados, 172
classes de objetos, 145, 145, 145,
145, 145, 145, 145
cliente LDAP GQ, 173
comando ldapadduser, 171
comando ldapdeluser, 171
comando ldapsearch, 159
comandos, 159
congurando, 154, 155, 155, 155,
155, 155, 163
controle de acesso ACL, 147
diretrio X.500, 150
diretrios, 140
DNS, 142
entradas, 143
estrutura, 144
ferramentas grcas, 172
FQDN, 145
446
funcionamento, 147
informao, 144, 145, 146, 147
inicializando o servidor, 157
instalando, 153
modelo cliente-servidor, 147
nome de domnio, 144
NSS, 166, 170
pacotes, 153
PAM, 166, 168
protocolo DAP, 150
RDN, 145
reinicializando o servidor, 181
RFC, 143
script migrate_all_ofine, 156
servios globais, 142
slapd, 178
slurpd, 153
usurios, 171, 171
utilizando, 159
utilizando URLs, 165
licena
GPL, 427
linuxconf, 35, 58
/usr/sbin/useradd-sql, 62
/var/log/htmlaccess.log, 42
ajuda, 48
alocao de faixas de, 204
alterando conguraes, 61
Apache, 226
apelidos de IP, 230
arquivos de congurao, 58
atalhos de teclado, 37
ativando as conguraes, 50
ativando as mudanas, 45
caractersticas, 36
comandos e programas residentes, 60
447
comandos e programas residentes, 60
congurando, 43, 44, 46, 51, 63, 214,
228, 245, 378
conguraes, 35
controle de servios, 63
DNS, 195
efetivando conguraes, 48
ltragem de arquivos, 56
informaes sobre os arquivos, 56
inicializando, 39, 41, 41, 41, 42
interface, 36, 37, 38, 38, 38
interface grca do, 39
listagem de servios, 43
mdulos, 51
NFS, 363
o que , 35
permisso de arquivos, 52
personalizando funes, 61
relatrio de alteraes, 49
Samba, 370
segurana, 291
Sendmail, 281
servio, 207
setuid, 56
sees do, 41
utilizando, 39
M
Macintosh, 405
mapas de IPs reversos, 198
adicionando, 199
mapeamento automtico de usurios, 401
Mars-NWE, 382, 385
banner de impresso, 403
448
congurando, 387, 389, 389, 391,
392, 392, 394
la de impresso, 404
las de impresso, 403
ncpmount, 384
Netware, 388
packet burst, 395
pacotes de broadcast, 383
permisses, 385
script de login padro, 402
scripts de logon, 384
segurana durante o login, 396, 397
senhas, 395, 396
supervisor, 385
usurio, 398, 398, 399, 401
utilitrios DOS, 387
verso do Netware, 394
volumes do servidor, 390, 391
mascaramento de IP, 319
mkraid, 135
modelo cliente-servidor, 147
MTA, 257
Postx, 281
Qmail, 281
Sendmail, 281
MTTF, 337
MTTR, 337
MUA, 256
mdulos MD, 102
N
named, 207
NAT, 320
Netatalk, 405
449
arquivo /etc/atalk, 407
congurando, 406, 409, 409, 410,
411
exportando diretrios, 407
inicializando, 411
instalando, ??
Netscape
acesso mvel, 175, 175, 181
arquivo slapd.at.conf, 176
congurando LDAP, 163
endereamento de mensagens, 164,
165
NFS, 361
acessando volumes nfs, 367
congurando, 363, 364, 365, 365,
366, 367
inicializando o servio nfs, 366
instalando, 362
linuxconf, 364
nome de domnio, 144
nomes de domnio, 183
absoluto, 186
congurando, 229
estrutura, 185
relativo, 186
NSS, 166
ntsysv, 289
congurando o named, 207
instalando, 289
P
PAM, 166
paridade
informaes, 112
permisso de arquivos, 52
450
POP
congurando, 280
portmap, 366
protocolo
appletalk, 405
Ethertalk, 405
FTP, 233
HTTP, 220
IMAP, 257
IPX, 382
NCP, 382
NetBIOS, 368
POP, 261
SMB, 368
SMTP, 257
TCP/IP, 377
protocolos
LDAP, 140
proxy
caching, 247
regras de acesso, 253, 253, 253
Squid, 247
Q
Qmail, 281
R
RAID, 97
alta disponibilidade, 110, 137
arranjo, 123, 124, 130
comando mkraid, 135
congurando, 121, 123, 123, 124,
126, 127, 127, 128, 128, 129, 130,
451
134
controlador MD, 103, 103
controladoras, 100, 100, 100
criando parties, 122
desempenho, 117, 117, 117, 118,
118, 119, 119
ECC, 110
gargalo de escrita, 114
implementao, 98
montando para o uso, 133
nveis, 104, 120
requisitos de espao, 121
segmentao, 107
SSI, 138
stripping, 108
tipos de hardware, 101, 101
utilitrio GDTMON, 101
via hardware, 98, 98, 99, 99
via software, 102, 104, 106, 106, 109,
109, 110, 112, 114, 116, 116
RDN, 145
rede
inicializando o linuxconf, 42
rede Windos
propriedades, 377
redes heterogneas, 361
redundncia, 335
redundncia e falha de discos, 105
ReiserFS, 344
instalando, 350
repetidores, 201
replicao, 335
resoluo de nomes, 193
resolvedores, 192
funes, 192
RFC, 143
452
S
salvamento de rotas, 394
Samba, 368
arquivo /etc/inetd.conf, 381
congurando, 369, 370, 371, 374,
374, 375, 377, 377, 378, 378, 381
emulador de Netware, 382
inicializando, 376
instalando, 369
Mars-NWE, 382
protocolo IPX, 382
protocolo SMB, 368
rede Windows, 377
senhas, 370, 371, 372, 372, 372, 373
servio inetd, 381
SWAT, 380
volume, 375
scripts CGI, 232
segmentao de dados
stripes, 107
segurana, 285
AIDE, 322, 324
aide-m5, 331
ameaas , 286
arquivo /etc/host.allow, 297
arquivo /etc/host.deny, 297
base de dados, 328
checksum, 322
congurando, 291, 291
controle de acesso, 298
curingas, 298
desabilitando servios desnecessrios,
288, 292
rewall, 287, 303, 304
inetd, 290
lista de clientes, 298, 299
453
ntsysv, 289
pacote tcp_wrappers, 295, 300, 302
servios standalone, 288
tcpd, 295
vericando, 322, 322
viso geral, 287
Sendmail, 281
arquivo m4, 283
arquivo sendmail.cf, 282
congurando, 281
senhas
tratamento, 395
senhas criptografadas, 370
senhas descriptografadas, 371
servidor, 153
de nomes, 190
DNS, 183
FTP, 219
LDAP, 153
Macintosh, 405
Netware, 382
NFS, 361
proteo, 147
proxy, 219, 247
Samba, 369
web, 219
Windows, 368
servidor web
Apache, 222
servios
inicializando, 290
setuid, 56
slapd, 178
slurpd, 153, 153
SMTP, 257
congurando, 281
454
processo de troca de mensagens, 258
sniffer, 262, 262
Squid, 247
armazenamento, 252, 252
arquivo squid.conf, 250
arquivos de cache, 252
controle de acesso, 253
instalando, 249
objetos na memria, 251
SSL, 248
vantagens, 248
SSI, 138
stripping, 108
SWAT, 380
T
TCP Wrappers, 295
telnet, 295
U
usurio
annimo, 238
convidado, 238
real, 238
utilitrios DOS, 387
V
volumes nfs, 367
volumes Samba, 375
455
W
WU-FTPD, 233
acessos annimos, 240
arquivo, 245
arquivo /etc/inetd.conf, 234
arquivos, 241
congurando, 235, 237, 237, 238,
243
diretrio /incoming, 242
instalando, 233
usurio, 238, 238, 238

Você também pode gostar