Sei sulla pagina 1di 279

Certificao LPI-2

01

Muita coisa aconteceu desde a ltima vez que a Certificao LPl foi alterada. Alguns
dos contedos que etani abordados encontravam pouca aplicao prtica. Alm disso.
a organizao dos tpicos no obedecia a uma ordenao lgica e em alguns pontos
no lia via distino entre as provas de certificao nvel 1 e as de certificao nvel 2.
Luciano Siqueira foi editor
e desenvolvedor na Linux
New Media do Brasil de
2006 a 2000, perodo em
que publicou os livros de
Certificao LPI-1 e LPI-2,
Libuntu, Mquinas Virtuais
com Virtualhox, Virtualizao
com Xen, lnfraestrutura de
Redes ! Desenvolvimento
Web com Ajax e PHP.

A reviso 3.0 vlida a partir de abri1/2009. Alm de eliminar alguns contedos


ultrapassados e incluir novos contedos atualmente mais relevantes, essa reviso procurou
estabelecer focos ainda niais distintos entre a certificao nvel 1 e a certificao nivel 2.
Em sua segunda edio, o livro Certificao LPI-2 foi totalmente reformulado para as
novas exig&icias da Certificao. Ele est organizado segundo o programa de contedos
oficiais para a Certificao LPI-2. Dessa forma, o candidato encontrar exatamente os
temas que so abordados nos exames de certificao, na profundidade que exigida para
a prova. Alm disso, a sequncia dos assuntos corresponde sequncia em que sero
abordados na prova. Essa estrutura auxilia o candidato a manter o foco naquilo que
importante para a prova, mas sem deixar de h9do a coerncia e a consistncia do texto.

~
LPI 2

Ao final de cada tpico foram colocadas 10 perguntas correspondentes aos


temas abordados no tpico em questo, totalizando 130 questes no livro, Com
a finalidade de familiadzar o candidato, as perguntas foram formuladas com o
mesmo formato em que apareceram nos exames de certificao. As respostas
para as perguntas de todos os tpicos encontram-se no final do fivro.

O aLitor trabalha com


Linux h vrios anos e
acompanhou de peito
a evoluo do universo
Open Source.

Professores e escolas podem se beneficiar da adoo desse livro. Contedos densos so


abordados de forma objetiva a coesa, o que facilita o ensino e a preparao de aulas.

Fora da rea de tecnologia.


Formou-se em psicologia
pela Universidade Estadual
Paulisla. Atualmente,
atua como desenvolvedor
treelancer e trabalha com
gravao e produo
musical, alm de
excursionar com
sua banda.

201 202

Luciano Antonio Siqueira

Lela tambm:

Certificaco LPI-1

lu

Y
E"

Curso completo para LPIC-2


za edio revisada e ampliada.
Exerccios em todos os tpicos.
Livro preparado para a nova
prova vlida a partir de 2009.

Luciano Antonio Siqueira

Certficaao

2
UNLIX NEWMIDIA
1

T edio
So Paulo
2009

Certificao LPI-2
por Luciano Antonio Siqueira

Direitos autorais e marcas registradas 0 2004 - 2009:


Linux N. Media do Brasil Editora Ltda.
Nenhum material pode ser reproduzido em qualquer meto, em parte ou no todo, sem permisso expresse da editora. Assume-se
que qualquer correspondncia recebida, tal como cartas, emalis, faxes, fotografias, artigos e desenhos, fornecida para publicao
ou licenciamento a terceiros de lorma mundial no-exclusiva pela Unux New Media do Brasil, a menos que explicilamente Indicado.
Linux uma marca registrada de Linus Torvatds,

Reviso: Aiteen Nakamura


Projeto grfico e diagramao: Paola Viveiros
Capa: Paota Viveiros

Contatos
Autor: lslqueira@tinuxnewmedia.com.br
Comercial: vendas@llnuxnewmeclia.com.br
Redao: redacao@linuxnewmedia.com.br
Linux New Media do Brasil Editora Ltda.
Rua So Bento, 500
Conj. 802- Centro
CEP: 01010-001
So Pauto - SP - Brasil
Tel: +55(0)11 3675-2600
Fax: +55(0)11 3672-1799

Siquetra, Luciano Antonio


Certificao LPI-2 / Luciano Antonio Siquetra. - So Paulo: Unux New Media do Brasil Editora Ltda, 2009.
ISBN: 978-85-61024-14-7
1. Unux 2. Informtica 3. LPI 4. Certificao 5. Redes 6. Computao

Suba e me veja s vezes


Ento tentarei te alcanar
Bem do fundo do meu mar
Pois voc v eu aprendo

Sumrio
Prefcios

Introduo

11

Viso geral das mudanas nos exames LPIC nvel 2

11

Tpico 201: O kernet Linux


201.1 Componentes do kernel
201.2 Compilando um kernel
201.3 Aplicar um patch ao RemeI
201.4 Configurar, compilar e instalar um kernel personalizado e seus mdulos
201.5 Controlar/investigar o kernel e seus mdulos durante sua execuo

15
16
19
25
27
28

Tpico 202: Incio do sistema


202.1 Personalizar o incio do sistema e o processo de boot
202.2 Recuperao do sistema

41
42
46

Tpico 203: Sistema de arquivos e dispositivos


203.1 Trabalhando com o sistema de arquivos Linux
203.2 Manuteno de um sistema de arquivo Linux
203.3 Criando e configurando opes para sistemas de arquivos
203.4 Gerenciamento de dispositivos udev

55
56
63
69
74

Tpico 204: Hardware


204.1 Configurao de RAID
204.2 Ajustar o acesso a dispositivos de armazenamento
204.3 Gerenciamento de volumes lgicos (LVM)

83
84
87
91

Tpico 205: Configurao de rede


205.1 Configuraes bsicas de rede
205.2 Configurao avanada de rede e resoluo de problemas
205.3 Solues de problemas de rede
205.4 Informar usurios sobre questes relativas ao sistema

99
100
106
120
122

Tpico 206: Manuteno do sistema


206.1 Compilar e instalar programas a partir do cdigo fonte
206.2 Operaes de backup

129
130
133

Tpico 207: Domain Name Server


207.1 Configurao bsica de um servidor DNS
207.2 Criao e manuteno de zonas de DNS
207.3 Segurana de DNS

143
144
146
155

Tpico 208: Web Services


208.1 Implementando um servidor Web
208.2 Manuteno de servidor Web
208.3 Implementando um servidor Proxy

163
164
171
175

Tpico 209: Compartilhamento de arquivos


209.1 Configurar um servidor Samba
209.2 Configurar um servidor NFS

181
182
188

Tpico 210: Administrao dos clientes de rede


210.1 Configurao DRCP
210.2 Autenticao por PAM
210.3 Uso de cliente LDAP

197
198
201
205

Tpico 211: Servios de email


211.1 Utilizao de servidores de email
211.2 Administrao da entrega local de email
211.3 Administrar entrega de email remoto

217
218
223
225

Tpico 212: Segurana do Sistema


212.1 Configurao de roteador
212.2 Segurana de servidores FTP
212.3 Shell seguro (SSFI)
212.4 TCP Wrappers
212.5 Tarefas de segurana

233
234
242
243
248
251

Tpico 213: Soluo de problemas


213.1 Identificar estgios de boot e consertar carregadores de boot
213.2 Soluo geral de problemas
213.3 Problemas em recursos do sistema
213.4 Problemas em configuraes de ambiente

257
258
263
265
267

Apndice

273

Respostas

301

Prefcio por Jos Carlos Gouvela


Este livro destina-se a candidatos em busca da certificao LPI nvel 2 (LPIC-2) e
atende tanto s necessidades de profissionais que j trabalham com outros sistemas
operacionais como as de profissionais de Linux em geral. Este projeto da Linux New
Media, to bem conduzida por Rafael Peregrino e pelo Claudio Baixou, foi desenvovido pelo Luciano Siqueira, um profissional raro, capaz de aliar conhecimentos
tcnicos profundos com uma impressionante capacidade de comunicao. Como
resultado, temos esta obra completa, abrangente e, ao mesmo tempo, que d todas as
condies para que um candidato se prepare para as provas de certificao LPIC-2.
O LPI - Linux Professional Institute Linux (www.lpi.org ) promove e certifica habilidades essenciais em Linux e em tecnologias de Open Source por meio de provas
abrangentes, de alta qualidade e independentes de distribuies Linux. O LPJ foi
criado em 1999 pela comunidade Linux como uma organizao internacional sem
fins lucrativos, com o objetivo ser reconhecido como o lder global na certificao de
profissionais de Linux, promovendo o Linux e o movimento de Open Source.
O programa de certificao profissional LPI composto de trs nveis de certificao (LPIC-1, LPIC-2 e LPIC-3), sendo que a certificao LPIC-1 tem como alvo
profissionais junior e plenos, ao passo que a certificao LPIC-2 orientada a profissionais mais experientes e lderes de equipes. Para que um candidato seja certificado
no nvel 2 j tenha obtido a certificao no nvel 1.
No mundo de tecnologia, cada vez mais a certificao profissional necessrio que
ele tem se tornado, uma vez um indicativo claro e objetivo do conhecimento de
uma pessoa a respeito de um determinado assunto, no nosso caso, o Linux. Obviamente, na hora de uma contratao, por exemplo, outros fatores tambm contam,
mas o mais dificil de se avaliar o conhecimento, j que as caractersticas pessoais e
a experincia podem ser facilmente avaliadas com entrevistas, testes, referncias, etc.
Assim, pode-se dizer que a certificao profissional acaba sendo uma ferramenta
essencial tanto para quem contrata como para quem contratado, garantindo que
os candidatos tenham as habilidades necessrias e, consequentemente, sejam capazes
de executar o que se espera deles. Dessa forma, garante-se um padro de qualidade e
facilita tanto a contratao como futuras promoes.

Jos Carlos Gouveia


Jos Carlos Gouveia Diretor Geral do Linux Protessional institule - LPI - da Amrica Latina. Anteriormente,
trabalhou por cinco anos para a SGI - Silicon Graphlcs - como Diretor Geral da Amrica Latina, alm de
ter sido diretor geral da Novell, Platinum Technology, PeopleSott e JDEdwards, lendo sido tambm diretor
da Anderson Consulting (Accenlure) e da Dun&Bradslreet Software e gerente da EDS. Gouveia tormado
em Cincia da Computao pela tinicamp, com ps-graduao pela tjnlcamp e pela PUC-RJ.

Li

Prefcio por Jim Lacey


A certificao do Linux Professional Institute (LPI) uma tima maneira de demonstrar a empregadores e a potenciais clientes que voc possui as habilidades e os
conhecimentos necessrios para trabalhar num ambiente Linux e de Cdigo Aberto, alm de ser uma excelente ferramenta para seu desenvolvimento profissional. O
programa de certificao LPI globalmente reconhecido por profissionais de TI,
empresas e governos como a certificao Linux nmero um em todo o mundo. Esse
programa vem continuamente sendo reconhecido por fabricantes como pr-requisito
para seus prprios programas especficos de certificao em alto nvel. So exemplos
os programas de certificao do Ubuntu pela CanonicaL HP, IBM, Novell e Oracle.
O Linux Professional Institute completa 10 anos em 2009, ano em que ns vamos ampliar nosso programa de certificao para satisfazer as necessidades de um
mercado de TI em contnua transformao. Ns encontramos muitos desafios nos
ltimos dez anos e, apesar das reviravoltas da economia em 2008, vemos o aumento
do nmero de exames aplicados ao redor do mundo. Esperamos que essa tendncia
positiva de certificaes emitidas e exames realizados continue ao longo de 2009 e
2010, ao passo que profissionais de TI buscam atualizar seus conhecimentos e habilidades para permanecerem competitivos nesse perodo desafiador da economia.
Alm disso, o panorama para os prximos anos no setor de Software Open Source
como um todo muito otimista. Grandes, pequenas e mdias empresas, governos
e outras organizaes do setor pblico procuram novas oportunidades de negcios
enquanto valorizam seu importante patrimnio pessoal. Nesse contexto, a tecnologia
de Cdigo Aberto oferece um instigante potencial em funo das solues versteis
disponibilizadas s revendas e do estvel ciclo de atualizaes de produtos.
Investir em tecnologia de Cdigo Aberto investir em pessoas, afirmao essa que
sempre temos que terem mente no Linux Professional institute. por isso que nossa
mensagem de profissionalismo continua a ganhar apoio em rodo mundo.
No LPI, ns nos guiamos pelas lies bem sucedidas do passado. Reduzindo a falta
de capacitao que desafia a indstria, nosso instituto continuar a desempenhar um
papel fundamental no futuro do Cdigo Aberto. Os prximos anos sero cruciais
para o LPI e ns queremos que voc faa parte desse esforo em promover a contnua
adoo do Linux e do Cdigo Aberto por todo mundo!
Jim Laccy
Jim Lacey Presidente e CEO do Linux Protessional Instilute.

Introduo

Introduo
Muita coisa aconteceu desde a ltima vez que a Certificao LPI foi alterada. Alguns dos contedos que eram abordados encontravam pouca aplicao prtica. Alm
disso, a organizao dos tpicos no obedecia a uma ordenao lgica e em alguns
pontos no havia distino entre as provas da certificao nvel 1 e as provas da certificao nvel 2.
A reviso 3.0, alm de eliminar alguns contedos ultrapassados e incluir novos
contedos atualmente mais relevantes, procurou estabelecer focos ainda mais distintos entre a certificao nvel 1 e a certificao nvel 2.
A certificao nvel 1 procura abordar todos os aspectos que envolvem a configurao e a manuteno de uma mquina tocai conectada rede. J a certificao
nvel 2 tem por objetivo geral a configurao e a manuteno de um ambiente de
servidor. Apesar das mudanas, prevalece a poltica do LPI de abordar somente
as ferramentas tradicionais de um sistema GNU/Linux, independente de distribuio. A seguir, est a viso geral das modificaes nessa nova reviso da prova,
fornecida pelo prprio LPI. O

Viso geral das mudanas nos exames LPIC nvel 2


A nova reviso dos objetivos para as provas LPIC nvel 2, vlida a partir de abril de
2009, levou as provas para a verso 3.0. Essa a segunda reviso completa dos objetivos, que padroniza a verso para o mundo todo. No mbito geral, o LPJ antecipou
o ciclo de cinco anos para revises completas. Por volta de cada dois anos e meio, os
objetivos sero modificados para refletir as possveis mudanas do Linux. A prxima
verso do LPIC-1 ser a 3.5, que refletir essa reviso parcial.
Alm dessas revises principais, haver adendos includos numa mdia trimestral,
com o intuito de esclarecer pontos e detalhes dos exames. Esses adendos no alteram
a verso da prova, pois tm apenas o intuito de esclarecer a cobertura da prova para
organizadores de cursos e livros.

Os novos pesos
O peso total de cada prova foi estabelecido em 60. Isso significa que, salvo em provas
com perguntas "beta" para fins de desenvolvimento do exame, cada prova ter exatamente 60 questes. Portanto, a indicao de peso 3 em um determinado objetivo
11

Certificao LPI-2

indica que havero trs questes sobre o tema na prova (exceto, novamente, no caso
de haver questes beta para fins de desenvolvimento dos exames).

Numerao dos objetivos


A numerao dos objetivos passvel de dvida em funo de sua falta de linearidade. Por isso, os prefixos 1. e 2. foram descartados nessa reviso. Em todos os momentos em que numeraes como .l.m.y ou 2.xn.y aparecem, o fazem para citar os
objetivos antigos.

Reduo de contedo duplicado


Em verses anteriores dos objetivos da certificao LPI, alguns tpicos eram abordados tanto nos exames do nvel 1 quanto nos exames do nvel 2. Em alguns casos, o
mesmo contedo aparecia em diferentes provas dentro do mesmo nvel de certificao. A atualizao dos objetivos buscou reduzir as ocorrncias de contedo duplicado
em diferentes provas ou objetivos.
Contudo, algumas tecnologias - como DNS - so importantes nos dois nveis de
certificao e esto distribudos nos locais apropriados. Por exemplo, na certificao
nvel 1, a abordagem sobre o DNS est restrita configurao do cliente do servio.
Na certificao nvel 2, a abordagem passa para configurao e segurana de servidores DNS.

Verses de programas
Quando apropriado, as verses especficas de programas so mostradas nos objetivos.
Por exemplo, a abordagem do Kernel 2.4 foi descartada para priorizar a verso 2.6.
As questes relacionadas ao ReiserFS limitam-se verso 3 do sistema de arquivos e
o servidor Bind 8.x no mais abordado na prova.

Alteraes de contedo
Enquanto o foco da certificao nvel 1 foi mais direcionado para o uso e adininistrao de um sistema Linux local, a maioria dos servios de rede e demais tarefas
administrativas foram movidas para a certificao nvel 2.
Alm disso, os tpicos que tratam do kernel forani reunidos lia certificao nvel 2. Alm disso, tpicos mais avanados, antes abordados na certificao nvel 1,
foram ttazidos para a certificao nvel 2. Por exemplo, a compilao de progtamas
a partir do cdigo fonte agora abordada na LPIC-2. Temas relativos a segurana e
soluo de problemas ganharam muito mais foco nesse nvel.

12

Introduo

Soluo de problemas e Segurana


A cobertura dos contedos relativos a soluo de problemas e segurana aumentou
muito. Em muitos casos, pesos originalmente marcados como 1 ou 2 passaram a 5.
Com isso, o prprio tpico especfico para soluo de problemas tornou.-se um dos
mais importantes na prova.

Gerenciamento de dispositivos udev


O sistema udev foi includo para garantir que os candidatos compreendam como a
deteco e gerenciamento de dispositivos em sistemas GNU/Linux modernos.
LVM
A abordagem ao LVM - Logical Volume Management - foi ampliada. Agora, o tema
conta com seu prprio objetivo.
IMAP/ POP
A prova 202 agora aborda servidores JMAP/POP. So abordados os mais comuns em
ambientes GNU/Linux: o Courier e Dovecot. O

13

Certificao LPI-2

Como usar este livro


Este livro est organizado segundo o programa de contedos oficiais para a Certificao LPI-2. Dessa forma, o candidato encontrar exatamente os temas que so abordados nos exames de certificao, tia profundidade que exigida para a prova. Alm
disso, a sequncia dos assuntos corresponde sequncia em que sero abordados tia
prova. Essa estrutura auxilia o candidato a manter o foco naquilo que importante
para a prova, mas sem deixar de lado a coerncia e a consistncia do texto.
Ao final de cada tpico foram colocadas 10 perguntas correspondentes aos temas
abordados no tpico em questo, totalizando 130 questes no livro. Com a finalidade de familiarizar o candidato, as perguntas foram formuladas com o mesmo formato
cm que apareceram nos exames de certificao. As respostas para as perguntas de
todos os tpicos encontram-se no final do livro.
Professores e escolas podem se beneficiar da adoo desse livro. Contedos densos so abordados de forma objetiva e coesa, o que facilita o ensino e apreparao
de aulas.
A leitura do livro no dispensa a experimentao prtica, devendo, assim, ser
acompanhada. Dado o grande volume de assuntos abordados, a utilizao das ferramentas e conceitos demonstrados so muito importantes para fixao, principalmente para quem os est vendo pela primeira vez.
O

14

Peso total do tpico


naprova:?

Tpico 201.
O kernel Linux
Principais temas abordados:
Identificao dos componentes do kernel;
Compilao do kernel;
Patches e personalizao do Remei.

Certificao LPI-2

201.1 Componentes do kernel


Peso 2
O kernel o componente central do sistema. to importante que muitas vezes
confundido com o sistema em sua totalidade. Ou seja, apesar de o termo Linux designar apenas o componente central - o kernel -, ele normalmente utilizado para
designar todo o sistema, que composto por muitos outros programas.
Por isso, muitos desenvolvedores e personagens importantes do mundo do Software Livre preferem nomear o sistema como GNU/Linux, dado que a maior parte
dos programas que funcionam em conjunto com o kernel Linux fazem parte do projeto GNU, cujo propsito manter um ambiente de desenvolvimento e ferramentas
o mais prximo possvel de seus similares do Unix, porm obedecendo ao modelo de
desenvolvimento aberto.
O termo cdigo aberto refere-se a um modelo de desenvolvimento de programas
de computador no qual o acesso ao cdigo fonte liberado para consulta, alterao
e redistribuio. Isso faz com que um nmero muito grande de programadores possa analisar e contribuir para o desenvolvimento de uma ferramenta ou sistema, na
medida em que podem alter-lo para satisfazer suas prprias necessidades. Alteraes
feitas no programa original podem ser tornadas pblicas ou enviadas pessoa ou
equipe responsvel, que analisar a qualidade da alterao e a incorporar ao produto. Linus Torvalds, o criador e atual administrador do kernel, adotou o modelo de
desenvolvimento e as licenas GNU para o Linux.
O kernel Linux um desses componentes que juntos formam o sistema operacional.
O papel do kernel identificar e controlar a comunicao com o hardware, administrar
os processos em execuo e a comunicao de rede, entre outras atividades relacionadas.

O kernel e seus mdulos


Existem basicamente duas formas de se escrever um kernel para qualquer plataforma:
um kernel monoltico ou um micro-kernel. Diferente de um micro-kernel, um kernel monoltico agrega todas as fiunes dentro de um nico processo. J um microkernel delega cada funo especfica a processos derivados.

QO Projeto GNU
Antes mesmo que o kernel Linux existisse, j havia o projeto GNLI. O projeto foi
iniciado em 1983 por Richard Staliman, desenvolvedor e ativista do sottware
livre. O propsito do projeto GNU criar um sistema operacional de cdigo
aberto que corresponda ao mesmo padro dos sistemas Unix tradicionais.
16

Tpico 201:0 kernel Linux

Por exemplo, um micro-kernel delega a outro processo o controle das conexes


de rede. Dessa fotma, possveis instabilidades na rede no comprometem o funcionamento essencial do sistema. Entretanto, o desenvolvimento de um microkernel muito mais demorado em relao a um kernel monoltico, pois rastrear
eventuais falhas e incluir novos recursos muito mais complicado do que em um
kernel monoltico.
O kernel Linux monoltico. Porm, sua arquitetura chamada modular. Isso significa que, mesmo sendo um kernel monoltico, todas as suas funes no precisam
necessariamente estar todo o tempo presentes na memria. Por exemplo, o kernel
pode estar configurado para trabalhar com dispositivos USB, mas no para manter
em memria as funes exigidas para trabalhar com tais dispositivos. Mantidas em
mdulos, essas funes somente sero carregadas para a memria quando forem necessrias, ou seja, quando for conectado um dispositivo USB.
importante no confundir um kernel modular com um micro-kernel. Apesar
de modular, o kernel Linux um kernel monoltico. Cada mdulo carregado integrado ao kernel ativo e, apesar de em sua maioria poderem ser descarregados da
memria, o kernel continua se comportando como nico e centralizado.

Verses do kernel
A verso de um kernel Linux composta de quatro nmeros. Juntos, eles informam no s quo recente o kernel, mas tambm algumas outras caractersticas.
Esses quatro nmeros que compem a verso do kernel so separados por pontos,
no formato A.B.C.D. O ltimo elemento - nem sempre utilizado, mas tem
funo muito importante.

Sufixos do kernel
Alm dos quatro nmeros, a verso do kernel pode possuir um sufixo que representa um kernel diferente do oficia! - chamado vanilia -, que por sua vez representa
um recurso adicional, uma verso de testes ou outra diferena em relao verso
oficial estvel.
Os sufixos mais comuns so rc e mm. O sufixo rc (release candidate, ou candidato
verso) representa um prepa:ch, que equivalente a uma verso alfa do kernel, e
seus arquivos fonte ficam no diretrio de teste no servidor do oficial do kernel (www.
kernel.orj). Essas verses parciais so aplicadas ao kernel completo da verso imediatamente anterior, usando o comando patch. Por exemplo, o patch 2.6.31-rc5 deve
ser aplicado verso 2.6.30. Apenas as verses de kernel com trs nmeros podem
receber um patch rc. Portanto, as verses release candidate no devem ser aplicadas a
um kernel com quatro nmeros de verso, como 2.6.30.4.
17

Certificao

LPI-2

Verso do Kernel Linux

2e

Muda apenas quando ocorrem transformaes


radicais na estrutura do kernel. Est atualmente
na verso 2.
Nmero de reviso principal

6-'
e

30

Verso principal

At a verso 2.4 do kernel, esse segmento, quando par,


tratava de uma verso estvel. Quando mpar, tratava de uma
verso em desenvolvimento, considerada instvel. Da verso
2.6 em diante, no utiliza-se mais essa distino entre
par e Impar.
Nmero de reviso secundrio

Nas verses mais antigas do kernel, determinava correes e


patches de segurana. Hoje demonstra se houve inclusoes de
novos recursos, como drivers de dispositivos, por exemplo.

Correes urgentes

Utilizado quando h revises de segurana urgentes,


que alteram aspectos relativos reviso secundria.

O sufixo mm representa um kernel com as modificaes realizadas pelo desenvolvedor Andrew Morton, feitas sobre a verso oficial do kernel. Essas alteraes so geralmente mais experimentais do que aquelas feiras nas verses oficiais. Todas essas diferentes verses podem ser obtidas diretamente do site oficial do kernel: www.kernel.org .

Localizao do kernel no sistema


O kerne! Linux oficial distribudo como cdigo fonte, ou seja, precisa ser configurado e compilado para ser utilizado pelo sistema. Depois de copiado do site oficial ou
usando as ferramentas de instalao da distribuio, o cdigo-fonte do kernel deve
ser mantido na mquina local, no diretrio /usrlsrc/, num lugar com as informaes
de verso do kernel, como /usrrrcl/inux-2.630. Como possvel possuir mais de
uma verso dos cdigos-fonte, importante criar um link simblico Iusrlsrc/linux
que aponta para o diretrio do cdigo-fonte do kernel atualmente em uso. Esse procedimento importante para que outros programas possam eventualmente localizar
os arquivos do kernel atual.
Ali encontram-se no s os arquivos de cdigo-fonte do kernel, mas tambm a
documentao oficial e onde estar o arquivo imagem do kernel aps compilado. O
18

Tpico 201:0 kernel Linux

Kernel original x Kernef modificado


Na grande maioria dos casos, no necessrio fazer qualquer alterao no kernel
original para o funcionamento adequado do sistema. Contudo, algumas distribuies
fazem pequenas alteraes no kernel original principalmente para fins estticos.
Por exemplo, necessrio fazer alteraes para exibir uma imagem de progresso
durante o incio do sistema. Caso essa alterao no seja feita, sero exibidas as
informaes de controle do sistema, comportamento padro no kernel original.

arquivo imagem o kernel em si, que mais tarde ser invocado pelo carregador de
boor durante o carregamento do sistema.

Imagem e documentao do kernel


A documentao oficial do kernel em questo fica em /usrlsrc/linuxlDocumentation.
Neste diretrio encontram-se vrios arquivos de texto que documentam aspectos
especficos do kernel. Por exemplo, para descobrir quais parmetros o kernel aceita
ao ser carregado, o arquivo kernel-parameters.txt pode ser consultado.
Aps compilar um novo kernel a partir de seu cdigo-fonte, o arquivo imagem
final ser encontrado em /usr/srcllinux/arch/x86lboot/. Note que o subdiretrio x86
varia conforme a arquitetura escolhida durante a configurao do kernel. Se for escolhida a arquitetura PowerPC, por exemplo, a imagem estar em /usr/src/linux/arch/

powerpclbootl.
O nome e o tamanho do kernel variam conforme for invocada a compilao.
Existem basicamente dois formatos de imagem de kernel: zlmage e bzlmage. Ambos
so compactados com o mtodo zlib, mas o que os difere o tamanho mximo de
arquivo. Um arquivo zlmage possui tamanho mximo de 512 Kb, tamanho adequado para verses mais antigas do kernel. As verses recentes exigem um tamanho
maior, por isso foi institudo o arquivo bzlmage - big zlmage -, que no possui essa
limitao de tamanho. O

201.2 Compilando um kernel


Peso 2

Apesar de a maioria das distribuies acompanhar imagens dc kernel pr-compiladas, pode ser necessrio personalizar o kernel para corresponder a necessidades especficas, como suporte a hardware incomum ou a um sistema de arquivos extico.
Tambm comum recompilar o kernel para ocupar menos recursos e operar em
mquinas mais antigas.
19

Certificao LPI-2

O cdigo-fonte do kernel podc ser obtido por meio de pacote especfico da distribuio ou diretamente do site oficial www.kerneLorg. No ltimo caso, o cdigo
distribudo como um arquivo Tar compactado, e deve ser extrado no local padro,
Iusr/src/linux, que geralmente um link simblico para o diretrio criado na extrao,
como /usr/srcllinux-x.x.xx.
O processo dc personalizao de um kernel exige trs etapas principais: configurao, compilao e, por fim, instalao.

Configurao
A configurao de um novo kernel feita invocando o comando make, de dentro do
diretrio onde est o cdigo-fonte do kernel. Existem diferentes tipos de interfaces
de configurao, mas a mais tradicional a interface ncurses, invocada por meio do
comando niake menuconfi g. A configurao feita no prprio terminal, numa interface simples de menu (figura 1).
Existem outras maneiras de configurar o kernel, mas todas elas produzem o mesmo resultado, que gerar o arquivo .config no diretrio do cdigo-fonte do kerneL
Interfaces alternativas configurao via terminal so os assistentes de configurao
feitos em Qt (figura 2) e em Gtk (figura 3). Ambos devem ser executados de dentro
do ambiente grfico X.

A ro ke ysn.aagate ti,, menu. tera.elect, ,obi.,as - - e. Hegi , Li ghtod ett.,, ar. botk.0 a
una inch,des. ca ,cIad.,. <i me&t ane'.. saturAs. Presa - scuEsc te 5dm
ia.lp e/a s- testei,. LeQende
( bati,'-,,,
1 e,(udeo ase odut. a. no&(., capabte

eupp.rt
nabL e ti,. btocs taper
-acen.,rtype and feateres---a
and eCP( aptie,,- Ie,aadtab(e hte fer,nata / F(at,cns
e todl,i n qnuppart ---a
-a

ryttsqraphir ana

- -

- aad a,, Alteraute LanA: quratiar

Figura 1. A intertace de configurao neurses a mais simples e a mais utilizada para configurao
do kernel.

20

Tpico 201:0 kernel Linux

a-,

LaSIelat ipp.idtokat.S...e

ondIantei1 wp..S a., o.lo. ,oaa. tece. .. ate..


Atctay nada, agnacra aSleti. 2 e 71-14 .7-.wnc

lo Scl*dle
e P,tc
tnpt Paloa
2Fa.te
4
np.n
Ienn
S Pea l'.qe.e,t and E
eaOl lAdva,cS canr.la.tS. and pan. i,,t.dc.I SonIpeo
6*2,4 lAdntIcXd Pana Pn.ea,,.eej a aePen
Coa' Pr.qaa.cy Pc-ne
e a,tctS.a Ira et.l
O Pd IPO4CIAICPORAEI aIPpen
DSOPPSU.P000PXJX
E,.PXtPa e. b.a'a o Pt,esS.a
e PNC000th19 wp.1
e.nIPndan9 .00tPS
e eN.na p.oE.i OteO,g rlwn.ea.t Iaottt.pI
tont M& CnPenLan,
elp 000n.I - apel
Ir ltt*wCmtflan
lE.Iitt.pCanOnIpunen
OEO,.1. Nele.. Canfoetida,
DttaaP, attlq.tise I.btiItI wapal
e 01h*
PrnlacdDxPPRINctnaLI
a t000Ca&qutMap Ice PEPJNPNr*Jj
DWPOt.nsHtttE
tt]I7IeSC7P P2ecsl[nPnlM[WTALI
670. lttC ndars Icma,NTALI
2 DSttc*ed SeXto. Attlatw. itasal
Doas .04/O. ria
POet.at Ottoq
8 .1P*ESOP Rede a ppet
DCMJ ia, .*5', iawpet
SDlo' NianadI itys.. NIa,pat
tnfra.4-pat de,Ir. dPlnn
e 2.1e1, aSpelan atopen
ibeaeth drado da,..,

e Sapeat - a.', S aa.n.ana .n.oey ta.pI


e Syaa. O 'PC
2000 , 0 Ree.o. Que...
-E
SDPr&.eAccaflt
lS.
Pte.aA,c.oaO...
.1 dtwt 0
c.aMa.1xi U"oegh teImo. IEOn[nIe*NIAL7
OPuciImpe-DAad.I.yacconIMgtti'EoIPcKn.0
e e [0*11. areod .toonsio

tanI4.00 1E5PCan4EKT4LJ

Ditas pto-t* aio.nLV.cce.eOog cnfFeiCM'lU


e Mdkboq a,ppet
2 [tida. in.E.two.4 ajdtkoq ouppet
C[.t.S sr tp iopnel
071

*
ii

Retnd bu b,,Ot ia, lia-pIe 17

-P

171Eat

SEX.
dt050tyell,S.ibno.t.et
ONa0tatoCgrIopoPbandan
e(IlfregnaupI0000WlEtnyfln
DDe .torttrolee.Pcgoa4na
..dha, ...pSt. .pd./dflnn EnfEnItetaTeL)

H
Figura 2. A interface de configurao do kernel feita em

QplLnnS bato

tkLaad

1
i1
/a.eSidetpk

--

Naine

- ri 1 o.tiwIut

Ganeral notup

o.

/Oilol.nEepand

Optiorti

ai.

-Enaile ti,e bIock layer

DXC

Protector typ, and reitere,


Pocer manae ,m.nt and ACPI optlons

1M

OUspend#re,u,n. evrs traclng (MEtE

PMTBACETC

Psuspend te Pi and otartdby (NOtE

Dnabfe Poteer Managwonent mattlng '111h ti,it acOrde console tNE'


a,

Hlbernah,on teia cu,pend lo d,sk) INE'V)


ACPI tAdv.nc.d ConIlgu'atltn and Power Intrtaret Suppo't INOVeI

APM (Advanc.d PoVoar Managen,.nt) Otto nuppOrt (NEWI

CPU Ida PM tLIpport (ME'S)

V5
5 5
5 5

HIDEIVdATION
LOPI
Anil

CPU DO/O

CPU rrew.ncy sced.,g


e'

SUSPEND
PMOOSABLO_CONSOLE -

Power Managerttent iupptrt (NOtE

ii

II

5 5

Enable loadable modele support MODULES


K.mej modulei pra .dna'l pl.c., ot corngded cade ai/OCO cio
belo,. 0*4 lo ti,a runnlng k,mtL rolhar than b.lng
p.rrn.r.nt buili mto ti,. knrn.l. tu uce ti,. 7rodp1ob&
1000 L. add (ind ,otn.tlm.t remova) Shen,. E ytu lay 5 he,
toany parta aO lo.a kernel caro be bule as module, (by
ant*nnnQ [4 lnstead o! YwhSne lndlcated): tIni, li moio
uoedul lar lnfr.qu.r4 used 04/lona eublcharanntr. qulr.d
For bootlng For rrora lrnformat,on. Soe Ehe moE pa;.t for
onodoroba. lymod. modlnfo. ,nsenod and nnvnod,
II natd to na,
th*rnoduI.s

Figura 3. A interface de configurao do kernel feita em Gik.

21

Certificao LPI-2

Pr-requisitos para configurao e compilao

Para que soja possvel compilar um kernel, necessrio que estejam presentes no
computador as ferramentas de desenvolvimento, ou seja, os programas e arquivos
necessrios para compilar outros programas. Essenciairnente, necessrio um
compilador da linguagem C - o gcc - e alguns acessrios, como o prprio comando
roake e bibliotecas. A instalao dessas ferramentas varia de acordo com a distribuio.
Em distribuies Debian e derivados, como a distribuio Ubuntu, basta executar
o comando apt-get 1 nstai 1 bui 1 d-essenti ai,que se encarrega de instalar os
programas de desenvolvimento e compilao fundamentais. Em ambientes Red
Hat ou derivados, como o Fedora, a instalao pode ser feita com os comandos
yum groupi nstai 1 "Devei opment Tool s" e yuni instal 1 kernel -devei kernel headers. Mesmo as interfaces de configurao do kernel so compiladas antes
de serem utilizadas. Por isso, necessrio que estejam instalados os pacotes de
desenvolvimento para a interface desejada, sejam eles pcurses, Otou Gtk.

O arquivo gerado aps a configurao do kernel, . config, tambm pode ser editado num editor de texto convencional. Porm, essa prtica no recomendada, pois
alm de o arquivo ser demasiado extenso h opes interdependentes que podem ser
quebradas. A recomendao sempre utilizar um meio tradicional de configurao.
Outras formas de configurar o kernel so:
make config: Criar ou atualizar a configurao por meio de uma interface
orientada a perguntas e respostas na linha de comando;

malte oldconfig: Recupera todas as configuraes do arquivo .config prexistente e pergunta apenas sobre novas opes.

Compilao
Finalizada a configurao, o kernel j pode ser compilado. Se no for a primeira compilao do kernel, pode ser conveniente executar niake inrproper, que apaga as conf3guraes e os arquivos gerados durante urna compilao anterior. Dessa forma, se evita
que hajam objetos com dependncias desencontradas. Para apagar apenas os arquivos
compilados anteriormente, mas preservar a configurao, utiliza-se make clean.

Acelerando a compilao

Boa parte das mquinas modernas so equipadas com mais de um processador


ou processadores de mais de um ncleo. Para aproveitar essa capacidade
recomendvel disparar processos de compilao simultneos. Isso feito com a
opo -j do comando make, Por exemplo, make -j4 bzlrnage compilar o kernel
em quatro processos simultneos, o que agilizar bastante a compilao.

22

Tpico 201: 0 kemel Linux

Para gerar a imagem zlmage ou bzlmage do kernel, utiliza-se na ke z Image ou make bz 1mage, respectivamente. Os comandos apenas firncionara se for obedecida a grafia correta,

com o 1 maisculo em ziniage e bzlmage. A compilao pode demorar de minutos a


horas, dependendo do nmero de recursos escolhidos e do computador utilizado.
Provavelmente o novo kernel ser modular, e os mdulos precisaro ser compilados separadamente. Isso feito com o comando make modules.
Instalao
Depois que o kernel e os mdulos forem compilados, necessrio copi-los para a
localizao correta e configurar o carregador de boor para que possa encontr-lo ao
iniciar o sistema.
Num computador de arquitetura x86, o arquivo de imagem do novo kernel estar em /usr/srci'linux/arch/x86/boot/zlmage ou em fusr/src/flnux/arch/x86/boot/
bzlmage. Esse arquivo deve ser copiado para o diretrio /boot e deve ser renomeado
para algo mais claro e apropriado, como vm1inuz-2. 628-abc. O termo vmlinuz a
nomenclatura padro para os arquivos de kernel do Linux. Recomenda-se tambm
especificar a verso no nome do kernel em questo e utilizar um sufixo que indique
a sua especificidade.
J os mdulos possuem comandos especficos para instalao. Aps compilados,
so instalados usando o comando make modul es_i nstal 1. Ser criado um diretrio com
a numerao do kernel em 111 b/modul es. Portanto, para uni kernel 2.6.30 o diretrio
dos mdulos ser 11ib/modules/2.6.30. O comando make nodules_install tambm se
encarrega de gerar o arquivo rnodules.dep nesse diretrio, que armazena as informaes de interdependncia dos mdulos.
Initial Ramdisk
A partir da verso 2.6 do kernel possvel criar um arquivo chamado Initial Ramdisk. Um Initial ramdisk um pequeno conjunto de arquivos que carregado na
memria RAM durante o carregamento do kernel e montado como se fosse uma
partio, porm sem que haja um sistema de arquivos. Como o Initial Ramdisk
montado antes da partio raiz, o motivo principal para utiliza-lo a necessidade de
utilizar um mdulo essencial para montar a partio raiz, geralmente o mdulo que
oferece suporte ao sistema de arquivos da partio raiz (ffs, ext3, reiserfs etc.) ou o
que oferece suporte para a controladora a qual o disco est conectado (SCSI, RAID
etc.). Como h muitas opes desse tipo disponveis na configurao do kernel,
mais prtico compilar um kernel genrico e adicionar esses recursos como mdulos.
Dependendo da distribuio Linux utilizada, o comando que gera o Initial Ramdisk pode ser o mkinitrd ou o mkinitramfs. No caso do mkinitrd, as opes mais
23

Certificao LPI-2

importantes so -c (eliminar rvore de diretrios usada para criao anterior do mitia! Ramdisk), -k (verso do kernel), -m (lista de mdulos a incluir, separados por
dois-pontos) e -o (nome para o Inirial Ramdisk a ser criado). Portanto, para criar um
Initial Ramdisk para o Kernel 2.6.30 instalado incluindo o mdulo xfs, faa:
# mkinitrd -c -k 2.6.30 -m xfs -o /boot/initrd-2.6.30.9z

Para incluir outros mdulos alm do xfs, basta separ-los por dois-pontos:
# mkinitrd -c -k 2.6.30 -m xfs:reiserfs:ext3 -o /bootlinitrd-2.630.9z

A utilizao do mkinitramfs ligeiramente diferente. Todas as principais configuraes so especificadas no arquivo /etc/initramfs-tools/initramfsconf. Ali
possvel definir quais mdulos devem ser includos, em grupos pr-determinados ou
individualmente. A principal opo de linha de comando para o mkinitramfs -o,
que determina o arquivo Initial Rarndisk. Caso no seja informada a verso para qual
deve ser gerada a Initia! Ramdisk, ser assumida a verso atual. Para gerar a Initial
Ramdisk para o kernel 2.6.30 instalado, faa:
# iikinitramfs -o Ibootlinitramfs-2.6,30 26.30

Nas distribuies que utilizam o mkinitrarnfs, tambm h o comando update1 ni tranifs. No lugar de criar uma nova Initial Ramdisk, ele atualiza aquela j existente
de acordo com as opes do arquivo initramfsconf.

Atualizando o bootloader
Aps compilar e instalar o kernel e seus mdulos e criar a Initial Ramdisk, o carregador de boor deve ser atualizado para que o kernel possa ser localizado e carregado
aps o religamenro do sistema.
Essa configurao feita de diferentes maneiras, dependendo de qual bootloader
utilizado: LILO ou GRUB.
No caso do Lilo, as alteraes so feitas rio arquivo /etc/liloconf. Por exemplo:
image - /boot/vmlinuz-2.6.30
root - /dev/sdal
initrd - /boot/initrd-2.6,30,9z
label - Linux-2.6.30
read-only
24

tpico 201:0 kernel

Linux

Aps editar o arquivo /etcll lia. canf, o comando 1110 deve ser executado para que
as alteraes tenham efeito.
recomendvel manter o kernel anterior e apenas incluir o novo kernel, a fim de
que seja possvel iniciar o sistema com o kernel anterior caso haja algum problema.
Se o bootloader utilizado for o Grub, dev-se editar o arquivo /boat/grub/menu.1 st.
Inclua as seguintes linhas, com as opes correspondentes ao novo kernel:
titie Linux 2.6.30
root (hdo,0)
kernel /boot/vrlinuz-2.6.30root-fdev/sda1 ro
initrd /boot/initrd-2.6.30.9z
Para o Grub, no necessrio executar nenhum comando aps a alterao no arquivo de configurao. O novo kernel aparecer automaticamente no menu de incio
do sistema. O

201.3 Aplicar um patch ao kernel


Peso 1

O kernel Linux um grande e complexo sistema, com reas e sub-reas praticamente independentes. Novos recursos, aprimoramentos e correes so liberados
o tempo todo e, em sua maioria, dizem respeito a um aspecto muito especfico
do kernel.
Portanto, no prtico copiar todo o cdigo-fonte do kernel em funo de uma
alterao em apenas uma pequena parte dele. possvel utilizar um patch - algo
como "remendo" numa traduo livre - para que apenas os trechos relevantes de
cdigo sejam alterados.
Os patches do kernel so trechos de cdigo que contm as correes, aprimoramento de cdigo antigo e incluso de novos recursos. Por exemplo, o arquivo patch2.6.30.5.bz2 o quinto patch corretivo para o o kernel da srie 2.6.30.

Obteno e aplicao de patches


Assim como o cdigo-fonte oficial do kernel, os patches so fornecidos no site oficial do
kernel - www. kerneL org, em arquivos compactados. Por exemplo, patch-2. 630.1. bz2.
Um patch deve ser aplicado apenas verso imediatamente anterior do kernel. Portanto, o patch para o kernel 2.6.3 1 deve ser aplicado somente ao kernel 2.6.30.
25

Certificao LPL-2

O comando utilizado para aplicar um patch tem o nome cognato patch. Um patch
deve ser aplicado a partir do diretrio raiz do cdigo-fonte. No caso do kernel, em
/usr/src/linux.
Dentro do arquivo patch existem as localizaes, o nome de cada arquivo que
precisar ser alterado e quais so as alteraes. A maneira mais prtica de aplicar um
patch direcionar todo o contedo do arquivo para a entrada padro do comando
patch. isso pode ser feito numa nica linha, utilizando o comando bzcat para arquivos hz2 ou zcat para arquivos .gz.
No interior dos arquivos de patch oficiais h uma letra ou um termo antes do
caminho para o arquivo que deve scr alterado:
a/arch/alphali nclude/asrii/percpu.h
Esse caminho indica que uma alterao dever ser feita no arquivo arch/alpha/
1 ncl ude/asrn/percpu - h. Portanto, a letra "a' deve ser retirada do caminho, o que feito
com a opo -p1:
cd /usr/src/llnux
wget http://kernel.org/pub/linux/kerne1/v2.6/patch-2.6.30.3,bz2
bzcat patch-2.6.30.3.bz2 1 patch -p1

Revertendo um patch
Diferentemente dos patches do kernel com trs nmeros de verso (como 2.6.30,
2.6.31, 2.6.31 etc.), os patches com quatro nmeros de verso devem ser removidos
antes de aplicar outro patch.
Portanto, antes de aplicar o patch 2.6.30.4 ao kernel 2.6.30.3, necessrio reverter o patch 2.6.30.3:
bzcat patch-2.630.3.bz2

patch -p1 -R

O prprio patch 2.6.30.3 usado para realizar a reverso. Somente ento o patch
2.6.30.4 pode ser aplicado:
bzcat patch-2.6.30.4.bz2

patch -p1

Apesar de os parches com trs nmeros de verso no necessitarem serem revertidos,


importante aplicar todos os patches na sequncia, sem intervalos. Ou seja, antes de aplicar o patch 2.6.33 ao kernel 2.6.30, necessirio aplicar os patches 2.6.31 e 2.6.32. O
26

Tpico 201:0 kernel Linux

201.4 Configurar, compilar e instalar um kernel


personalizado e seus mdulos
Peso 2

A configurao do kernel uma tarefa que exige conhecimentos sobre cada aspecto do
sistema e da arquitemra. Uma configurao mal feita pode provocar mal funcionamento ou mesmo o total travamento do sistema. A melhor recomendao utilizar como
base uma configurao pr-existente e alterar somente aquilo que se tem certeza.
Enquanto alguns recursos precisam ser compilados internamente (embutidos no
kernel), a maioria pode ser compilada como dinarnicamente carregvel (como um
mdulo carregvel e descarregvel). Na interface de configurao via terminal - iiivocada com make nienuconfiq - o item marcado com asterisco (*) ser compilado
internamente, ao passo que aqueles marcados com a letra M sero compilados como
mdulos. Itens deixados em branco sero descartados para o kernel em questo. Espaos de escolha com colchetes (E 1) indicam que o irem s poder ser compilado
internamente, enquanto que espaos de escolha com sinais de maior e menor (< 4
indicam que o irem poder ser compilado tanto internamente quanto como mdulo.

Principais sees de configurao


A configurao do kernel est dividida nos eixos principais:
Code niaturity levei options: Mostrar ou no recursos do kernel considerados instveis;

General setup: Caractersticas gerais do kernel. possvel incluir um termo

de verso para o kernel personalizado;


Loadable module support: Suporte ao sistema de mdulos e definio de
algumas caractersticas;
Processor type and features: Indica o tipo de processador que o kernel utilizar, e recursos como multiprocessamento;
Power management options (ACPI, APM): Opes relativas ao controle de
energia. Indicado especialmente para laptops;
Bus options (PCI, PCMCIA, EISA, MCA, ISA): Suporte aos diferentes
tipos de barramentos;
Executable file formais: Tipos de arquivos que o sistema operacional ser

capaz de executar;
Networking: Suporte e configurao dos diferentes tipos de plataformas
de rede;

Device Drivers: Escolha e configurao dos dispositivos de hardware, integrados e perifricos;


27

Certificao LPI-2

File systems: Lista dc sistemas de arquivos compatveis e recursos a eles


o

relacionados;
Kernel hacking: Opes de depurao do kernel.

Essas so as principais categorias de configurao, que podem diferenciar de urna


verso do kernel para outra. Praticamente toda opo dc configurao do kernel conta com um pequeno texto de ajuda, exibido ao pressionar o ponto de interrogao
no teclado. Alm de explicar a finalidade da opo, feita uma recomendao sobre
incluir ou no o item na configurao do kernel.
As configuraes so salvas no arquivo /usr/src/linux/.config, que ser usado para
guiar a construo do novo kernel e mdulos. No arquivo Makef 11 e possvel mudar variveis como EXTRAVERSION, que indica ser uma compilao de kernel personalizado.

Empacotamento do kernel
A maneira ideal de distribuir um kernel personalizado criar pacotes Tar, RPM ou
Deb, utilizando os prprios recursos de compilao do kernel:
make rprn-pkg: Gera um pacote RPM compilado e com cdigo-fonte;
rnake binrpm-pkg: Gera um pacote RPM compilado;
rnake deb-pkq: Gera um pacote compilado Deb;
make tar-pkg: Gera um arquivo Tar sem compresso;
make targz-pkg: Gera um arquivo Tar com comptesso gzip;
make tarbz?-pkg: Gera uni arquivo Tar com compresso bzip2.
Criar um pacote com uni kernel personalizado pode ser til especialmente em
ambientes de rede com hardware em comum, que eventualmente necessite de algum
recurso especfico. O empacotamento evita a configurao e compilao individual e
a cpia manual de cada arquivo necessrio para as demais mquinas.
O

o kernel e seus
0 201.5 Controlar/investigar
mdulos durante sua execuo
Peso 3

Enquanto que as interfaces de configurao do kernel oferecem toda a gama de ajustes pata a criao de um novo kernel, os recursos disponveis no kernel atualmente
em execuo podem no estar to evidentes. Saber localizar e inreragir com um kernel e seus mdulos j instalados pode tornar desnecessria uma possvel reconfigu28

Tpico 201:0 kernel Linux

rao e compilao. Um dos comandos mais importantes para obter informaes


do kernel em execuo o comando unarne. Quando usado apenas com a opo -a,
mostra todas as informaes sobre o kernel atual:
Ui&2

:inux thristo 2.6.262 686 #1 SMP Sun Jul 26 21:25:33 JTC 2099 i686 GNU/Jnux

A tabela Sada do comando uname mostra o que representam cada um dos valores.
O unarne tambm pode ser utilizado para exibir apenas alguma dessas informaes isoladamente, fornecendo as opes:
-i: Tipo do processador;
-m: Nome da mquina;
-ri: Nome da mquina na rede;
-p: Processador;
-o: Sistema operacional;
-r: Verso do cdigo fonte do kernel;
-5: Nome do kernel;
-v: Verso de compilao do kernel.
Eventualmente, alguns desses valores - como Processador - pode ser mostrado
como unknown (desconhecido). Isso acontece quando um kernel genrico sem
informao especfica de processador.
O unarne bastante utilizado em scripts de compilao, para identificar onde
esto localizados os mdulos do kernel atual. A sada do comando unarne -r indica
exatamente o nome do diretrio em /lib/modules que armazena os mdulos para o
kernel atual. Alm disso, o uname pode fornecer informaes de recursos disponveis, como SMP (SymmetricMuiti Processing, para mquinas com mais de um proces-

Sada do comando uname


Linux
thernisto
2.6.26-2-686
*1 SMP Suq Jul 2621:25:33 UTC 2009
i686

GNU.'Linux

Nome do kernel
Nonie da mquba
Verso de kernel utilizada
Verso de compiaao do kernel
Arquitetura/processador
SstemaOperacioat

29

Certificao

LPI-2

sador ou mais de um ncleo por processador), RT (Realtime, para sistema com baixa
latncia de resposta) ou compatibilidade com processadores de 64 bits.
O comando uname extrai essas informaes de arquivos localizados no diretrio
/proc/sys/kernel/, diretrio lgico criado pelo prprio kernel para disponibiliz-las
ao uname e a outros programas que possam necessitar delas.

Mdulos do kernel
A maioria das funcionalidades de um kernel podem existir na forma de mdulos
externos, ou seja, em arquivos externos que no necessitam estar o tempo todo carregados na memria. Os mdulos ficam no diretrio /lib/rnodules/, no diretrio correspondente verso do kernel obtida com o comando uname -r.
Assim que o kernel identifica um dispositivo ou quando um recurso modular
solicitado, o mdulo correspondente carregado automaticamente, invocado pelo
comando inodprobe ou insmod*.
A diferena entre os dois comandos que o modprobe carrega o mdulo especificado e os mdulos dos quais ele depende, conforme determinado no arquivo modules dep - presente no diretrio dos mdulos correspondentes ao kernel. Ele automaticamente identifica o kernel em execuo e busca o mdulo no diretrio apropriado,
sem necessidade de oferecer o caminho completo. J o comando insmod precisa do
caminho completo para o mdulo e apenas o carrega sem verificar suas dependncias.
O arquivo modules.dep, que armazena quais so os mdulos disponveis e quais
so as dependncias de cada mdulo, gerado ou atualizado pelo comando depmod
-a. Isso importante pois a maioria dos mdulos dependem de recursos que esto
presentes em outros mdulos, que podem ainda no estar presentes na memria.
Ao analisar as dependncias no arquivo modules.dep, o comando modprobe carrega
tanto o mdulo solicitado quanto os outros mdulos dos quais ele depende.
O arquivo modules.dep gerado automaticamente quando novos mdulos so
instalado a partir de uma compilao do kernel oficial, pois o comando depmod -a
invocado ao trmino do processo de instalao (make modules_instal 1). Quando instalado um mdulo no oficial, o depmod pode no ser executado automaticamente.
Nesse caso, basta invocar o comando depmod -a manualmente, como usurio root.

Inspecionando e interagindo com mdulos


Todos os mdulos atualmente carregados podem ser verificados com o comando
1 srnod. Exemplo de lista de mdulos carregados:

Apesar de o comando insmod ainda ser aceito, o comando padro para manejo de mdulos nas verses mais teceMos do kernel
o nodprobe.

30

Tpico 201: O kernel Linux

lsrod
S 1 ze

Module

Jsed by

snd usb audo

81440

snd_usb

ib

15276

1 snd usb audi

pppdef1ate

4652

bsd coiiip

5228

ppp_async

8428

crc ccitt

1612

1 ppp async

ppp_generic

23136
5260

shc

7 ppp def 1 ate.bsd co'np,pppjsync


1 ppp_generic

option

21296

usbserial

30568

3 opton

7184

ppdev

v412 cornion

13164

2 tunersaa7134

snd

47668

19 snd usb

udio,snd uso

ib,snd seq,snd . hda_codec_

'..ana'3g.snd_ice1712,snd_ak4xxx_addasnd_cs8421,sndac97 co.decsnd nda

nte 1 .sn&_

'-.i2csndhda_codec,sndiipu40l_uart,snd rawmidLsnd_setdevce,snd_hwdep.snd
'..pern,sn& ti!"er
vtdeodev

36160

3 tunersaa7134,v412somuon

v411corpat

14192

1 v 1 deodev

videobuf_&ia_sg

10960

1 saa7134

videobuf core

15056

2 saa7334,videobuf_dma_sg

tveeprom

11568

1 saa7134

cdrom

33888

1 sr-7.od

r8169

32624

parport_pc

24932

rtc_cmos

10156

ther"a1

12936

parport

31852

3 'p,ppdev,parport_pc

4236

:il
12c_core

20480

1 r8169
8 tuner spJe,tea5767,tuner,nvdia,saa7134,2c..

'-.-i801,v412 cwnontveepro
soundcore

1200

rtc core

15976

1 snd
1 rtccrws

snd_page_alloc

8372

2 snd hda intel ,snd_pr

rtc

2316

1 rtc_core

ib

processor

34240

1 acpi cpufreq
31

Certificao LPI-2

button
ns558
gaeport

5212

4492

10360

evdev

9440

2 nsSSB
7

Devido ao grande nmero de mdulos carregados no sistema do exemplo, a lista foi


cortada para exibir apenas parte dos mdulos. A primeira coluna mostra todos os mdulos atualmente carregados, seguido do tamanho em bytes que ocupa na memria.
A terceira coluna mostra o nmero de mdulos ou outros recursos que esto usando
o mdulo em questo, seguida dos nomes desses mdulos. Quando no h mdulos
dependentes listados, porque eles foram compilados internamente no kernel.
Um mdulo no poder ser descarregado se estiver sendo utilizado, seja por um
dispositivo ou por um programa. Se o mdulo estiver ocioso, pode ser descarregado
com o comando nnmod norne_domdu1 o. Seguindo o mesmo princpio do comando
insmod, o comando rmmod somente descarregar o mdulo indicado, mas outros
mdulos presentes apenas para satisfazer as dependncias deste permanecero carregados. Ainda, se o mdulo que se deseja descarregar pr-requisito para outro
recurso, no poder ser descarregado.
Para descarregar um mdulo e os mdulos diretamente relacionados - desde que
no estejam sendo utilizados por outros recursos - novamente usado o comando
rnodprobe, com a opo -r. Por exemplo, pan descarregar o mdulo snd-hda-intel
(dispositivo de som HDA Intel) e demais mdulos relacionados ao sistema de som
(caso no estejam sendo utilizados por outros recursos), faa:
niodprobe -r snd-hda-intel

Alm da possibilidade de carregar e descarregar mdulos do kernel com o sistema


em funcionamento, possvel passar opes para um mdulo durante seu carregamento de maneira semelhante a passar opes para um comando.
Cada mdulo aceita opes e valores especficos, mas que na maioria das vezes
no precisam ser informados. Contudo, em alguns casos pode ser necessrio passar
parmetros ao mdulo para alterar seu comportamento e operar como desejado.
O comando niodinfo mostra a descrio, o arquivo, o autor, a licena, a identificao, as dependncias e os parmetros para o mdulo solicitado. Usando como argumento apenas o nome do mdulo, mostra todas as informaes disponveis:
II modinfo snd-hda-intel
filenaine:
32

11ib/Inodules/2.6.30.4-smp/kernel/sound/pci/hda/snd-hda-intel .ko

Tpico 201:0 kernel Linux

descrpt 1 on:
:ense;

Intel HUA driver


3p1

ai as:

pci :v 0000EU2d*sv*Sd*bc04SCO3130*
pci : vaOO6549dO3OO12Osv*Sd*bc*sC**

a1as:
a' as:

pci : v03008086d000027D85v*sd*bC*SC* 4 *
pc :y 000080860000026685v*sd*bc*SC*i*

depends:

snd-pcmsndsnd-page-afloc,snd-da-codeC

veflTag1c:

2.6.30.4-srp SMP prerpt - od..unoaa P[NTI114

parm:
pari":

index:lndex value for Intel HD audio interface. (array of int)


d:1D str 1 ng for Intel HD audio interface. (array of charp)

pari':

enab'e:Enable Int& FIO audio interface. {array of bool)


rodei :Jse the given Doard iode

parr:

array of charp

posiUon_fix:F 4 x OMA ponter (3 - auto. 1

fone. 2 = POSBUF).

'-.. (array of int)


array of 4 nt)

parr:

bd 1 . pos_aaj:13D1_ positon adjustrent ofset,

parifi:

2robe rnask:Bitrask to probe codecs (uefault

par:":

probe only:n?y prog and no codec ntiazation. array of bool)

parin:

Si).

(array of int)

sinqle_cnl:Use sJnqie ccr':"ard to comiunicate wth codecs (for

'-. debugqng only). boo])


par':

enab'e rsi:Enable Message Signaed lnterrupt (MSI) (nt)

pari:

power save:Autoiratic power-saving timeout (in second. O =

'_., disab1e, (nt)


pari:

power . save_control er Reset control ler i n power save mode (bool

As linhas comeadas com alias mostram todas as identificaes de hardware correspondentes ao mdulo em questo. Ou seja, todo hardware identificado com um
desses valores provocar o carregamento desse mdulo.
Para listar apenas as opes que o mdulo aceita, o comando modinfo deve receber a opo -p:
4 rodinfo -p snd-hda-ntei
power save controiler:Reset controiler in power save ode.
power_save:Autoatic power-saving tir'eout (ii second. 3 - disable).
enabe rsi:Enable Message Siqna'ed nterrupt (MSI)
sirgec'fid:Jse single co:"mand to co'nmncate wtth codecs (for debugging oniy).
probe or11y:3ny prcbing and no codec initialization.
probe .niask:Btniask to probe codecs (defauit - -1).

Certificao LPI-2

bdl_pos_adj:BDL position adjustment offset.


position_fix:ix DMA pointer (O - auto, 1 = fone, 2 - POSBtJF).
model :Use the given board model
enable:Enable Intel HD audio interface.
id:ID string for Intel HD audio interface.
index:Index value for Intel HD audio interface.

Cada uma dessas opes pode receber parmetros diferentes dos valores padro. Por exemplo, usar a opo model para determinar um modelo do dispositivo especfico:
modprobe snd-hda-intel model-3stack

Instrues sobre os parmetros dos mdulos podem ser encontrados na prpria


documentao do kernel, no diretrio Documentation do cdigo fonte.
Esses parmetros personalizados so passados no momento em que o mdulo
carregado. No entanto, o mais comum que os mdulos sejam carregados automaticamente pelo sistema. Por isso, os parmetros personalizados devem ser armazenados
no arquivo /etc/modprobe.d/modprobe.conf (ou dentro de um arquivo individual nesse
mesmo diretrio). O mesmo parmetro do exemplo poderia estar no arquivo modules.conf na forma:
options snd-hda-intel model=3stack

No mesmo arquivo modprobe.conf, possvel criar nomes alternativos para os


mdulos, chamados a/jase.. Dessa forma, o mdulo pode ser invocado por um nome
mais genrico. Por exemplo, um alias chamado sound-slot-O para o mdulo snd-hdaintel:
alias sound-slot-O snd_hdajntel

Outra possibilidade do modprobe.conf definir as aes que devem ser executadas


antes e depois do carregamento e descarregamento de mdulos, como a execuo
de um programa. Por exemplo, carregar primeiro o mdulo snd-ice1712 quando o
mdulo snd-hda-intel for carregado:
instali snd-hda-intel modprobe snd-icel712; modprobe --ignore-instail snd-hda'>1 nt ei
34

Tpico 201:0 kernel Linux

A opo - -ignore- i nstal 1 necessria para que o modprobe no execute novamente a instruo insta!l referente ao mdulo snd-hda-intel no arquivo modprobe.conf.
possvel usar o mesmo procedimento ao descarregar mdulos:
remove snd-hda-intel rnodprobe --ignore-remove -r snd-hda-intel modprobe -r
snd-1ce1712
Dessa vez, a opo - - ignore - remove aparece para impedir a execuo cclica da ins0
truo remove, referente ao mdu!o snd-hda-intel no arquivo modprobe.conf.

'a
o-

'3
(
1

a)
IJ

Certificao LPI-2

Questes Tpico 201


1. A estrutura do kernel Linux oficial pode ser classificada como:
a. Monoltica
b. Micro-kerncl
c. Estvel
d. Multitarefa

2. Qual o formato correto de numerao de verso do kernel Linux?


a. 9.04
b. 2009
c. 2.6.31
ti. 2008 Server

3. O que representam os sufixos adicionados ao nmero de verso do kernel?


a. As iniciais do nome do autor daquele kernel.
Ii Um kernel especfico, alterado cm relao verso correspondente oficial.
e. Uma verso instvel do kernel.
ti. Um kernel que no fornecido pelo site oficial www.kernel.org .

4. Onde pode ser encontrada a documentao oficial especfica de uma verso


do kernel?
a. Em grupos de discusso de Linux.
b. No cdigo fonte dos mdulos.
e. No diretrio Documentation onde foi colocado o cdigo-fonte do kernel.
ti. Nos comentrios deixados pelos desenvolvedores.

5. O comando utilizado para aplicar parches ao kernel o

38

Tpico 201: O kernel Linux

6. Quais comandos podem ser utilizados para gerar uma Initial Ramdisk? Marque
todas as opes corretas.
a. mkisofs
Ii fdisk
c. mkinitramfs
d. mkinitrd

7. Em qual arquivo ficam armazenadas as informaes sobre a disponibilidade de


mdulos do kernel e suas dependncias? Informe somente o nome do arquivo,
sem o diretrio.

S. Qual comando pode ser utilizado para configurar o kernel Linux? Marque todos
os corretos.
a. make config
b. make xconfig
c. make menuconfig
d. make gconfig

9. O comando uname -r informa:


a. os recursos disponveis no kernel em execuo.
b. os mdulos carregados na memria para o kernel em execuo.
c. os mdulos no carregados na memria para o kernel em execuo.
d. a verso do cdigo fonte do kernel em execuo.

10. A maneira correta de carregar o mdulo ehci_hcde suas dependncias :


a. make modules_instail
b. make modules_instail ehci_hcd
C. modprobe ehci_hcd
cl. insmod ehci_hcd

39

Tpico 202

Inicio do sistema

Principais temas abordados:


Identificao das etapas de irdcializao;
Interao com o carregador de boot;
Correo de falhas de inicializao.

Certificao IPI-2

6 202.1 Personalizar o incio do sistema e o processo de boot


Peso

Ao fim das checagens e configuraes aindarnentais realizadas pelo BIOS da mquina, os primeiros setores de dados do dispositivo definido como dispositivo de boot
sero udos. Num sistema j instalado, esses dados correspondem ao carregador de
boot do sistema em questo. a partir desse ponto que cada sistema operacional
assume o controle da mquina.
O primeiro passo da inicializao de um sistema Linux o carregamento do kernel. Este procedimento realizado pelo carregador de boor, seja ele o Lilo ou o Grub.
Assim que o kernel carregado e finaliza os procedimentos de reconhecimento do
hardware fundamental, montada a partio raiz, para que os arquivos e programas
fundamentais estejam acessveis.
Se a partio raiz foi montada com sucesso, o primeiro comando executado o
1 ni t, e justamente por isso o init possui nmero de processo - o pid igual a L

Disparo dos servios


O init responsvel por invocar todos os servios do sistema, por meio dos scripts
de inicializao. Cada servio ou tarefa de inicializao possui um script correspondente, que pode ser ativado ou desativado conforme a necessidade do sistema
ou administrador.
A localizao dos scripts de inicializao varia de acordo com o padro utilizado
pela distribuio. Em distribuies que utilizam o padro BSD - como a distribuio Slackware -, os scripts de inicializao encontram-se no diretrio /etc/rc.d/.
Em sistemas que utilizam o padro System V como Debian e Ubuntu - os scripts
encontram-se no diretrio /etcfinit.d/.
Nem todos os scripts de servios presentes nesses diretrios necessariamente sero
disparados. O que determinar seu carregamento ser o init, que avaliar quais servios esto associados a um determinado nvel de execuo solicitado ou pr-definido.
Num carregamento normal de sistema, o nvel de execuo informado ao init
determinado no arquivo Ietclinittab, numa linha como essa:
xx:4: 1 nitdefault:

Essa linha indica que o nvel de execuo padro, ou simplesmente runlevel padro, o4. Num sistema com o padro System V, como o Debian, sero disparados
todos os scripts localizados no diretrio /etclrc4 . d/, que por sua vez so apenas linlcs

42

Tpico 202: Inicio do sistema

para os arquivos originais encontrados no diretrio /etc/init.d/. Neste padro de


inictahzao existe um diretrio que corresponde a cada nvel de execuo:

Ietc/rcl

.tl

/etc/rc2.d
fetc/rc3.d
/etc/rc4.d
fetc/rc5.d
/etc/rc5.d

Corno no exemplo citado, dentro de cada um desses diretrios existem links simblicos para os scriprs em /etc/inir.d que devem ser invocados para o nvel de execuo correspondente.
J em sistemas que obedecem ao padro BSD, corno o Slackware, os scripts de
inicializao so disparados por scripts mestres que foram invocados pelo init. Por
exemplo, no runlevel 4, alm dos scripts padro - Ietc/rc.d/rc.S e /etc/rc.d/rc.M,
que invocam demais scripts adicionais ,ser executado o script /etclrc.dIrc4, que
se encarregar de disparar os scripts ali determinados (geralmente todos aqueles determinados no nvel de execuo 3 mais o servio de login grfico, como o GDM).

Administrao de servios
Apesar de poderem ser manipulados diretamente, usando comandos tradicionais de
manipulao de arquivos e links, muitas distribuies trazem ferramentas para ativarl
desativar os scripts na inicializao e durante sua execuo. Para distribuies Red
Hat e derivadas, o comando apropriado o chkconfig. Para distribuies Debian e
derivadas, o comando apropriado o update-rc.d.

chkconfig
O comando chkconfi g agrega diversas funcionalidades de gesto de servios do sistema. Utilizando chkconfi g - - li st nome_do_servi o, se for um servio controlado pelo
servidor xinetd, ser mostrado se o servio est ativado ou no (finger cii ou finger offi.
Se for um servio tradicional, ser mostrado em quais run/eveL ele est ativado. Por
exemplo, no caso de servio anacron: anacron O: off 1: oU 2: on 3: on 4: on 5: on 6: off.
Para ativar ou desativar um servio, utilizada a opo --levei, da seguinte forma:

chkconf'g --'eve 1 345 ntpd off

43

Certificao LPI-2

Esse comando far com que o servio ntpd seja desativado nos nveis de execuo
3,4e5.
Ao se tratar de um servio controlado pelo xinetd, sero imediatamente ativados
ou desativados automaticamente pelo chkconfig, sem necessidade de reiniciar o xinerd. Os outros servios no so afetados imediatamente, mas somente no prximo
boot. O incio ou a interrupo imediata destes deve ser feita nianualmente.
Comando semelhante utilizado para ativar um servio para um ou mais nveis de
execuo, substituindo o termo offpor on: chkconfi g --1 evel 345 ntpd on.

update-rc.d
Nos sistemas Debian e derivados, como o Ubuntu, o comando principal de gesto de
servios o update-rc.d. Em muitos aspectos ele semelhante ao chkconfig.
O update-rc.d atualiza os scripts que utilizam o sistema de inicializao System V,
localizados em /etc/ rcX .d/, cujos alvos esto em /etc/init.d/.
Quando utilizada uma das opes defaults, startou stop, o comando cria os links em
/etc/rcx.d/[SK]XXscript, que aponta para o seript correspondente em /etc/init.d/.
Se o link para o script j existir, nada ser feito. Esse comportamento adotado para
no alterar configuraes eventualmente personalizadas pelo administrador. Sero
instalados apenas os links que no estiverem presentes.
Remover diretamente os Iinks no a maneira adequada de desativar um servio
para determinado nvel de execuo. Mesmo que funcione momentaneamente, uma
atualizao do servio causar a reinstalao do script no nvel de execuo. A maneira correta de desativar uni servio utilizar o update.rc-d para mover os Iinks do
servio do estado chamado "5" para o estado chamado "K".
Se a opo default utilizada, sero criados links para iniciar o servio nos nveis de
execuo 2, 3, 4 e 5 a links para interrupo do servio nos nveis de execuo O, 1 e
6. Por padro, todos o links tm o prefixo de sequncia 20, que deve ser alterado caso
o servio em questo possua alguma dependncia. Isso feito usando dois nmero
passados como argumentos finais ao comando. Por exemplo, para inserir um tink de
servio que necessita de um servio de prefixo 20 esteja j iniciado, faa:
updaterc.d nome_do_servio defaults 21 19

O primeiro nmero determina a sequncia de inicializao. O segundo ser a


sequncia de finalizao. Portanto, o servio includo iniciar aps os servios de
prefixo 20 e encerrar antes dos servios de prefixo 20. Quando apenas um nmero
fornecido, ser usado tanto para sequncia de incio quanto para sequncia de encerramento, o que no recomendado.
44

Tpico 202: incio do sistema

Para fazer exatamente o mesmo procedimento informando explicitamente cada


nvel de execuo, usada a forma:
update-rc.d nome do servio start 21 2345

stop 190 1 6

Aps o termo start, informado o nmero de sequncia seguido dos nveis de


execuo para incio. O ponto termina a lista de nveis de execuo. O termo stop,
de forma semelhante, determina o nmero de sequncia e os nveis de execuo para
trmino, tambm terminando com o ponto. Dessa forma possvel informar nveis
de execuo especficos para incio e fim de um servio. importante lembrar que
para utilizar o comando update-rc.d necessrio que o script do servio esteja presente no diretrio /etc!init.d.
A remoo dos links de servios feita usando a opo remove. Contudo, necessrio que o script do servio em /etclinit.d j no exista mais, provavelmente removido por uma desinstalao do programa correspondente.
updaterc.d nome_do_servio remove

Caso o script ainda exista, os links no sero removidos e um aviso ser emitido.
Para forar a remoo dos links mesmo que o seript ainda exista, deve ser fornecida
a opo -f
update-rc.d

-f

nome_do_servio remove

Para evitar que uma atualizao do servio reinstale os links, devem ser criados os
links de interrupo nos respectivos nveis de execuo:
update-rc.d nome do servio stop 20 2 3 4 5

Para apenas testar o comando, sem que nenhuma alterao seja feita, utilizada a
opo -ti, o que pode evitar danos importantes ao sistema. O

45

Certificao LPI-2

202.2 Recuperao do sistema


Peso 4
As duas causas mais comuns para urna falha na inicializao do sistema uni servio mal configurado ou uma falha no sistema de arquivos, seja ela provocada por
arquivos corrompidos ou falha de hardware. Para ambos existem mtodos eficientes
de recuperao. Mas, antes de analis-las, importante verificar se o carregador de
boor est funcionando corretamente.

Recuperao do setor de boot


Quando h mais de um sistema operacional instalado ou feita uma atualizao de
sistema mal-sucedida, possvel que o kernel se torne inacessvel e no seja possvel
iniciar o sistema. Quando sequer o menu de inicializao do sistema exibido, ser
necessrio utilizar uma mdia de boot alternativa, como um CD ou pendrive de instalao do sistema ou de uma distribuio Linux similar.
Para recuperar o boot do carregador Grub, necessrio entrar em seu prompt de
comando. Aps iniciar o computador com uma mdia alternativa, o prompi do Grub
invocado com o comando grub.

II grub
For
E Minimal BSH-like une editing is supported.
the first word, TAB lists possible coinmand
completions. Anywhere else TAB lists the possible
corapletions of a device/filenarrie. 1

grub>
A partir do prompt do grub, necessrio indicar a partio onde os arquivos
necessrios esto, ou seja, onde o Grub est originalmente instalado. No Grub, as
parries so indicadas no formato MX, Y no qual X indica o dispositivo e Y indica
a partio, ambos a partir de O. Dessa forma, a segunda partio no primeiro dispositivo indicada usando hd0,1.
Caso a partio exata onde o Grub fora instalado tenha sido esquecida ou haja
dvida sobre a partio correta, pode ser utilizada a instruo fi nd para localizar onde
est o carregador de primeiro estgio, que dever ser reinstalado na MBR:
find /boot/grubfstagel

46

Tpico 202: Incio do sistema

Depois de localizado a partio, o Grub deve ser reconflgurado e reinstalado. Para


informar ao Grub que os arquivos foram originalmente instalados na primeira partio do primeiro disco (hd,O), por exemplo, usada a instruo root:
root (hdO,O)

Feito isso, a reinstalao na MBR do primeiro dispositivo feira com a instruo


setup:

setup (hdo)

Para sair do prompt do Grub, execute a instruo gui t. O sistema j pode ser reiniciado e o menu de sistema dever estar acessvel. Caso existam incoerncias no menu,
os itens podem ser editados no arquivo fboot/grub/rienu. 1 st.

Falha de servios
Quando um sistema no termina o processo de inicializao, urna possvel causa
um servio mal configurado. O sistema de inicializao do Linux permite que o
sistema seja carregado apenas com os servios mais fundamentais, possibilitando o
reparo e a recuperao dos componentes que eventualmente apresentem problemas.
Tanto o carregador de boot Lilo quanto o Grub oferecem um prompt para editar
e adicionar argurnentos ao kernel que ser carregado. Esses argumentos podem ser
passados tanto nos arquivos de configurao dos carregadores de boot quanto diretarnente no momento em que o kernel ser carregado, logo depois das mensagens
do BIOS. No menu do Grub, essa alterao feita pressionando a tecla [e] sobre a
linha do kernel que ser carregado. No Lilo, basta incluir a opo desejada ao lado
do norne do kernel.
Em geral, entrar no sistema pelo modo de manuteno ou Single User possibilita
fazer as manutenes necessrias. Isso feito simplesmente colocando o nmero 1 ou
a letra Sna linha de inicializao do kernel.
No modo de manuteno, nenhum servio de rede carregado e apenas o usurio
root pode operar a mquina. Dessa forma, reparos necessrios podem ser realizados.
Em alguns casos, o modo de manuteno no capaz de iniciar um sistema minimamente funcional. Quando isso acontece, ainda possvel iniciar o sistema carregando apenas o kernel e indo direto para o prompt do shell. Para isso, utilizada a
opo init no prompt do Lilo ou do Grub, antes de o kernel ser carregado:

47

Certificao

191-2

init-/bin/bash

Dessa forma, no lugar de invocar o programa init, que por sua vez invocaria os
scripts de inicializao, o nico programa invocado logo aps o kernel ser carregado
ser o interpretador de comandos bash. Antes que seja possvel fazer reparos diretamente nos arquivos que estejam apresentando problemas, necessrio remontar o
dispositivo raiz com a opo rw (leitura e escrita), pois o kernel, no primeiro momento, monta a partio raiz apenas para leitura:
mount - o remount,rw /

Pode ser utilizado um editor de texto padro, como o vi, para efctuar as alteraes
em arquivos de configurao. Depois de realizadas as altcraes nos arquivos, como
alterar o runlevel padro no /etc/inittab para que o prximo boot encaminhe o sistema para single mode (de forma que seja possfvel prosseguir a manuteno) ou evitar
que o modo grfico inicie, podemos remontar a partio raiz de volta para somente
leitura:
rnount -o remount,ro /

Esse procedimento tambm pode ser usado para outros fins, como alterar as senhas de usurios ou do prprio roor. Para isso, basta remontar a partio para permisso de escrita e invocar o comando passwd.

Falha no sistema de arquivos


Falhas de leitura ou escrita podem impedir que o sistema inicie por completo. Uma
mensagem como cssa pode aparecer durante o processo de inicializao:
" An errar occurred during the file system check."

Dropping you to a shell; the system will reboot'


when you leave the shell."
Give root password for maintenanee(or type Control-D for normal startup):

Aps fornecer a senha de roor, ser possvel utilizar ferramentas como o fsck para
corrigir os erros no sistema de arquivos.
Numa situao em que o sistema apresenta falhas no fatais e ainda segue operando, possvel realizar muitos desses procedimentos de manuteno sem necessidade
de reiniciar a mquina. Contudo, preciso se precaver contra programas escrevendo
48

Tpico 202: Inicio do sistema

em sistemas de arquivos potencialmente danificados e usurios que podem prejudicar o processo de restaurao.
Isso feito alternando para o nvel de execuo 1, em que apenas os componentes
mais bsicos do sistema estaro ativos e tarefas de manuteno podem ser realizadas.
Para alternar para o nvel de execuo 1, usado o comando te] i n 1 t:
telinit 1

Como no nvel de execuo 1 no h servios de rede, importante que este comando seja executado apenas quando se est operando a mquina localmente. Caso
O
contrrio, a conexo ser perdida e a manuteno ficar impossibilitada.

49

Exerccios

Certificao LPI-2

Questes Tpico 202


Num sistema Linux padro, qual programa responsvel por iniciar os servios
aps o carregamento do kernel? Marque todas as opes corretas.
a. hotplug
b. telinir
c.

mil

d. grub

2. Em qual arquivo so definidos o nvel dc execuo padro e os procedimentos para


cada nvel de execuo? Escreva o caminho completo para o arquivo a partir da raiz.

3. Num sistema que utiliza o modelo de inicializao System V, onde ficam localizados os sctipts de disparo de servios?
a. fetc/inittab.dJ
b. /etc/rc.d/
e. /etc/profile.d/
d. /etc/init.d/

4. Qual comando pode ser usado para interromper, instalar e desinstalar links de
servios nos diretrios apropriados? Marque todas as opes corretas.
a. instali
b. chkconfig
e. update-rc.d
d. update-service

5.0 comando update-rc.d f apache2 remove faz com que sejam:


a.os links de servio para o script /etcfinit.d/apache2 sejam removidos mesmo
que esse arquivo ainda esteja presente.
b.os links de servio para o script /etc/init.d/apache2 sejam removidos apenas se
esse arquivo no estiva mais presente.
c. o scrpt /etc/init.d/apaehe2 seja removido e o servio desinstalado.
d. seja realizado apenas um teste de remoo dos links de servio para o script
fetc/i nit.d/apdche2.
52

Tpico 202: Inicio do sistema

6. Com o comando chkconfig, como o servio ntpd pode ser ativado nos nveis de
execuo 2, 3 e 4?

7. Qual comando utilizado para entrar no prompt interativo do Grub?


a. grub-shell
b. grub-prompt
o. grub-install
d. grub

(hd,O) indica que os arquivos neces8. No prompt do Grub, o comando


srios ao grtib esto na primeira partio do primeiro dispositivo de armazenamento.

9. Na linha de carregamento do kernel, qual instruo determina a entrada no modo


de manuteno? Marque todas as opes corretas.
&S
b. 1

c.M
d. 3

10. Na linha de carregamento do kernel, a linha


comando init pelo interpretador de comandos Bash.

substitui o

53

Peso total do tpico


na prova: 10

Tpico 203.
Sistema de arquivos
e dispositivos
Principais temas abordados:
Montagem, manuteno e configurao de
sistemas de arquivos locais e remotos;
Criao de imagens ISO e montagem automtica;
Regras de gerenciamento de udev,

,1'

Certificao

LPI-2

203.1 Trabalhando com o sistema de arquivos Linux


Peso 4
O acesso a arquivos e diretrios controlado pelo prprio Kernel Linux, podendo ser
dividido em dois aspectos principais: o acesso ao dispositivo de armazenamento e a
interao com o sistema de arquivos ali presente.
O Kernel encarregado tanto da identificao e comunicao com o dispositivo
de arniazenarnento quanto da gravao os dados segundo as regras determinadas pelo
sistema de arquivos escolhido.

Kernel Linux

N \NcIeo de controle das operaes

Sistema de arquivos
Organiza arquivos, diretrios, controle de
acesso e consistncia dos dados.
Sistemas de arquivos Linux tradicionais
so ext2 ext3 xfs relserfs

Dispositivo de
armazenamento
Meio fsico para escrita e leitura. Os mais
comuns so os meios magnticos: discos
rgidos (SCSI. SATA). memrias 550 etc.

O sistema de arquivos fica disponvel para Jeitura e escrita - tanto para usurios
quanto para programas autnomos - aps ser vinculado a um diretrio, procedimento denominado montagem do sistema de arquivos.
liste procedimento pode ser realizado automaticamente ou manualmente, por
meio do comando rnunt.

Montagem de sistemas de arquivos


O comando mount encarregado de anexar uma partio contendo um sistema de
arquivos a um diretrio na rvore de diretrios pr-existente, de forma que seu contedo torne-se acessvel.
56

Tpico 203: Sistema de arquivos e dispositivos

Forma mais comum de utilizao do mount:

aunt -t tipo dispositivo diretrio

(3

A opo -t determina qual o sistema de arquivos utilizado na partio ou dispositivo a ser montado, que especificado pelo termo dispositivo. O ltimo argumento,
diretrio, indica qual diretrio ser o ponto de montagem da partio ou dispositivo

indicado.
O Linux compatvel com urna grande diversidade de sistemas de arquivos. O
mount capaz de descobrir a maioria dos sistemas de arquivos, sem necessidade de
fornecer a opo -t. Porm, alguns tipos de sistemas de arquivos, como sistemas de
arquivo remotos, precisam ser especificados. Quando usado sem qualquer argumento, o mount exibe os dispositivos montados:
# mount

(3

Idevlsda5 on / type xfs (rw)

tmpfs on /lib/init/rw type tmpfs (rw.nosuid,mode=0755)


proc on tproc type proe (rw,noexec,nosuid,nodev)
sysfs on fsys type sysfs (rwnoexecnosuid,nodev)
procbususb on /procfbusfusb type usbfs (rw)
udev on /dev type tfnpfs (rw,ode-0755)
tmpfs on /dev/shm type tmpfs (rwnosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid-5,mode520)
fusecti on /sys/fs/fuse/connections type fusecti (rw)
/dev/mapper/lnm-hoine on /home type xfs (rw)
/dev/mapper/lnm-var on /var type xfs (rw)
/dev/sdal on /boot type ext3 (rw)
Essas informaes tambm podem ser consultadas nos arquivos Ietclrntab* e /
proc/rnounts. Contedo do arquivo /etc/mtab:
/dev/sda5 / xfs rw 00
tmpfs /lb/init/rw trnpfs rw,nosuid,mode-0755 O O
proc /proc proc rw,noexec,nosuid,nodev O O
sysfs /sys sysfs rw,noexec,nosuid,nodev O O

'O arquivo /etc/mtab j no mais o padro para conferncia de sistemas de arquivos montados em sistemas Linux, mas ainda

mantido por quesfes de compatibilidade,

57

CerlIfIcao LPI-2

procbususb Jproc/bus/usb usbfs rw O 0


udev /dev tmpfs rw,mode-0755 O O
tmpfs /dev/shm tmpfs rw,nosuid,nodev 00
devpts fdevfpts devpts rw,noexec,nosuid,gid-5,IRode-620 00
fusecti /sys/fsffuse/connections fusecti rw O O
/dev/mapper/lnm-home /home xfs rw 00
/dev/niapper/lnm-var fvar xfs rw O O
/dev/sdal /boot ext3 rw 00
Algumas distribuies apenas mantm o arquivo /eicfrntab como um link simblico para o arquivo /proc/mounts. O contedo de /proc/mounts bastante semelhante aos demais citados:

# cat /proc/mounts
rootfs / rootfs rw O O
none /sys sysfs rw,nosuid,nodev,noexec O O
none fproc proc rw,nosuid,nodev,noexec 0 O
udev /dev tnipfs rw,size-10240k.rnode-755 O O
/devfsda5 / xfs rw,attr2,noquota 0 O
tmpfs /liblinit/rw tmpfs rw,nosuid,mode-755 00
usbfs /proc/bus/usb usbfs rw,nosuid,nodev,noexec O O
tmpfs /dev/shui tmpfs rw,nosuid,nodev 00
devpts /dev/pts devpts rw,nosuid,noexec,gid-5,mode620 00
fusecti /sys/fs/fuse/connections fusecti rw O O
/dev/mapper/lnm-horiie /home xfs rw,attr2,nobarrier,noquota O 0
/dev/mdpper/InIn-var /var xfs rwattr2,nobarriernoquota O O
/dev/sdal Iboot ext3 rw,errors-continue,data-ordered O O
A nica difcrcna entre o /etc/mtab e o /proc/mounts demonstrados a entrada
rootfs em /proc/mounts. O rootfs refere-se montagem temporria feita para a imagem Initial Ramdisk, durante o carregamento do sistema.
A linha de comando para montar um sistema de arquivos pode ser resumida se o
dispositivo ou partio estiver previaniente conhgurado no arquivo /etc/fstab. Nesse
caso, ser necessrio fornecer ao comando mount apenas o caminho completo para a
partio ou para o ponto de montagem.
Para desmontar um sistema de arquivo pela linha de comando, utiliza-se o comando uniount. Para o umount, necessrio fornecer somente o caminho completo
58

Tpico 203: Sistema de arquivos e dispositivos

para o dispositivo ou ponto de montagem, mesmo que a partio montada no esteja


presente no arquivo /etc/stab.

Tabela de sistemas de arquivos - fstab


Durante os procedimentos de carregamento do sistema, os scripts de inicializao
responsveis pela montagem consultam a tabela de sistemas de arquivos para realizar
as montagens automticas. Essa tabela fica no arquivo /etc/fstab, um arquivo de
texto que determina os pontos de montagem para os dispositivos essenciais. Cada
linha corresponde a um dispositivo, contendo os seguintes termos separados por
tabulaes ou espaos:

Dispositivo
O caminho para a partio no diretrio /dev ou o cdigo de
Identificao do sistema de arquNos.

Ponto de montagem
O diretrio onde o sistema de arquivos ficar acessheI.
No caso de uma partio swap, utilIzar o termo swap.

Sistema de arquivos
O sterna de arqSvos utilizado na partio.
Opes
Aspectos do sistema de arquivos podem ser personalizados.
Em geral, no necessrio definir opes dilerentes de detaufts.
As opes so separadas por vrgula.
Dump (Backup)
Determina se a partio dever ser utilizada pelo comando dump
durante um backup automtico. Com valor O, o comando dump
ignorar a partio. Com valor 1. o comando dump a utilizar.

Fsck (Verificao de consistncia)


Valor numrico que determina a onlem da checagem leita pelo
fsck durante o boot. Para a partio raiz (i), deve ser 1. Se
ausente, O presumido e a checaern no ser leita no boot.

As opes utilizadas no arquivo fstab variam de acordo com o sistema de arquivos


utilizado na partio, porm h opes comuns a todos os sistemas de arquivos,
como ro (reaa'-only, ou somente leitura) e rw (read-write, ou leitura e escrita).
A opo noauto no est relacionada ao sistema de arquivos utilizado. Ela de uso
do sistema para identificar quais sistemas de arquivos no devem ser montados ou
59

Certificao

LPI-2

desmontados automaticamente. A montagem automtica acontece quando invocado o comando mount -a, geralmente por um scripr de inicializao.
De maneira semelhante, o comando umount -a desmonta as parties presentes no
fstah que estejam montadas e no estejam sendo utilizadas.

Identificao de sistemas de arquivos


Tradicionalmente, as parties no Linux so acessadas por meio de arquivos localizados no diretrio /dev. Isso pode provocar alguns inconvenientes, pois alteraes
no BiOS da mquina ou mudana de Kernel podem fazer com que as mesmas
parties apaream com diferentes nomes no diretrio /dev. isso provocaria falhas
de montagem, pois no haveria a correspondncia correta entre as definies no
arquivo /etc/fstab e os nomes de dispositivos em Jdev.
A soluo para esse problema usar o nmero de identificao do sistema de arquivos no lugar do arquivo em /dev. Este nmero, conhecido como UUID, nico
e usado pelo sistema para localizar o sistema de arquivos independentemente de seu
dispositivo correlato em /dev.
Para identificar os UUIDs dos sistemas de arquivos locais, usado o comando bi ki d:
$ blkid

fdev/hdal: UIJ1O"OCFOB15OFOB14QAE TYPE="ntfs"


/dev/hda2: UUID= 0 75e64f36-eaca-4f6c-8633-a2249085efd4 TYP[="xfs'
Idevlsdal.: UUTD-10E0B1SOFOB140AE" TYPE-"ntfs"
Idev/sda2: UUID="75e64f36-eaca-4f6c-8633-82249095efd4" TYPE"xfs"
fdev/sdbl: LABEL-"Ubuntu" UUID-"be2feeOf-5b45-4021-92e5-e38dce9d8fc5' SEC_
'-..TYPE-"ext2" TYPE-"ext3"
/dev/inapperldata-home: UUID-"f6bd0e92-7af0-4a04-9762-dd6091559d7f TYPE-"ext4"
/dev/rnapper/data-usr: UUID"8905e859-bO53-4bd2-904f-dca93cea0659" TYP['xfs"
/dev/inapper/data-var: UUIO-"5a586273-634e-4fdc-ad00-93253clflfSa' TYP[-"xfs'
/dev/sdcl: UU10"MOthwaoMleZ6FnF21w-guml-ECaS-MrMICR" TYPE-'lvm2pv"
/dev/sdb2: UU1D-1wMCVw-LAzn-4xfD-NCn-Hv7d-OMLH-f2q2p4' TYPE="lvin2pv"
/dev/sda3: TYPE-:ap" UUIO-"39820cf9-4f2f-46e7-a054-481fa9bbSba"
/dev/sda4: UTD-'IK4Ftd-FdhH-vftu-hKXGiryf-QTau-9iBH93" TYPE"1vn2pv"

Como se pode ver, mesmo sistemas de arquivos no montados ou de outros sistemas operacionais so listados pelo comando blkid. Para cada sistema de arquivos
identificado, exibido o arquivo correspondente no diretrio /dev, o nmero de
identificao UUTD e o tipo do sistema de arquivos utilizado. Caso exista, tambm
exibido o rtulo (label) do sistema de arquivos.
60

Tpico 203:

Sistema de arquivos e dispositivos

De posse do UUID, ser possvel utiliz-lo no arquivo /etc/fstab. Basta substituir


o caminho para a partio pelo UUID. Por exemplo, na linha onde h:
/dev/hda2 / xfs noatine,nodiratime.logbufs=8

11

fo

substituir por:
UUIO-'75e64f36-eaca-4f6c8633-a2249085efd4" / xfs noatime,nodiratime,
'-10gbufs=8
11
Note que necessrio especificar o uso da identificao por UUID na linha do arquivo fstab, comeando com UUID-. recomendvel encerrar o nmero UUID com
aspas para evitar que alguma combinao das letras e nmeros sejam erroneamente
interpretados e provoquem falhas de montagem.

Partio Swap
iijdos os programas em execuo, bibliotecas e arquivos relacionados so mantidos
na memria do sistema para tornar o acesso aos mesmos muito mais rpido. Contudo, se esses dados alcanarem o tamanho mximo de memria disponvel, todo o
funcionamento ficar demasiado lento e o sistema poder at travar. Por esse motivo,
possvel alocar um espao em disco que age como uma memria adicional, evitando a ocupao total da memria RAM e possveis travamentos. No Linux, esse espao em disco chamado Swap e deve ser criado numa pattio separada das parties
de dados convencionais.
Por padro, o espao de swap criado durante a instalao do sistema e ativado
a cada boor. Uma entrada de partio swap no fstab corresponde seguinte linha:
fdev/sda2

swap

swap

defaults

Note que no h ponto de montagem para parties swap, porque no se trata de


um sistema de arquivos do ponto de vista tradicional. Onde deveria estar indicado o
ponto de montagem, consta apenas o termo swap.
Dependendo das necessidades do sistema, pode ser necessrio criar parties
swap adicionais. O sistema pode tornar-se lento caso alguma aplicao exija uma
memria alm da qual o computador dispe, seja ela fsica ou swap. Neste cenrio,
o espao de swap deve ser aumentado ou devem ser criadas uma ou mais parties
swap adicionais.

61

Certificao LPI-2

O comando utilizado para configurar uma partio como swap o mkswap. Sua sintaxe simples, sendo necessrio fornecer como argumento apenas o caminho completo para a partio a ser utilizada.
O mkswap apenas configura a partio para ser utilizada como swap, mas no a ativa. Para ativar uma partio, usa-se o comando swapon. Assim como para o mkswap,
necessrio apenas fornecer o caminho completo para a partio, mas possvel fornecer algumas opes. A tabela Opes do comando swapon mostra algumas delas.
Para desativar um espao de swap, utiliza-se o comando swapoff. O comando
pode ser usado fornecendo como argumento o caminho completo para a partio
ou com a opo -a. Com ela, todas os espaos de swap encontrados em /etc/fstab
e /proc/swaps sero desativados, exceto aqueles com a opo noauto em /etcffstab.
Arquivos comuns tambm podem ser utilizados como reas dc swap, exatamente
como se fossem parties. Para criar um arquivo com propsito de swap, pode ser
utilizado o comando dd:
dd if=fdevfzero of-swapfile.bin bs-1024k count-256

O arquivo swapfi 1 e. bi n poder ser usado como se fosse uma partio de swap. Para
format-lo dessa maneira, deve-se usar o comando mkswap swapfi 1 e. bi n. Em seguida,
seu espao de swap ativado com o prprio comando swapon swapfile.bin.

do comando swapon
swapon -a

swapon -a-e
swapon -L nome
swapon -p 0-32767

swapon -s
swapon -U Id

62

Ativa todas as parties marcadas como swap em fetc/fstab,


exceto aquelas que possuirem a opo noauto. As parties swap
contidas em fetc/fstab que j estiverem ativas sero ignoradas.
As parties no encontradas sero ignoradas sem aviso.
Usa a partio com o label nome.
Define a prioridade da rea de swap especificada. Quanto maior o
nmero, maior a prioridade. No arquivo /etcffstab indicado com a opo
pri=0-32767 reas de maior prioridade so utilizadas por completo
antes que reas de menor prioridade selam utilizadas, enquanto que
reas de mesma prioridade so utilizadas em paralelo. Podem ser
utilizados valores negativos para estabelecer prioridades ainda menores.
Mostra uso de cada espao de swap, extraido
do contedo do arquivo /proc/swaps.
Usa a partio com UUID correspondente a /d.

Tpico 203: Sistema de arquivas e dispositivos

Gravao sncrona de dados com sync


Antes que sejam fisicamente gravados no dispositivo de armazcnamento, os dados
so mantidos numa memria temporria, o cache ou bufer do sistema de arquivos.
Isso feito para obter maior velocidade, pois a gravao sncrona dos dados provocaria lentido de leitura e escrita do dispositivo. Como esse cache muito mais
rpido que o meio de armazenamento final, essa lentido no sentida e os dados
so gravados num momento posterior.
Contudo, dados na memria cache que no tenham sido gravados no disco sero
perdidos em caso de queda de energia ou desmontagem incorreta, pois a memria
cache chamada voUtiL no armazena os dados aps seu desligamento.
Por isso muito importante que sempre seja feita a desmontagem correta dos
sistemas de arquivos montados, seja manualmente, seja com os scripts de desligamento do sistema. Como a desmontagem dos dispositivos feita automaticamente
ao desligar a mquina, no necessrio preocupar-se com a sincronizao dos dados
no cache.
Eventualmente, pode ser conveniente fazer a sincronizao dos dados na memria
cache sem fazer a desmontagem do sistema de arquivos. Isso possvel usando o
comando sync, que realiza a operao em todos os dispositivos de atmazenamento
do sistema. O

203.2 Manuteno de um sistema de arquivo Linux


Peso 3
Sistemas GNU/Linux so capazes de trabalhar com praticamente todos os tipos de
sistemas de arquivos. Os mais utilizados, no entanto, so o xfs, ext3 - sucessor do
ext2 - e reiserfs. Outros sistemas de arquivos, como o FAT e NTFS da Microsoft,
tambm podem ser utilizados, mas os sistemas de arquivos considerados "nativos"
so o xfs, exi2, ext3 e reiserfs.

Criando um sistema de arquivos


Aps criar uma partio por meio de um particionador, como o fdisk ou o cfdisk,
necessrio criar um sistema de arquivos nesta partio para que seja possvel gravar
e ler arquivos. O comando padro para essa tarefa o mkfs, que por sua vez invoca
comandos especficos como mkfs ext2, nikfs . ext3 ou mkfs. rei serfs, dependendo do
sistema de arquivos indicado pela opo -t. Para os sistemas de arquivos ext2 ou
ext3, tambm h o comando mke2fs, que possui a mesma finalidade dos anteriores.

63

Certificao LPI-2

Uni sistema de arquivos pode ser criado apenas fornecendo como argumento o
caminho completo para a partio:

# inke2fs /devl1hda6
mke2fs 1.38 (30-Jun-2005)
Filesystem labelOS type: Linux
Biock size=4096 (log-2)
ragment size-4096 (Iog-2)
856480 inodes, 1712922 blocks
85646 blocks (5.00%) reserved for the super user
First data block=0
53 biock groups
32768 blocks per group, 32768 fraginents per group
16160 inodes per group
Superbiock backups stored on blocks:
32768, 98304, 163840, 229376. 294912, 819200, 884736, 1605632
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 21 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
No exemplo foi criada uma partio do tipo ext2, que no tem suporte ajournal/ing (veja o quadro Journailing em sistemas de arquivos). Para criar uma partio ext3, que utiliza journailing, poderiam ser usados trs comandos diferentes:

mkfs -t ext3 /dev/hda6, mkfs.ext3 /dev/hda6 ou mke2fs -i /dev/hda6.

Q iournauingem Sistemas de

Em linhas gerais, urri sisftmafie arquivos om Jurn$1Iii1Q registra ife


antmq todas as aIteraes fetsiq djgb, Dessa fomia ertosde 9rav9
(normalmente ocasionados po quedj de EnerglU dysiigamonto lr300rrGto)
pode,nl ser maisaeRmeite d1gnotiCadbs etofflionadfl.

64

Tpico 203: Sistema de arquivos e dispositivos

Caso necessrio, possvel converter um sistema de arquivos ext2 para ext3 sem
perda de dados. Para isso, utiliza-se o comando tune21's j /dev/hdx, em que Idevi/nix
a partio com o sistema de arquivo ext2.

Verificando e corrigindo
Existem diferentes abordagens para o diagnstico e correo de falhas em sistemas de
arquivos. O primeiro passo identificar quais os sintomas de problemas e as caractersticas do sistema de arquivos em questo.
O comando dumpe21`s utilizado para mostrar diversas informaes de baixo nvel
sobre um sistema de arquivos ext2 ou ext3. No entanto, sua utilizao sem argumentos mostra muito mais informaes do que e um administrador comumente precisaria ver. A opo -h oferece uma viso geral sobre o sistema de arquivos:
# dumpe2fs - /devfhda6
Filesyster, volume nanle:
<fone>
Last nounted on:
<not availaflie>
Fi!esystr UUJD:
0b7d5787-34c1-43d4-bed3-8995fa0158cd
Filesystr rna9 4 c nj"iber: OxEF53
Filesystei revsion #:
1 (dynaniic)
f'etype sparse_super
Filesystem eatures:
Defaut rount options:
Filesyster state:
[rrors behavior:
Filesyster OS type:

(fone)
clean
Continue
Linux

Essas informaes tambm podem ser obtidas usando o comando tune2fs -1 /dev/
hda6. Se o sistema de arquivos utilizar journalling, aparecer o termo hasjournalna
linha Filesystem features. A principal funo do comando tune2fs, no entanto, de
ajustar algumas configuraes de sistemas de arquivo ext2 e ext3. A tabela Ajustes
em ext21ext3 mostra algumas dessas opes.
altamente recomendvel que a verificao por tempo ou nmero de montagens
seja utilizada para evitar possveis inconsistncias nos dados.
O comando correlato ao rune2fs para sistemas de arquivos reiscrfs o rei serfstune. O reiserfstune utilizado principalmente para alterar propriedades de journalling, mas tambm pode alterar opes como o uuid do sistema de arquivos
(-u aula) ou o Labe/ ( nome interno) do sistema de arquivos (-1 nome). importante
notar que a opo -I cem diferentes efeitos para o tune21s e para o reiserfstune.

Certificao LPI-2

Ajustes em ext2/ext3
c

Determina o nmero mximo de montagens


at que a partio seja automaticamente
verificada pelo comando fsck. Se
for O ou -1, o nmero de vezes que a
partio foi montada ser ignorado.

Ignorar checagem automtica a partir


do nmero de montagens reahzadas:

Atribui o recurso journailing a


um sistema ext2. Equivale a uma
converso de exl2 para ext3.

Atribuir journailing ao sistema de


arquivos na partio /dev/sda3:

tune2fs -c O Idev/sda3

tune2fs - j /dev/sda3

O sistema de arquivos XFS tambm possui comandos especficos para as finalidades de informao e manuteno. Por exemplo, para obter informaes como
tamanho c nmero de blocos, utiliza-se o cornado xfs_info:
*

# xfs_info /
meta-data-/dev/root

isize-256

agcount-4, agsize-305235 blks

sectsz-512

attr-2

data

bsize-4096

blocks-1220940, imaxpct-25

sunit-O

swidth-O blks

naming

-version 2

bsize-4096

ascii-ci=O

log

internal

bsize-4096

blocks-2560, version-?

sectsz-512

sunit-O blks, lazy-count-O

extsz-4096

blocksO, rtextentsO

realtime -none

O argumento principal para o comando x&_info o ponto de montagem do sistema de arquivos XFS que se quer examinar.
H tambm comandos especficos para verificar a consistncia e reparar sistemas
de arquivos XFS. O comando xfs_check pode ser utilizado para identificar inconsistncia e informar esses erros, que por sua vez podem ser corrigidos com o comando
xfs_repa ir. Ambos devem ser executados em um sistema de arquivos desmontado ou
montado como somente leitura. Caso contrrio, podem emitir informaes errneas
e at mesmo gerar inconsistncias.

Tpico 203: Sistema de amuivos e dispositivos

Reparos em sistemas de arquivos


Apesar de no serem frequentes, sistemas de arquivos Linux podem apresentar erros
de mdio a longo prazo, especialmente em servidores muito exigidos. Muitos desses
erros podem ser contornados com o uso adequado de programas especficos. Mesmo
erros fsicos no dispositivo costumam ser remediveis, at que sejam substitudos por
um novo.
A ferramenta padro de reparo em sistemas de arquivos Linux o fsck, que apenas um atalho para comandos especficos para cada sistema de arquivos, como fsck.
ext2 e fsck. rei serfs. Para exr2 e ext3, existe ainda a variante e21`sck.
A maneira correta de verificar um sistema de arquivos faz-lo com a partio
desmontada. Caso a partio a ser verificada seja a partio raiz, deve-se entrar no
sistema no modo de manuteno ou urili7ar uma mdia de boot alternativa, como
um Live W. A sintaxe bsica do fsck fsck /dev/sdx, em que /devtsdx a partio
com o sistema de arquivos a ser verificado.
O fsck consultar o arquivo /etc/fstab para identificar o tipo de sistema de arquivos da partio indicada para verificao via linha de comando. Caso a verificao
tenha sido feita via Live CD ou a partio a ser verificada no conste no /etc/fstab,
o sistema de arquivos deve ser especificado opo -t. Para um sistema de arquivos
reiserfs, por exemplo: fsck t reiserfs /dev/hdal ou fsck.reiserfs /dev/hdal.
Algumas opes do fsck so especficas para determinados sistemas de arquivos,
portanto devem ser consultadas no manual do sistema de arquivos em questo. Contudo, muitas delas so comuns maioria dos sistemas de arquivos. Dessas opes,
algumas das mais importantes so:
-a: Corrigir erros automaticamente, sem fazer nenhuma pergunta;
-n: No faz nenhuma correo, apenas informa o erro na safda padro;
- r: Realiza os reparos em modo interativo. Pode causar confuso se vrias checagens esto acontecendo em paralelo;
-y: Essa opo determina que o fsck adote a alternativa padro para qualquer
problema que encontrar.
Quando executado automaticamente a partir de um script, conveniente armazenar o valor retornado pelo comando fsck para registro e conferncia. O valor numrico retornado pelo comando corresponde soma das seguintes condies:
O: Nenhum erro;
1: Erros encontrados e corrigidos;
2: O sistema deve ser reiniciado;
4: Erros encontrados e deixados sem correo;
8: Erro operacional;

Certificao LPI-2

16: Erro de uso ou sintaxe;


32: Fsck cancelado por solicitao de usurio;
128: Erro de biblioteca compartilhada.

Dentro de um script bash, o valor de resposta do ltimo comando executado pode


ser recuperado com a varivel $7.

Inspeo e alterao em baixo nvel


Para fazer alteraes de baixo nvel no sistema de arquivos exr2 e cxt3, existe o comando debugfs. O comportamento padro do debugfs abrir um pronipt inrerativo para a
partio solicitada, onde podem ser utilizados comandos especficos do debug&. Unia
utilizao bastante comum do debugfs recuperar arquivos apagados em parties ext2:

# debugfs -w /dev/hda6
debugfs:

isdel

Inode Qwner Mode

12

Size

O 100644

32

Blocks
Time deleted
1/
1 Thu May 10 17:42:13 2007

1 deleted inodes found.


debugfs: undelete

<12> relatorio.txt

No exemplo acima, o debugs abriu a partio /dev/hda6 com permisso de escrita


(-w. No prompt do debugfs, o comando lsdel mostrou que o arquivo de inode 12

comuns do comando fsck


-

Consulta o arquivo Jetc/fstab e tenta checar todos os sistemas de arquivos


encontrados. Se tambm for especificado um ou mais sistemas de arquivos
(separados por vrgula) com a opo - t, apenas os sistemas de arquivos do tipo
especificado sero verificados. Se o tipo de sistema de arquivos for precedido
por , parties com este tipo de sistema de arquivos sero ignoradas.
Ao verffkr ras de tini sslrnadgrquvos em par*o nomodo fntsratwo, as perguntas
exibidas podrriprovocarconfusao Aopo s faz com que os sistemas de aruivos

sejam verificados uni aps o outro e tio taja cohfso no caso do modo Intorativo.
N
-P
R

68

No faz nenhuma modificao, apenas mostra quais providncias seriam tomadas.


Checa os sistemas de arquivos solicitados em para$o.
Usado com a opo - , indica que a partio raiz deve ser
ignorada (caso esteja montada com opo de escrita).

Tpico 203: Sistema de arquivos e dispositivos

foi apagado. O comando undel ete foi utilizado para associar o inode 12 ao arquivo

dc nome relatorio.zxt.
Semelhante ao debugfs, parties reiserfs desfrutam da Ferramenta debugreiserfs. Sem argumentos, o debugreiserfs tem o mesmo comportamento que o comando dumpe2fs -h ou o comando tune2fs -1 para parties ex121ext3. Contudo, o
debugreiserfs no capaz de recuperar arquivos apagados.
Erros no dispositivo
Apesar de provocarem transtornos como perdas de disponibilidade e at perdas de
dados, os erros em sistemas de arquivos geralmente so reversveis, bastando recorrer
aos mtodos de checagem padro.
Mais crticos que erros em sistemas de arquivos so os erros apresentados pelo prprio dispositivo. Esses erros geralmente significam que h defeitos nos dispositivos
controladores ou no prprio meio de gravao.
Esses erros no podem ser corrigidos pelo comando fsck e, provavelmente, no podero ser corrigidos de maneira alguma. Contudo, possvel identificar quais setores
do dispositivo esto apresentando problemas.
O comando badblocks analisa uma partio e identifica os setores defeituosos.
Em seguida, aps uma longa checagem, exibe um relatrio sobre quais setores apresentaram erros exibido aps uma longa checagem. Esse relatrio no tem qualquer
finalidade prtica, mas as informaes sobre setores defeituosos podem ser usadas
pelo comando ike2fs (mkfs . ext2, mkfs - ext3) para criar urna partio que ignora os
setores defeituosos no dispositivo.
Isso feito simplesmente invocando o comando mke2fs com a opo -e. O prprio
comando invocar a checagem por badblocks e criar um mapa de setores defeituosos
que sero ignorados pelo sistema de arquivos. Apesar de til em algumas situaes, a
O
utilizao de um dispositivo apresentando problemas no recomendvel.

203.3 Criando e configurando opes para sistemas de arquivos


Peso 2

Alm dos sistemas de arquivos e procedimentos de montagem tradicionais, existem


outros que possuem finalidade especfica e que tambm so importantes no contexto
do sistema operacional.
No universo Linux, costuma-se dizer que existem inmeros caminhos para chegar
ao mesmo fim, cabendo ao usurio definir o melhor para si. Isso se aplica, por exem-

1 70

Certificao

LPI-2

Montagem de mdias removveis

O acesso midias removveis - como COs e pendrives - no Linux j foi um procedimento


complicado, Hoje, basta Inserir o disco ou o dispositivo para que ele automaticamente
sela montado e fique acessvel ao usurio. Isso acontece graas aos novos mtodos de
comunicao com o hardware, que permitem s aplicaes lidar melhor com eventos
nessa esfera. Subsistemas como o udev e Hal (Hardware Abstraction Layer) tornaram
esses procedimentos muito mais simplificados, evitando a interveno do usurio.

pIo, aos diferentes sistemas de montagem automtica de sistemas de arquivos, que


no dependem dos scripts de inicialzao ou das informaes no arquivo Ietc!fitab.
Esse conceito tambm verdade quando trata-se de mdias diferentes dos discos
rgidos tradicionais, como CDs e DVDs. Apesar de todos os sistemas modernos oferecerem programas simples e prticos para gravao dessas mdias, h situaes em
que a gravao via comandos de terminal til e necessria.

Montagem automtica
comum que computadores em rede compartilhem espao em disco num servidor,
e a maneira mais usual de faz-lo montar o compartilhamento remoto durante o
boor das estaes. No entanto, se por algum motivo a conexo entre as mquinas
cair, o compartilhamento poder no mais estar acessvel.
Uma soluo para este problema utilizar um sistema dc montagem sob demanda.
Dessa forma, toda vez que o usurio acessar um diretrio pr-determinado, o compartilhamento remoto ser montado, caso j no esteja. Essa soluo tambm pode ser
adorada para mdias removveis, evitando a utilizao manual do comando mount.

autofs
Existem diversos tipos dc ferramentas de montagem automtica para Linux. Cada
uma delas tem suas vantagens e desvantagens, ficando reservado ao gosto pessoal do
administrador a escolha de uma em detrimento da outra, unia vez que ao usurio
final as diferenas so praticamente imperceptveis.
Dentre os vrios sistemas de montagem automtica que podem ser utilizados, h
o autofi. Umas das grandes vantagens do autofs a utilizao dos recursos de montagem oferecidos pelo prprio sistema, ou seja, ele apenas identifica o acesso a um
determinado diretrio e realiza a montagem para um dispositivo ou compartilhamento de rede pr-configurado, usando como instrumento de montagem o prprio
comando mount.
O principal arquivo de configurao do autofs o /etc/auto.master. Nele so especificados quais diretrios sero monitorados e o arquivo de definio para cada um deles.

Tpico 203: Sistema de arquivos e dispositivos

Contedo de um arquivo Ietcfauro.master simples:


/mnt/rnisc

/etc/auto.misc

--tirneout-10

Este arquivo chamado de mapa mestre (master map). Pode haver mais de uma
linha no mapa mestre, cada uma especificando um diretrio a ser monitorado. O
mapa mestre nico, e consultado durante a inicializao do sistema ou quando
invocado o comando autonount manualmente.
O script de inicializao (geralmente /etcfinit.d/autofs ou /etc/rc.dfautofs) checa
o arquivo /etc/auto.master e passa cada linha encontrada como argumento para o comando automount, que permanecer ativo e monitorando os diretrios especificados
no mapa mestre. Podem existir vrias instncias do comando automount, uma para
cada diretrio monitorado.
Para cada um desses diretrios monitorados, deve haver um arquivo chamado arquivo de mapa, especificado no segundo campo do mapa mestre (no exemplo, /etcl
auto.misc). O terceiro campo opcional e pode conter opes que so passadas para o
automount. No caso do exemplo, --timeoutlO determina que aps uma inatividade
dc 10 segundos no diretrio monitorado, os subdiretrios que porventura estiverem
montados sero desmontados.
No arquivo de mapa que so especificados os diretrios que sero montados
automaticamente. A sintaxe de cada linha no arquivo de mapa :

key [-options] location

Ainda seguindo o mapa mestre mostrado anteriormente, quando algum evento no


diretrio /nint/mi sc for detectado, o arquivo /etc/auto.misc ser consultado. Exemplo
de /etc/auto.niisc:
cdrorr

-fstypeiso9660.ro :fdevfhdc

ernesto

-fstyprnfs

192.168.11.1:/home/ernesto

Neste caso, quando o usurio tentar acessar os diretrios /iuint/mi scfcdron, /innt/
rnisc/ernesto ou qualquer subdirerrios dentro deles, os diretrios sero montados
automaticamente.
muito importante lembrar que os diretrios indicados nos arquivos de mapa
(no caso do exemplo, cdrom e ernesto) no devem existir no cliente, pois sero criados
automaticamente mediante tentativa de acesso. O primeiro campo de cada linha
(key) determina o nome do ponto de montagem dentro do diretrio monitorado. 0

1 72

Certificao LPI-2

segundo campo (-oprions, comeado com uni hfen, determina as opes dc montagem e o tipo de sistema de arquivo. O terceiro campo (tocation) especifica o dispositivo ou o local de rede a ser montado.
No exemplo, a primeira linha especifica o dispositivo /dev/hdc na mquina local
a ser montado automaticamente em /mnt/misc/cdrom e a segunda linha especifica
o compartilhamento NFS /home/ernesto na mquina 192.168.11.1, a ser montado
em /mnt/misc/ernesto na mquina local.
possvel, ainda, especificar urna fonte remota no lugar dc um arquivo dc mapa
local, corno uma base de dados NIS ou um diretrio LDAP. Essas alternativas, contudo, esto disponveis apenas invocando o comando automount diretamente.
Outto recurso importante nos arquivos de mapa so os caracteres curinga. O caractere * no campo key corresponde a qualquer ocorrncia no diretrio monitorado.
O caractere & no campo location ser substitudo pelo campo key da mesma linha.
Exemplo de utilizao de caracteres curinga no arquivo /etc/auto.misc:
fstypenfs

192.168.1I.1:/home/&

Quando um usurio ou programa tentar acessar, por exemplo, /mnt/niisc/adernar ou


/nintlnii se/osi res, as seguintes entradas sero invocadas, respectivamenre:
adeniar

-fstype=nfs

192.168.11.1:/horne/adeniar

osires

-fstypenfs

192.168.11.1:/home/osires

Esse mtodo particularmente ril em redes em que os diretrio pessoais dos


usurio nas estaes ficam armazenados no servidor, pois evita realizar configuraes
diferentes em cada uma das estaes.

C'iao de imagens de CD
A gravao de uma mdia ptica um processo dividido em duas etapas: a criao da
imagem - conhecida como imagem ISO e a gravao ou "queima" da mdia. Uma
imagem de CD um arquivo gerado a partir dos arquivos que se deseja gravar na
mdia. Mesmo os programas que realizam a gravao on thefiy (sem gerar o arquivo
imagem antes de gravar) na verdade o fazem num processo casado, gravando na addia ao mesmo tempo que a imagem gerada.
A criao de uma imagem a partir de uma mdia que j contenha dados simples.
Uma das maneiras de executar essa tarefa utilizar o comando dd:

Tpico 203:

Sistema de arquivos e dispositivos

dd if-/dev/cdrom ofinagem.iso

Tambm possvel utilizar a entrada e a sada padro do comando dd para realizar


a mesma tarefa:
dd < /dev/cdrcrn > irnagem.iso

O arquivo imagem.iso foi gerado a partir da cpia byte a byte da mdia presente no dispositivo. Portanto, a menos que tenham corrido falhas de leitura,
a imagem exata da rndia ali presente, imagem essa que poder ser utilizada para
gravao numa outra mdia. O principal programa para gravao de CDs e DVDs
o cdrecord:
cdrecord devATA:O,O,O irnaqem.iso

O comando mostrado assume que o gravador simula um dispositivo SCSI, com o


nmero de identificao LUN 0,0,0. Em kcrnels mais recentes (verso 2.6 em diante), possvel simplesmente especificar o caminho do dispositivo no diretrio /dev
cdrecord dev=/dev/sr irnaqem.iso
O comando para criar imagens de CD a partir dc arquivos e diretrios o comando rnkisofs. A maneira mais simples de utilizar o mkisofs simplesmente indicar o
arquivo imagem a ser criado e o(s) diretrio(s) de origem dos arquivos:
mkisofs 'o imagern.iso diretrio/um diretrio/dois . . .
Todos os arquivos nos diretrios especificados sero criados na raiz da imagem.
Para especificar locais diferentes dentro da imagem, utiliza-se a opo - graft -points:
mkisofs -o iniaqer.iso graft-points pasta_a-diretrio, um pasta b-diretrio_dos

A criao de uma imagem dessa forma suficiente para a maioria das finalidades. Contudo, diferentes sistemas operacionais podem apresentar incompatibilidades
com CDs e DVDs gravados num sistema diferente. Existem duas opes principais
para a gerar mdias compatveis, -J e -R.

73

Certificao LPI-2

Peculiaridades das imagens ISO


A opo -J gera registros folia, alm dos nomes de arquivos regulares do padro
iso9660. Ela uma opo fundamental se o CD ser lido em mquinas com Windows. A opo - R gera imagens do tipo Rock Ridge, que preservam atributos especiais de
arquivos Unix (links, permisses etc.).
Na tentativa de eliminar as diferenas entre os diferentes padres de sistemas de
arquivos de CDs e DVDs, foi desenvolvido o padro UDF (Universal Disk Format).
Esse padro j aceito pela maioria dos sistemas operacionais e sua utilizao recomendada. Para gerar unia imagem com o padro UDF, basta utilizar a opo -udf ao
gerar a imagem com o comando mkisofs. O

203.4 Gerenciarnento de dispositivos udev


Peso 1

No Linux, a maioria dos dispositivos acessvel por meio dos arquivos presentes
no diretrio /dev, possibilitando ao usurio lidar com eles como se fossem arquivos
tradicionais. Essa abordagem, extremamente prtica principalmente para programas
que precisam lidar diretamente com o hardware, trazia alguns inconvenientes nas
verses mais antigas do sistema operacional. Os arquivos eni /dev eram criados no
momento da instalao do programa, num nmero muito grande, pois havia arquivos mesmo para os dispositivos que no estavam presentes. Isso era feito para evitar
que um dispositivo adicionado futuramente ficasse inacessvel. Outro problema dessa abordagem era o nome do arquivo em /dev associado a um dispositivo. A regra
para associao era a ordem com que o dispositivo era identificado, o que pode no
ser a maneira mais adequada.
A soluo para esse problema foi a adoo do sistema de gerenciamento de dispositivos udcv. Combinado arquitetura hotplug do kernel, o udev identifica o dispositivo e cria os arquivos em /dev dinam.icamente, a partir de regras pr-determinadas.
Nos sistemas atuais, o udev responsvel por identificar e configurar tanto os dispositivos presentes desde o ligamento da mquina (coldplug) quanto os dispositivos
conectados com o computador em funcionamento (hotplug).
As informaes de identificao do dispositivo ficam armazenadas num sistema de
arquivos lgico chamado SysFS, cujo ponto de montagem Isys. Os eventos registrados nesse sistema de arquivos podem ser monitorados com o comando udevmonitor
ou, em sistemas mais recentes, com o comando udevadro monitor.

74

Tpico 203: Sistema de arquivas e dispositivos

Por exemplo, a conetio de um modem GSM USB provoca diversos disparos de


eventos:

# udevadm monitor
monitor wfl print the received events for:
-

KERNEL

the event which udev sends aut after Pule processing


-

the kernel uevent

KERNEL[1252426132.317381] add

/devices/pci0000:00/0000:00:10.3/usb4/41 (usb)

KERNEL[1252426132.321126] add

/devices/pci3000:0010000:30:1d.3/sb4/4-114-

'-..1:1.0 (usb)
KERN[L[1252426132.324338] add

/devices/pci0000:00/0000:00:ld.3/usb4/4-1/4-

'-.1:1.0/usb endpoint/usbdev4.6_ep81 (usb endpo 1 nt)


KERNEL[1252426132.324523] add

/dev 4 ces/pci0000:00/0030:00: Id .3/usb4/4-1/4

'-.-1:1.0/usb endpoint/usbdev4.6 er82 (usb endpoint


KERNEL[1252426132,324635] add

/devices/pc0000:00/0000:00:1d.3/usb4/4-1/4-

'-.1:1.0/usbendpo 4 nt/usbdev4.6 epO? (usb .endpoint)


KERNEL[1252426132.324765] add

idevcesipc 1 0O00:330000:00: la.3/usb4/4 1/4-

'-..-1:1A (usb)
KERN[L[1252426132.326590] add

/devces/ci0000:09/0000:00:1d.3/usb4/4-1/4-

'-.1:1.1/usb_endpoint/usbdev4.6ep84 (usbendpoint)
KERNEL[1252426132.328037] add

/devices/pci0000:00/0000:00:ld3/usb4f4-1/4-

'-..1:1.1/usbendpoint/asboev4.6_ep04 (ustendpoint)
KERNE1[1252426132.328197] add

/devicesfpci0000:00/0000:00:ld.3/usb4/4-1/4-

'-,.-1:1.2 (usb)
KERNEL[1252426132.330344] add

!devcesfpci0000:00/0000:00:1d.3/usb4/4-1f4

~1:1.2/usb . endpoint/usbdev4.6_ep85 (sb .endpoint)


KERNEL[1252426132.330533] add

/devices/pci0003:00/0000:00:Id.3/usb4/4-1/4-

'-..1:1.2/usb_endpoint/usbdev4.6 . epOS (usbendpoint)


/devices/pci0000:00/0000:00:ld.3/usb4/4-1/
KERNEL[1252426132330678] add
'-'usb endpoint/usbdev4.6ep0O (usb endpoint;
110EV [1252426132.381016] add

/dev1ces/pci0000:0010000:00:ld.3/usb4/4-1 (usb)

UOEV [1252426132.408439] add

/devcespci0000:00/0000:30:1d.3/usb4/4-1/

'-.usb_endpoint/usbdev4.6_ep00 (usb_endpoint)
110EV [1252426132.440803] add

/devices/pci0000:00/0000:00:ld.3/usb4/4-I/4-

'-..i:1.1 (usb
11DEV [1252426132.450470] add

fdevices/pci0000:00f0000:00:ld.3/usb4/4-1/4-

'-..1:1.0 (usb)
75

Certificao LPI-2

UDEV [1252426132.469384] add

/devices/pci0000:00/0000:00:ld.3/U5b4/4-1/4-

'.1:1.2 (usb)
UDEV [1252426132.477228] add

/devlces/pci0000:00/0000:00: ld.3/usb4/41/4

'-..1:1.0/usbendpointlusbdev4.6_ep8l (usb_endpoint)
UDEV [1252426132.509483] add

/deviceslpci0000:00/0000:00:ld.3/usb4/4-1/4 -

~1:1.0/usb_endpoint/usbdev4.6_ep82 (usb_endpoint)
I.WEV [1252426132.5115021 add

/devices/pci0000:00/0000:00:ld.3/usb4/4'114 -

~1:1.0fusb_endpoint/usbdev4.6_epO2 (usb_endpoint)
UDEV [1252426132.523023] add

/devices/pci0000:00/0000:00:ld.3/usb4/4-114'

'-*1:1.1fusb_endpoint/usbdev4.6_ep84 (usb_endpoint)
UDEV [1252426132.539316] add

/devices/pci0000:00/0000:00:ld.3/usb4/4-1/4 -

'.1:1.1/usb_endpoint/usbdev4.6_ep04 (usb_endpoint)
UOFV [1252426132,540802] add

/devftes/pci0000:00/0000:00:ld.3/usb4/4-1/4-

'-..1:1.2/usb_endpoint/usbdev4.6_ep85 (usb_endpoint)
UD[V [1252426132,550417] add

/devftesfpci0000:00/0000:00:ld.3/usb4/4-1/4'

'.1:1.2/usb_endpointfusbdev4.6_epO5 (usb_endpoint)

So exibidos eventos disparados pelo kernel e que o udev assume a responsabilidade. a partir dessa identificao que as aes so tomadas, corno a criao do arquivo
apropriado no diretrio Idev ou o disparo de comandos automticos.
Essas aes so determinadas pelos arquivos de regras do udev. Como a maioria
dos arquivos de regras j acompanha a distribuio, no h necessidade de alter-ios.
O arquivo de configurao principal do udev o arquivo /etc/udev/udev.conf. Os
arquivos de regras ficam no diretrio /etc/udev/rules.d/.

Regras do udev
A primeira parte de todas as regras do udev especifica a condio que deve ser satisfeita para o udev executar ou aplicar a segunda parte. Em um caso simples, essa
condio pode se referir ao nome interno que o kernel d a um dispositivo. Por exernp1o, a condio para um teclado KERATEL== "kbd' As condies so indicadas
por sinais de igual duplos, exatamente como em linguagens de programao. Mais
condies podem ser listadas depois, numa lista separada por espaos. As aes so
introduzidas por um sinal de igual. Por exemplo, MODE= "0660"cspecifica as permisses. Da mesma forma, OWNER informa o dono, enquanto GROUP estabelece
o grupo. A palavra NAMEespecifica o nome do dispositivo, e curingas so suportados. Por exemplo, %k representa o norne usado pelo kernel, como descrito anteriormente. Uma regra que siga esse padro deve ser: KERNEL== 'dn*' NAME= "%k'

MODE= "0660'
76

Tpico 203: Sistema de arquivos e dispositivos

Por exemplo, a regra para nomeao do dispositivo de rede a partir de seu endereo MAC:
SUBSYST[M'net' ACTJON"add". DPI VERS_"?*", ATTR{addressl"00:18:f8:bO:d
'-.c:68", AfTMtype}"1". NAME"wlan'

O udev normalmente processa todas as regras que coincidam com o padro, at


acabarem as rcgras. Para cancelar o processamento de regras quando uma coincidncia
especfica aparecer, basta especificar a instruo lascn4le no campo OPTIONS. O

Exerccios

1 80

Certificao LI'I-2

Questes Tpico 203


1. Um sistema de arquivos ser acessvel num sistema Linux somente se
a. o sistema de arquivos for do tipo ext3.
b. o sistema dc arquivo estiver montado em um diretrio.
e. o sistema de arquivos for do tipo ext2.
d. o sistema de arquivos no estiver com problemas de consistncia.

2. Qual arquivo contm as informaes sobre os sistemas de arquivos atualmente


montados no sistema? Marque todas as opes corretas.
a. /proc/partitions
b. /proc/xnount
c. /proc/mounts
cl. /etc/mtab

3. O terceiro icem no arquivo /etc/fstab representa:


a. O caminho para a parrio no diretrio /dev.
b. O ponto de montagem.
e. As opes de montagem.
cl. O sistema de arquivos utilizado na partio.

4. O comando
utilizado para obter os nmeros UUID de todas os sistemas de arquivos utilizados pelo sistema.

5. O comando que ativa um espao de swap o:


a. mkswap
b. free
C. mkfs.swap
cl. swapon

6. O comando _________ fora a gravao no dispositivo dos dados presentes no


cache (buifer) do sistema de arquivos.

Tpico 203: Sistema de arquivos e dispositivos

7.

das finalidades do comando dumpe2fs :


a. Exibir informaes detalhadas sobre um sistema de arquivos ext2I3.
b. Fazer uma cpia de segurana de sistemas de arquivos ext213.
e. Formatar um sistema de arquivos ext2I3.
d. Ajustar um sistema de arquivos ext2/3.
Uma

8. De qual forma o comando mke2fs deve ser invocado para realizar verificao por
badblocks no dispositivo?
a. mke2fs -b
b. mke2fs -v
c. mke2fs -e
ci. mke2fs -t

9. Pelo sistema autofs, o comando _____________


arquivo /etc/auto.iiaster.

disparado para cada entrada no

10. As regras de eventos udev ficam armazenadas em arquivos dentro de qual diretrio? Informe a caminho completo para o diretrio.

81

Peso total do tpico


na prova: 6

Tpico 204.
Hardware
Principais temas abordados:
Configurao de RAIO e LVM;
Ajustes de dispositivos de armazenamento.

Certificao LPI-2

Q 204.1 Configurao de RAID


Peso 2

RAID, sigla para Redundant Array of Inexpensive (ou Independent) Drives (ou
Disks), um mtodo para integrar vrios dispositivos de arrnazenarnento numa nica unidade lgica. Existem dois modelos de implementao de RAID: via hardware
ou via software. O RAID via hardware transparente para o sistema operacional, que
no precisar de nenhuma configurao especial. No RAID via software, o sistema
operacional o responsvel por combinar as diferentes unidades fsicas.

Nveis de RAID
So vrios os mtodos dc gravao e acesso que podem ser utilizados pelo RAID. Veremos trs deles, o RAID O, o RI4JD 1 e o RAID 5, que so os mais utilizados e exigidos
pelo programa de Certificao do LPI.

RAID O
O RAID O utiliza o mtodo smping, que simplesmente distribui os dados entre os discos
unificados, somando seus espaos corno se fossem um s. Como no h redundncia dos
dados gravados, unia f1ha de gravao comprometer o RAID. o mtodo que propordona mais velocidade e oferta de espao, em detrimento da segurana dos dados gravados.
RAIO 1
O RAID 1 utiliza o mtodo mirroring, que espelha os dados em cada um dos dispositivos anexados ao RAID. Neste caso, o espao total no ser a soma de todos os discos.
Se forem utilizados dois discos de 200 GB, o total de espao disponvel ser 200 GB,
e no 400 GB. Caso um dos discos aptesente falhas, os dados podero ser lidos do outro dispositivo, que possui os mesmos dados. Porm, se um arquivo for apagado, ser
apagado em ambos os discos e no poder ser recuperado. O RAID 1 apenas protege
os dados contra falhas do dispositivo. O tempo de gravao no difere do dispositivo
usado fora do RAID, pois a gravao dos mesmos dados feita em cada um dos discos
em paralelo. J o tempo de leitura reduzido, uma vez que o controlador l diferentes
pores dos dados requisitados em diferentes discos simultaneamente.
RAID 5
O R.AID 5 apresenta um mtodo mais elaborado. Diferentemente dos RAIDs O e 1,
que necessitam no mnimo de dois discos, o RAID 5 exige no mnimo trs discos. A
redundncia dos dados feita por todos os dispositivos. Dessa forma, o RAID no
ficar comprometido em caso de falha de um dos dispositivos que o constituem.
84

Tpico 204:

Hardware

Existem duas ferramentas tradicionais para configurar um dispositivo RAID no


Linux: raidtools e mdadm.

Software RAID com raidtools


O pacote raidtools uma das ferramentas padro de RAID no Linux. Primeiramente, necessrio criar o arquivo /etc/raidtab, que contm todas as informaes sobre
os esquemas de RAID no sistema. Um arquivo /etdraidtab simples pode conter as
seguintes linhas:
raiddev /dev/rnd
raid-levei
nr-raid-disks
persistent-superblock
O
chunk-size
device /dev/hdb
raid-disk O
device /dev/hdd
raid-disk 1

S
O
2
8

O sistema l essas informaes durante o incio do sistema e dispara os comandos


necessrios do pacote raidtools para configurar o RAID via software. No exemplo,
so utilizadas as principais definies do raidtools:
raiddev: Define o incio da configurao para o dispositivo especificado. O
arquivo /ctc/raidtab pode ter vrias sees, uma para cada dispositivo RAID
no sistema;
raid-levei: O nvel de RAID para o dispositivo. No exemplo, utilizado
RAID nvel O;
nr-raid-disks: O nmero de dispositivos ou parties reais dentro do sistema
RAID;
persistent-superbiock: Determina se deve ser criado um pequeno bloco de
dados que permite ao kernel identificar se os dispositivos ou parties utilizados fazem parte do RAID. No necessrio, mas til se o dispositivo for
movido, para no alterar a ordem original. Os valores possveis so Oe 1;
chunk-size: Tamanho em Idlobytes dos pacotes de dados que sero distribudos entre os dispositivos no RAID. Deve ser mltiplo de 2. No exemplo,
sero utilizados pacotes de 8 Kb;
device: Dispositivo ou partio includo no RAID;
raid-disk: Posio numrica do dispositivo ou partio correspondente.
85

Certificao LPi-2

Criado o arquivo /etcfraidtab, basta executar o comando nk raid /dev/md. O RAID


ser criado a partir das especificaes de /etc/raidtab para o dispositivo /devlmdO e
estar pronto para ser utilizado como uma partio convencional. Depois de criado
o dispositivo, pode ser utilizado o comando raidstart, que apenas ativa o RAID para
o dispositivo especificado. Para desativar o dispositivo RAID, pode ser usado o comando raidstop. Os trs comandos aceitam a opo -a, que causar efeito em todos
os dispositivos listados em /etc/raidtab.

Software RAID com mdadm


A utilizao do mdadm um pouco mais complexa que o raidtools. Apesar disso,
ambos produzem o mesmo resultado: um dispositivo que combina as parties ou
dispositivos fsicos num outro dispositivo, que pode ser manipulado por particionadores tradicionais, como o fdisk.
Para criar um RAID como o que foi criado com o raidtools no exemplo anterior,
o seguinte comando pode ser utilizado:
ridadm

-c

/dev/mdO -v -1 O -n 2 /dev/hdb /dev/hdd

Dessa forma, tambm ser criado o dispositivo /dev/mdO, que representa um RAID
nvel 1 com os dispositivos /dev/hdb e /dev/hdd.
O comando mdadm pode ler as configuraes a partir do arquivo pr-existente
mdadm.conf. Este arquivo, geralmente cm /etc/mdadm.conf ou /etc/pidadrn/mdadm,conf,
contm as informaes necessrias para criao e ativao de dispositivos RAID.
Exemplo de arquivo mdadrn.conf simples:
DEVICE /dev/hdb fdev/hdd
ARRA? /dev/md devices/dev/hdb,/dev/hdd level=O

A primeira tinha, DE VICE, determina quais dispositivos ou parties pertencem a


um RAID. A segunda linha, ARRAY, especifica um dispositivo de acesso ao RAID e
demais opes para ele. No exemplo, so especificados quais dispositivos devem ser
anexados a ele e o nvel do RAID (0).
O termo DEVICE pode aparecer na forma abreviada DEVe so aceiros caracteres
curinga para especificar os dispositivos e parties. Se no for especificado, assumido DEVICE parti tions, o que faz com que o kernel examine todas as parties listadas
em /proc/partitions e inclua aquelas que possuam o superbtockde identificao caracterstico para RAID.

86

Tpico 204: Hardware

Tanto para o raidtools quanto para o mdadm pode ser consultado o arquivo Iproci
rndstats, que contm informaes sobre RAID no sistema. Exemplo de contedo do

arquivo /proc/mdstats num sistema com RAID ativo:


Personalities : [linear]rad0] [raidi]
nidO : active raid hdd[1] hdb[0]
14450403 blocks super non-pers 4 stent 8k chunks

unused devices: <fone>

Apesar de o RAID por hardware ser muito mais utilizado que o RAID por software, h situaes nos quais o RAID por software pode ser uma alternativa interessante. Principalmente nos casos em que se quer ter mais segurana na cpia e armazenamento dos dados, os esquemas de RAID 1 e RAID 5 por software so indicados
na ausncia do RAID por hardware. O

204.2 Ajustar o acesso a dispositivos de armazenamento


Peso 1

Atualmente, tanto computadores domsticos quanto servidores so capazes de trabalhar com diferentes tipos de dispositivos de armazenamento. O kernel Linux oferece
suporte para praticamente todos os dispositivos de armazenamento, mesmo aqueles
muito incomuns ou que ainda no esto disponveis no varejo.
O kernel deve estar corretamente configurado para trabalhar com diferentes dispositivos de armazenamento. Em geral, basta marcar o suporte a discos IDE (ATAPI)
e SATA. Outras opes tambm podem ser escolhidas, depcndendo dos dispositivos
com os quais se est trabalhando. Nenhuma dessas configuraes necessria caso esteja sendo utilizado um kernel padro da distribuio, pois neles eias j so habilitadas.
Por padro, o recurso de DMA (Direct Memory Access) dos discos ativado automaticamente pelo kernel durante o boot. Caso no seja, possvel ativar o recurso
usando o comando hdparnn:
# hdparm Al (dev/hda
/devfhda:
setting using dn'a te 1 (on)
usng_da

- 1 (or)
87

1 88

Certificao

LPI-2

O hdparm tambm pode ser utilizado para inspecionar a configurao atual dos
discos e alterar outras configuraes. Para obter um resumo das configuraes, hasta
usar o hdparni fornecendo como argumento o caminho para o dispositivo.
Por exemplo, em uni disco IDE (ATAPI):
# hdparni /dev/hda

kO
O

/dev/hda:
niultcount

- 16 (on)

l0_support

- 1 (32-bit)

unmaskirq

- O (off)

using_dma

- 1 (on)

keepsettings - O (0ff)
readonly

- O (0ff)

readahead

- 256 (co)

qeoroetry

- 163831255163, sectors

156368016, start = O

Em um disco SATA:
# hdparm /dev/sda
/dev/sda:
I0_support

= O (default 16-bit)

readonly

- 0 (cff)

readahead

- 256 (on)

geometry

- 194571255163, sectors - 312581808, start - O

Discos SATA no utilizam a opo DMA, pois utilizam outro padro de transferncia de dados. Uma investigao mais precisa pode ser obtida com a opo -1:
Em um disco IDE (ATAPI):

II

hdpariii -i /dev/hda

/dev/hda:
Model-SAMSUNG SPO802N, FwRev-TK200-04, SerialNo-136031F1364044
Config- FiardSect NotMFM HdSw>lSuSec Fixed DTR>lOMbs 1
RaWCHS-16383116163, TrkSize-34902, SectSize-554, ECCbytes=4

Tpico 204: Hardw&e

BuffTypeCa'PortCdche, Buff51ze-2048k8, MaxMut5ect-16, Mu'tSectl


CurCHSI6383/16/63, CurSects-16514064, LBMyes, LBAsects-1563680:6
1ORD-'onioff. tPtO=u' 4 n:?40,iq/IORDY:120:., tDMA=l"in:12O,rec:k2Oi
P13 medes: pioO poi p1o2 pio3 01a4
UMA inoaes: tdmaC :da1 "l:a2
UOMA "odes: udma ud"al udia2 udrna3 ud",a4 *udTaS
AdvanedPMno WriteCache-enab 1 ed
Urive conforos te: ATA/ATAPJ-7 T13 15320 revison 0: ATA/ATAPI-1 AA/ATAPI-2
ArA/ArAPT-3 ATA/ATAPI-4 ATA/ATAPI-5 AT/ATAPI-6 ATA/ATAPI-7
* sgnifes tbe current active mede

Em um disco SATA:
i hdparrn -

/dev/sda

/dev/sda:
Mod&-ST3I602I1AS

, Fwy34AE

, Sera 1 Nr

6PT136AM

Config-1 HardSect NotMFM 4dSw>15u5ec Fixed DTR>lOMbs Rot5pdT0D.5% 1


RawCHS-16383/16/63, Trk5ize-0, Sectsize-0, ECCbytes-4
BuffTyp&unknown, BuffSize-2048k8, 4axMu 1 tsect=16, MultSect?16?
CurCHS=16383/16163, CurSects'16514064, LBA-yes, LBAsects-268435455
IORDY-on/off, tP1Ojrin:120,w/i3R0Y:12Q, t311Aj! 1 n:12Q,rec:120
PIO medes: pioU piei pio2 pio3 pio4
UMA medes: "dmaO mdr.al n'tia2
UDMA rnodes: udma udiral udia2
AdvancedPM-no WrteCacheenabled
Orive confons te: Unspecfied:

AtA/ATAPI1 ATA/ATAPI-2 ATA/ATAPJ-3 AA/TAPI4

ATA/ATAN 5 ATAIATAPI-6 ATA/ATAP17


* signifies the current active mede

Para discos SCSI ou Sata, o mais conveniente utilizar o comando sdparm. Por
exemplo, possvel descobrir se trata-se de um dispositivo utilizado diretamente ou
se uma controjadora RAID:
# sdparm a /dev/sda

idevisda: MegaRAJ L0O RAIUI 7006R 1L37


89

Certificao LPI-2

J para discos conectados diretamente, so exibidos tambm algumas informaes


sobre seu modo de operao:
# sdparm /dev/sda
/dev/sda: ATA

SAMSUNG HM32031

2S50

Read write error recovery nade page:


AWRE

ARRE

PER

Caching (SBC) mode page:


WCE

RCO

Contrai mode page:

swP

Nas distribuies atuais, comum que mesmo os discos ATA IDE apaream com
nomes ldev/sda, /dev/sdb etc. Isso acontece porque determinado ao kernel para que
trabalhe com esses dispositivos como se fossem discos SCSI (ou Sata; nesse aspecto,
indiferente). Alm de proporcionar a unificao dos nomes, essa abordagem oferece
melhores recursos, pois seu desenvolvimento mais ativo e possui benefcios corno a
ativao automtica do DMA para os dispositivos.

Ajustes do kernel com sysctl


No Linux, possvel alterar diversas configuraes do kernel sem necessidade de
reiniciar o sistema. Por meio do sistema de arquivos em /proc, muitas dessas configuraes podem ser alteradas e imediaramentc utilizadas pelo kernel.
As opes podem ser alteradas diretamente nos arquivos em Jproc/sys ou pelo
comando sysctl.
possvel, por exemplo, alterar o nmero mximo de arquivos abertos, especificado no arquivo fprocfsys/fs/fi 1 e-nlax. Para mostrar o valor atual, basta ver o contedo
do arquivo com o comando cat ou utilizar o comando sysctl da seguinte forma:
# syscti fs.file-niax
fs.fiie-max - 89889

Para alterar o valor, basta alterar o contedo do arquivo em questo:


echo 99999 > file-inax

Tpico 204: Hardware

ou

# sysctl -w fs.flle-max=99999

fs.file-max = 99999

Note que para alterar o valor por meio do comando sysctl, necessrio fornecer o
argumento -w. O

204.3 Gerenciamento de volumes lgicos (LVM)


Peso 3

O espao em disco e o particionamento podem se tornar um problema no momento em que surge a necessidade de expanso do sistema. Principalmente em
servidores, onde pode ser absolutamente necessrio ampliar o espao disponvel
em uma partio, a paralisao e migrao dos dados pode ser a nica soiuo.
Essa situao facilmente contornada ao se utilizar um esquema de particionamento por LVM.
O LVM, ou Logical Volume Management, um mtodo que permite interagir com
os dispositivos de armazenamento de maneira integrada e mais simples que o tradicional particionamento. Com o l.VM, possvel redimensionar e induir espao sem
necessidade de reparticionamento ou de mexer nos dados armazenados.
Um esquema LVM pode ser dividido em cinco elementos fundamentais:
VG: Volume Group (grupo de volumes). Nvel mais alto de abstrao do
LVM. Rene a coleo de volumes lgicos (LV) e volumes fsicos (PV) em
uma unidade administrativa;
PV: Phisical Volume (volume fisico). Tipicamente um disco rgido, uma
partio do disco ou qualquer dispositivo de armazenamento de mesma natureza, como um disposirivo RAID;
W. Logical Volume (volume lgico). O equivalente a uma partio de disco
tradicional. Como o LV age como uma partio tradicional, pode conter um
sistema de arquivos;

PE: Physical Extent (trecho fisico). Cada volume fsico dividido em


pequenos "pedaos" de dados, conhecidos como PE. Possuem o mesmo tamanho do LE (Logical Extent);
91

Certificao LPI-2

LE: Logical Extent (trecho lgico). Cada volume lgico dividido em


pequenos "pedaos" de dados, conhecidos como LE. Seu tamanho o mesmo
para todos os volumes lgicos.
Algumas distribuies, como Red Hat e Debian, podem configurar o LVM automaticamente durante a instalao. No entanto, mesmo para as distribuies que no
fazem o INM automaticamente, possvel cri-lo manualmente.
O primeiro passo atualizar o cache do LYM e criar um arquivo /etcfl vin/l vrn. conf
bsico. Isso feito simplesmente rodando o comando vgscan. Em seguida, o disco ou
partio a ser utilizado deve ser iniciado para uso do LVM.
Apesar de ser possvel utilizar um disco inteiro no particionado, recomendvel
criar uma partio e s ento inici-la. Se o disco utilizado no for antes particionado, outros sistemas operacionais que tiverem acesso ao disco podem enxergar o disco
como vazio e sobrescrever os dados nele.
O particionamento do disco pode ser feito com o prprio comando fdisk ou
com qualquer outro programa de particionamenro. O id da partio deve ser 8e
(Linux LVM):

# fdisk -1 /dev/hd[bd]
Disk /dev/hdb: 128.8 GB, 128849018880 bytes
16 heads, 63 sectors/track, 249660 cylinders
Units = cilindros of 1008 * 512 - 516096 bytes
Dispositivo Boot
/dev/hdbl

Start
1

Id Systero
Blocks
End
125828608+ 8e Linux LVM
249660

Disk /dev/hdd: 128.8 GB, 128849018880 bytes


16 heads, 63 sectars/track, 249660 cylinders
Units - cilindros of 1008 * 512 - 516096 bytes
Dispositivo Boot

/devlhddl

Start
1

Id System
Blocks
End
125828608+ 8e Linux LVM
249660

Dois discos foram preparados para o LYM, /dev/hdb e dev/hdd, ambos dc aproximadamente 128 GB. Cada disco contm uma partio do tipo Linux LVM (id 8e).
O comando pvcreate deve ser utilizado para criar uma identificao de volume fsico
na partio:
92

Tpico 204: Hardware

# pvcreate !dev/hdbl
Pnysical vo'ume "ioev/bdbi' successfy created
# pvcreate /aev/ddI
Phys 4 ca 1 vo1u - e /dev/hddl" successfuily created
Em seguida, criado o VG (volume group), com o comando vgcreate. Pode ser

especificado um tamanho de PE (physical extent) diferente do padro - 4MB - com


a opo -s. Deve ser especificado um nome para o novo LVM:
4 vgcreate grupo devoiuwes -s 2 /dev/hdbl !dev/hddl
Vo?,uine qrop grupo_dejoumes" successful ly created

Por fim, necessrio ativar o novo grupo com o comando vgchange:


# vgchange -a y grupo, de vo'ures

C logica vo!urre(s) n voun'e group gripo Oe_vo'unies" now active


A partir de agora podem ser criados os LV (volumes lgicos. Para verificar o nmero roral de PE disponveis no grupo, utilize o comando vgdisplay:

vgdspJay grupo de volres


Volurre group

- - -

VO Nare

grupQ,de,,youmes

Systeir ID
For'at

Metaaata Areas

Metadata Sequence No

m2

VG Access

readfwr 4 te

VG Status

resizab]e

MAX LV

LV

Open LV

Max PV

Cur PY

Act PV

VO S 1 ze

240,00 GB

P[

2,00 MB

Size

Tota

PE

122878
93

Certificao LPI-2

lloc PE / Size

O / O

Free PE / Size

122878 1240,00 GB

VG UUIO

9CBIHp-11R6-SyMO-xult-e3k3-OUbt-pOzAl2

Portanto, possvel criar um volume lgico de at 122878 physical extents ou


vrios volumes lgicos totalizando esse valor. Para criar um volume lgico ocupando
o total disponvel, utiliza-se o comando lvcreate da seguinte forma:
# lvcreate -1 122878 grupo_de_volumes

Logicai volume IvoW created

Como no foi especificado uni nome para o novo volume lgico, foi criado o
nome padro para o primeiro volume: lua/O. A partir de agora ser possvel utilizar o volume lgico localizado em /dev/grupo_de_volunies/lvolO exatamente como
uma partio convencional, assim como criar um sistema de arquivos e montar o
volume lgico.
Pata redimensionar ou simplesmente reduzir o tamanho de uma partio lgica,
so utilizados os comandos 1 vres 1 ze e 1 vreduce, respectivamente. Antes de fazer a reduo, importante previamente redimensionar o sistema de arquivos nela contido,
utilizando a ferramenta especfica para cada sistema de arquivos.
Se no existir mais espao disponvel no grupo de volumes, bastar incluir uni
novo disco e acrescent-lo ao grupo de volumes existente. O processo de criao do
PV (volume fsico) igual ao demonstrado. Contudo, como o grupo de volumes j
existe, no lugar do comando vycreate ser usado o comando vgextend para adicionar
o dispositivo recm instalado ao grupo de volumes:
vgextend grupo_de_volumes /dev/hdel

Esse comando incluir o dispositivo Idev/hdel recm instalado e formatado


como VIM no VG grupo_de_volumes. Feito isso, o espao correspondente ao dispositivo /dev/hdel j estar disponvel para criao ou expanso de novos volumes
lgicos. Nunca demais lembrar que o redimensionamento de um volume lgico
existente deve sempre acompanhat o redimensionamento do sistema de arquivos
ali instalado. O

94

Exerccios

Certificao

LPI-2

Questes Tpico 204


1. Qual o nmero mnimo de dispositivos para um esquema de RAID 5?
a. 2
b. 3
c. 4
d. 5

2. No arquivo indadm.conf, qual a finalidade da instruo DEVICF2


a, Definir o dispositivo resultante do RAiD;
b. Definir o setor de boot do raid;
c. Definir os dispositivos usados pelo RAID;
d. Definir o dispositivo raiz do RAID.

3. O comando
utilizado para ligar ou desligar a configurao DMA dc
um dispositivo de armazenamento.

4. O resultado a seguir corresponde execuo de qual comando?


/dev/sda: MegaRATO LUO RAID1 70006R 11-37

a. sdparm /dev/sda
ti hdparm /dev/sda
e. fdisk /dcv/sda
d. is -1 Idevlsda

5. Em qual arquivo do sistema de arquivos /proc definido o nmero mximo de


arquivo abertos simultaneaniente? Informe o caminho completo.

6. O comando
Iproc/sys.

96

tem a finalidade de editar as configuraes no diretrio

Tpico 204: Hardware

7. O cdigo hexadecimal que correspondente a uma partio LVM :


a. 82
b. 83
c. 8e
d. 8c

O comando
dados /dev/sda3 /dev/sda4 cria o grupo de volumes
LVM chamado dados com os volumes fsicos Idevlsda3 e /devlsda4.

9. Qual comando utilizado para criar um volume lgico LVM? Informe apenas o
comando, sem argumentos.

10. Aps aumentar o tamanho de um volume lgico LVM, qual procedimento deve
ser tomado no sistema de arquivos ali presente?
a. Rede6nir o volume lgico no grupo de volumes.
b. Formatar o volume fsico.
c. Nenhum procedimento deve ser tomado.
d. Utilizar as ferramentas do sistema de arquivos para redefinir o espao disponvel.

Peso total do tpico

11 na_prova: 13

Tpico 205.
\

Configuraao
de rede
Principais temas abordados:
Configurao e manuteno de redes
em suas diversas modalidades;
Conceito e pra sobre endereamento,
rotas e ferramentas relacionadas,

1 100

Certificao LPI-2

205.1 Configuraes bsicas de rede


Peso 3

O sistema operacional GNU/Linux foi concebido para trabalhar em ambientes em


rede. Ou seja, desde o ncleo do sistema operacional at os programas utilizados
pelos usurios, todos foram escritos numa arquitetura distribuda, e no apenas para
operao local.
Reflexo disso a enorme compatibilidade oferecida pelo sistema para trabalhar
com diferentes conexes de rede. Mesmo protocolos e dispositivos muito raramente
utilizados encontram suporte nas distribuies GNU/Linux atuais.
Tanto a comunicao com o hardware da rede quanto o controle do trfego de
dados acontecem no escopo do kerncl. Suas configuraes so feitas - de forma automtica ou manual - com ferramentas no espao de usurio. Essas ferramentas,
que podem ser comandos ou apenas arquivos de configurao, determinam como o
kernel deve trabalhar com os recursos de rede.

interfaces Ethernet
Apesar de as ferramentas de configurao de interfaces poderem variar em diFerentes
distribuies, o comando de configurao universal 1 fconf 1 g funcionar, desde que
esteja presente, em qualquer distribuio. Hoje comum a configurao ser feita de
forma automtica, principalmente em distribuies voltadas para o usurio final.
Porm, principalmente em ambientes heterogneos de servidores, a configurao
manual muitas vezes se faz necessria.
O comando 1 fconf 1 g pode ser usado para configurar e inspecionar no s interfaces ethernet, mas qualquer interface de rede. Estando o hardware corretamente
preparado - tanto na parte fsica da rede quanto no carregamento do mdulo correspondente interface local - a interface pode ser configurada manualmente ou

O espao de usurio
Por espao de usurio entende-se o ambiente onde existe a interao do usurio com
os processos do sistema. A grosso modo, todos os processos no sistema podem ser
divididos entre os processos no espao de usurio e os processos no espao do kernel.
Os processos no espao do kernel possuem privilgios maiores e no sofrem interferncia
direta do usurio, mesmo que seja o usurio root. J os processos no espao do usurio
so aqueles invocados pelo prprio usurio e interagem com o kernel de maneira
indireta e tm alcance limitado, para no comprometer a segurana e estabilidade do
sistema. Por exemplo, o controle de interrupes do processador leito no espao do
kernel. J a edio ou a converso de arquivos so leitas no espao de usurio.

Tpico 205:

Configurao de rede

automaticamente por meio do ifconfig. Uma interface de rede pode ser configurada
automaticamente pelo sistema durante a inicializao, dependendo de qual distribuio foi utilizada e como foi feita a instalao.
O comando ifconfig possui muitas opes, mas seu uso ftindamental a definio
de um endereo IP para a interface de rede, por exemplo:
iconfig eth 192.168.4.1 up
interface ethO foi atribudo o IP 192.168.4.1. Para a definio de um endereo
IP para a interface, como no exemplo, o termo up pode ser dispensado. Para desfitzer as alteraes, usa-se o termo down no lugar do termo up; os demais argumentos
so desnecessrios. Outras opes tambm podem ser especificadas para a interface,
como a mscara de rede:
iconfig ethO 192.168.1.2 netrasK 255.255.255.0 up

O ifconfig possui outras opes menos triviais que podem ser teis em situaes
especficas. So elas:

[-]broadcast[endereo]
[-jpointopoint [endereo]

hwclasse endereo

[-Jarp
[-]promisc

Se fornecida, especifica o endereo de broadcast da rede. Caso no sela


fornecida, liga ou desliga a opo IFF_BROADCAST para a interface.
Permite o modo ponto-a-ponto para a nierface. Este modo determna
que a inferi ace est conectaoa a outra 2tertcs diretamnta. sem
nada entre elas. Se no for fornecido um endereo, simp:esmente
liga ou desiiga a opo 1FF POINTOPOINT para a nterface.
Altera o endereo de hardware para interlaces que possuem essa
capacidade. O novo endereo deve ser especificado aps a classe do
dispositivo. Classes suportadas so ether, ax25, ARCnet e netmm.
Permite ou desiga o protocoo ARP nesta interface.
Se permitido, todos os pacotes na rede sero recebidos pela interface.

O ifconfig tambm usado para inspecionar as configuraes de uma interface.


Sem argumentos, mostra as configuraes de todas as interfaces ativas do sistema.
Mostrar as configuraes para a interface ethO:
# ifconfiq etO
ethQ
LiK encap:Etnernet r4aadr L)Q:F:4;05:78:61
inet addr:192.168.4. 1 Bcast:192.168.4.255 4ask:255.255.255.0

1 102

Certificao 191-2

hP BRODCST RUNNING MULTJCAST hITU:1500 Metric:1

RX packets:480 errors:0 dropped:0 overruns:0 frame:0

TX packets:707 errors:0 dropped:81 overruns:O carrier:0


collislons:0 txqueuelen:500
RX bytes:119829 (117.0 KIB) TX bytes:164169 (160.3 KIB)
possvel atribuir mais de um endereo IP para urna nica interface de rede,
criando uma interface virtual numa interface de rede real. Este recurso especialmente til quando necessrio fazer com que um mesmo dispositivo trabalhe conectaclo a diferentes redes.
Por exemplo, para criar a interface virtual eth0:0, com o endereo 192.168.40.1 tia
intcrface de rede real ethO - que j possui o endereo 192.168.4.1:
ifconfiy eth0:0 192.168.40.1 netniask 255.255.256.0

Com o comando ifconfig -a, sero exibidas as duas interfaces de rede, a real e
a virtual:
# ifconfig -a
eth
Link encap:Ethernet HWaddr 00:FF:40:05:78:61
inet addr:192.168.4.1 Bcast:192A68.4.255 Mask:255.255.255.0
hP BRODCAST RUNNING MULTICAST MTU:1500 Hetric:1
RX packets:586 errors:0 dropped:0 overruns:O frame:0
TX packets:890 errors:0 dropped:81 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:132601 (129.4 KIB) TX bytes:182771 (178.4 KIB)
eth0:0

Link encap:Ethernet Hwaddr 00:FF:40:05:78:61


inet addr:192.168.40.1 Bcast:192.168.40.255 Mask:255.255.256.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

Note que as duas interfaces possuiro o mesmo endereo de hardware. Outras


interfaces virtuais para a interface eth podem ser criadas usando o nome eth0:1,
eth0:2 etc.
Outra sintaxe possvel utilizar o termo add, que cria a nova interEce virtual na
primeira posio disponvel:
ifconfig ethO add 192,168.40.1

Tpico 205: Configurao de rede

Utilizado dessa forma, o ifconflg automaticamente criar a interface virtual utilizando a primeira numerao livre. Se no existir nenhuma interface virtual, ser
criada a interface ethO;O.
Protocolo ARP
no protocolo ARP (Address Reso/ution Protocol) que os endereos IP so mapeados
para endereos MAC (Media Access Contrai) do dispositivo de comunicao, tornando possvel o estabelecimento da conexo. Essa correspondncia necessria, pois
o trfego de dados na camada IP ocorre sobre a camada de comunicao ARP, que
identifica fisicamente cada interface dentro de uma rede.
Assim que uma conexo solicitada, o kernel envia um pedido ARP para a interEce
de rede, ou seja, uma mensagem broadcast solicitando o endereo MAC da inrerfiice que
corresponda ao endereo IP do desdno da conexo. A resoluo inversa, do endereo
MAC para o IB feita por meio do protocolo RARP (ReverseAddress Resolution Protocol).
O kernel cria um cache de correpondncia entre endereos IP e endereos MAC,
que renovado em um perodo de tempo pr-determinado. Esse perodo definido
em segundos, valor estabelecido no arquivo fproc/sys/net/ipv4/neigh/eth0/gc.stale_tine, como podemos ver com o comando sysctl:
#

syseti netpv4.neih.eth0.;c. sta'e tfre

net.ipv4.neigh.ethO.qc_stale tire - 60

Este o perodo especificado para a interface ethO. Cada interfacc pode ter um
valor distinto. Para alterar este valor, o pr6prio sysctl pode ser novamente utilizado:
#

sysctl -w net.ipv4.neigh.eth.gc stale_tire -120

net.ipv4.neigh.eth0.gc_stale. tire - 120

O comando arp manipula o cache ARP do kernel de vrias maneiras. As principais


opes so remoo de uma entrada de mapeamento de endereo e configurao manual de um endereo. Para propsitos dc depurao, o comando arp tambm permite
uma verificao completa do cache ARE
Usado sem argumentos, o comando arp mostra a tabela de relacionamentos ARP
utilizada pelo kernel. A opo -n mostra os IPs sem tentar traduzir os endereos IP
para nomes:
# arp -n
Address

lwtype HL4address

Flags Mask

Iface

Certificao LPI-2

192.168.1.254

ether

02:AS:E5:44:77:19

ethO

192.168.1.11

ether

00:OE:6:A8:OA:E7

eth

Outras opes importantes do comando arp:


-d hostname: Apaga o endereo correspondente a hostname do cache ARP;
-f arquivo: Mapeia estaticamente os hostnames presentes para endereos

MAC, a partir do arquivo indicado. As entradas dentro do arquivo correspondem mesma sintaxe utilizada na opo - 5;
-s hostname mac: Cria uma correspondncia esttica entre o hostname e o
endereo MAC. Se o termo teinp no for fornecido ao fim do comando, o
mapeamento ser permanente.
Para monirorar mudanas de relacionamentos IP/Iv[AC nas conexes existe um
utilitrio chamado arpwatch. Com o arpwatch ativo, essas mudanas so enviadas por
cmail ou registradas em logs. Dessa forma, ser possvel saber quando uma nova mquina entrou na rede ou se uma interface alterou seu endereo MAC, possivelmente
com objetivo de interceptar pacotes no endereados a ela.
Executando arpwatch -d, todas as mensagens so mostradas na tela e no so
enviadas via email. A opo -i interface especifica uma interface de rede diferente
de eth.

Conexes Wireless
Conexes de interfaces sem fio so configuradas de maneira muito semelhante s
interfaces cabeadas. A principal diferena que uma interface sem fio precisa ser
associada a uma rede sem fio para s depois a camada IP ser configurada.
A associao a uma rede sem fio pode estar protegida por senha, o que exigir o
suporte do dispositivo criptografia utilizada. Caso a rede no esteja protegida por
senha, bastar associar a interface ao nome da rede.
Assim como na configurao de interfaces cabeadas, necessrio que o dispositivo esteja corretamente identificado e o respectivo mdulo carregado. A interface
sem fio pode ser listada como um dispositivo de rede ethernet convencional, com o
comando ifconfig -a.
A nomenclatura dos dispositivos pode variar, mas o usual que interfttces de rede
sem fio recebam o nome wianO.
Os comandos para utilizar conexes wireless sem criptografia no Linux so fornecidas pelo pacote wirel.ess-tools. Para listar as redes disponveis, basta utilizar o comando iwlist, como no exemplo:
1iO4

Tpico 205: Configurao de rede

iwlist wlanO scanning

Li

Neste comando, o termo wlanO o nome da interface sem fio presente. O termo
scanning pode ser substitudo pela abreviao scan. A resposta desse comando ser
uma lista com todas as redes sem fio detectadas pela interface, cuja deteco varia
de acordo com a qualidade do dispositivo, distncia do ponto de acesso e eventuais
obstculos at ele. Por tratar-se de um sinal de rdio, uma rede sem fio est vulnervel
s interferncias inerentes a esse meio de transmisso.
O comando iwconfig utilizado para associar a interface a uma rede sem fio. O
nome de uma rede sem fio especificado com o termo essid. Com o essid escolhido
a partir do resultado obtido com o comando iwlist, o iwconfig pode ser utilizado da
seguinte forma:
iwconfig wlan essid nome_da_rede

'0

A partir desse momento, com a interface associada rede sem fio, o prprio
comando ifconfig ou um cliente DHCP podem ser utilizados para definir um
endereo IR
Numa rede sem proteo, como no caso mostrado, os dados podero ser interceptados por qualquer computador que esteja dentro do alcance da rede. Portanto,
importante que dados sensveis sejam enviados por redes sem fio desprotegidas por
meio de protocolos seguros, como HTTPS ou SSH.
Tipos comuns de proteo em redes sem fio so WEP e WPA, sendo que o
primeiro j bastante defasado e inseguro. As distribuies atuais so capazes de
configurar a interface para essas redes automaticamente, com seus prprios gerenciadores de conexo.

O comando ip
As diferentes ferramentas de configurao de endereos e rotas atuam no mesmo
contexto do kernel, que responsvel pelo controle da comunicao no protocolo IP.
mais comum utilizar os comandos que realizam tarefas especficas, mas todas elas
podem ser realizadas por um nico comando, chamado ip.
O comando ip possui enorme quantidade de argumentos, que podem ser utilizados para alterar cada aspecto da comunicao IP. O formato bsico de sua utilizao
ip objeto comando, no qual o termo objeto determina qual elemento pertinente ao
protocolo IP ser alterado ou inspecionado, ao passo que o termo comando determina a ao realizada no contexto desse objeto.
Por exemplo, possvel verificar o estado de uma interface utilizando o objeto link

1106

Certificao

LPI-2

1! ip link show ethO


2: ethO: <BROADCAST,MULTICAST,IJP,LOWER_Up mtu 1500 qdisc pfifo_fast state UP qien 1000
link/ether 00:12:3f:fd:80:00 brd ff:ff:ff;ff:ff:ff

Se o nome da interface no for fornecido, sero exibidas as informaes para todas


as inrerfaccs. As informaes de endereamento iP, sejam referentes a IPv4 ou a IPv6,
so obtidas com o objeto address
# ip address show etho

2: eth: <BRODCASTMULTICAST,UP,LOWER.flP) mtu 1500 qdisc pfifo_fast state UP


'+ qien 1000
link/ether 00:12:3f:fd:80:00 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.109/24 brd 192.168.1.255 seope global ethO
inet6 fe80::212:3fff:fefd:8000164 scope link
valid_lft forever preferred_lft forever

As rotas de comunicao so exibidas ou manipuladas com o objeto route;


II ip route list

192.168.1.0124 dev eth proto kernel

scope link src 192.168.1.109 nietric 1


default via 192.168.1.254 dev ethO proto static

O comando lia, utilizado com o objeto route, exibe as rotas ativas na configurao
IP Cada detalhe dos objetos pode ser alterado, fazendo o comando ip ser muito mais
abrangente que os comandos de configurao com finalidades especficas. Contudo,
sua utilizao s se faz necessria em ambientes extremamente peculiares, onde
necessrio definir rotas muito fora do padro ou endereamentos incomuns.
O

205.2 Configurao avanada de rede e resoluo de problemas


Peso 4
Problemas no escopo da rede exigem do administrador conhecimentos investigativos e tcnicas de recuperao que vo alm do trivial. Porm, a investigao de
problemas sempre deve comear pelo bvio, que so os aspectos mais fundamentais da conexo.

Tpico 205:

Configurao de rede

Rotas de destino
Para que os dados possam chegar ao seu destino, necessrio que haja uma tabela de
rotas na mquina de origem dos dados. A tabela de rotas determina o destino de cada
pacote de dados que encaminhado para fora por uma interface de rede.
Estruturaimente, os hosts numa rede podem se comunicar apenas com outros
na mesma rede. Se o endereo de destino pertencer a alguma rede associada a uma
interface local, o pacote ser colocado nessa interface. Se no pertencer, o pacote
dever ser direcionado para a rota padro, a qual so encaminhados todos os destinos
desconhecidos pela mquina local.
A mquina ou dispositivo que recebe esses pacotes enviados pela rota padro
chamada roteador padro ou simplesmente gateway. Ele o encarregado de encaminhar os pacotes para as redes apropriadas, seja direcionando para uma rede conhecida
ou encaminhando para gateways subsequentes.
Para mquinas com configuraes de rotas heterogneas, esquemas de rotas
diferentes do padro podem ser adotados. H quatro esquemas bsicos de tabelas
de rotas:
Mnima: Para redes isoladas, geralmente feita quando a interface iniciada;
Esttica: Para redes com um ou mais gateways. Geralmente criada por meio
de scripts automticos ou manualmente com o comando route. Se a rede
muda, a tabela precisa ser manualmente atualizada;
Dinmica: Em redes maiores as informaes dc rotas e gateways so dinamicamente fornecidas via de protocolos de roteamento. A desvantagem que a
criao dinmica de tabelas causa maior trfego na rede. A alocao dinmica
da tabela de rotas feita por meio do daemon gated;
Esttica/Dinmica: Geralmente as tabelas de rota contm informaes
estticas para encaminhamento de pacotes dentro da rede local e uma rota
padro para demais pacotes que aponta para um gateway que trabalha com
roteamento dinmico.
Redes de pequeno porte normalmente possuem tabelas de rotas simples, na qual
cada interface possui uma rota correspondente e h apenas uma rota padro. Exemplo de tabela de rotas:
route -n
Kernel IP routing table
Destination
Gateway
0.0.0.0
192.168.3,0
192.168.2.0
0.0.0.0

Genrnask
255.255.255.0
255.255.255.0

F!ags Metric Ref


0
0
0
0

U
U

Use Iface
O eth3
O eth2

Certificao LPI-2

# ping 192.169.4.1
PINS 192.168.4.1 (192.168.4.1) 56(84) bytes of data.
64 bytes from 192.168.4.1: icmp_seq-1 ttl-64 time-0.177 ms
64 bytes from 192.168.4.1: icmp_seq-2 ttl=64 time-0.146 iiis
64 bytes from 192.168.4.1: icmp_seq-3 ttl-64 time-0.118 ms
192.168.4.1 ping statistics
3 packets transmitted, 3 received, 0% packet loss, time 2005ms
rtt rnin/avg/max/mdev - 0.118/0.147/0.177/0.024 ms

O comando ping usa o protocolo ICMP para enviar um datagrama

ECHO_RE-

QUESTe espera uma resposta ECHO_REPLY para identificar a disponibilidade da


rede. Da mesma forma, pode ser verificado se pacotes podem alcanar mquinas fora
da rede local:
# ping 216.239.51,104

PINS 216.239.51.104 (216.239.51.104) 56(84) bytes of data.


64 bytes from 216.239.51.104: icmp_seq-1 ttl-245 tirne-160 iis
64 bytes from 216.239.51.104: icmp_seq-2 tfl-245 time-146 ms
64 bytes from 216.239.51.104: icmp_seq-3 ttl=245 time-147 'is
216.239.51.104 ping statistics
3 packets transmitted, 3 received, 0% packet loss, time 2018r11s
rtt min/avg/max/mdev - 146.459/151.411/160.403/6.384 lis
importante lembrar que algumas mquinas possuem firewall configurado para
no responder a pedidos ECHO_REQUEST. Por isso, podem sugerir que h um
problema na conexo mesmo se estiver funcionando normalmente.
Caso a rede esteja funcionando e sejam percebidos problemas de instabilidade ou
lentido, outras ferramentas podem ser utilizadas para investigar as possveis causas.

Anlise de conexes
O comando netstat capaz de mostrar conexes de rede, tabelas de roteamento, estatsticas de interfiice e conexes mascaradas. Entre essas suas vrias funes, o netstat
pode mostrar quais portas no computador esto abertas. A opo -1 exibe as portas
abertas na mquina local e a opo - Hnet restringe os protocolos de comunicao
mais tradicionais, como tcp e udp:

110

Tpico 205: Configurao de rede

netstat -1 --inet
Conexes Internet Ativas (sem os servidores)

State

Foreign Address

Prato Reev-O Send-Q Loca' ddress


tcp

O 1ocaIhost.1oca1domain2208 *:*

tcp

tcp

O * : sunrpc
O *:97

tcp

tcp

O localhost.localdomain:smtp

tcp

O localhost.localdomain:2207
O * : 1024

*:*

O * : xact.backup
O *:914

*:*
*:*
*.*

OUA
OUA
OUA
OUA

oca1host.localdonain:ipp

udp

udp

udp

udp

udp

O **mdns
O *:sunrpc

udp

O * : ipp

OUA
OUA

netstat: no support for 'AF INET (sctp)' on this systern.

O netstat tambm pode mostrar a tabela de rotas do sistema, com a opo -r:
# netstat -r
Tabela de Rotearnento IP do Kernel
Destino

Roteador

MscaraGen.

192.168.4,0

*
192.168.4.1

255.255.255.0 U
0.0.0.0
UG

default

Opes MSS Janela irtt Iface

OO
00

O
O

ethO
ethO

Opes importantes do netstat podem ser consultadas na tabela Opes do netstat.


Sem argumentos, o netstat mostra a situao de todas as conexes de todas as
famlias, ptoduzindo urna listagem bastante longa, mesmo se no houver conexes
de rede ativas.

Recursos associados conexo


Em ambientes Unix, praticamente todos os recursos podem ser acessados por meio
de arquivos ou proto-arquivos. O comando lsof capaz de listar todos os arquivos e
recursos relacionados em utilizao no sistema.
O Isof tambm pode ser utilizado para inspecionar processos associados a recursos
de rede na mquina local. Neste caso, a opo - i especialmente importante, pois
seleciona todas as conexes baseadas no protocolo IP que estejam abertas. Por exemplo, possvel mostrar todas as conexes do tipo TCP com o comando 1 sof - i tcp:

1112

Certificao LPI-2

II isof -1 tcp
COMMANO
PID

USER

FD

TYPE DEVICE SUE NODE NAME

1554

rpc

4u

1Pv4

4358

rpc.statd 1583

root

7u

IPv4

4421

TCP *:sunrpc (LISTEM)


TCP *.917 (LISTEN)

hpiod

1775

root

Ou

iPv4

4877

TCP Jocalhost.localdomain:2208

1780

root

4u lPv4

4893

TCP localhost.localdoniain:2207

1792

root

3u IPv6

4938

TCP localhost6.localdomain6:ipp

1792

root

4u

T13 v4

4939

TCP localhost.localdornain:ipp

1806

root

3u

iPv6

4981

TCP *:ssh

portmap

(Li STEN)
python

(LIST[N)
cupsd

(LISTEN)
cupsd

(LISTEN)
sshd

(LISTEM)

Como se pode ver, o Isof capaz de mostrar informaes bastante teis, como
o programa e o usurio utilizando a conexo. A opo -i tambm pode especificar
as conexes envolvendo um endereo ou porta especficos. Por exemplo, para listar
detalhes das conexes envolvendo o IP 192. 16&].55:

'0

Isof -i @192.168.1.55

do netstat

Exibe as interfaces de rede presentes na mquina

flormas referentes a tods os sockets

-t

Apenas conexes TCP

Apinas cohexes IJDP

-e

Mostra mais detalhes sobre as conexes

Restringe a wa famfta4e erniereos tnet (conexes por IP) unix ipx, ax25 netcprn e
ddp:M 3ni
i*ipodem se; especificadas diretamente, como --mel ou --Ipx
No traduz nomes de mquina, mostra apenas o endereo li'
-

-p
r

Mo81ra o PIO-e o nome do programa utilizando o sqciet

-1

Mostra apenas as portas abertas s conexes

Mostra a tabela de rotas, como o comando route sem argumentos


Atualiza e mostra as informaes na tela a cada segundo

Tpico 205: Configurao de rede

Para especificar uma porta especfica, basta inform-la aps o sinal de dois-pontos.
Por exemplo, para identificar conexes envolvendo a porta 25 (SMTP):
isof

:25

Essas opes tambm podem ser combinadas, permitindo especificar tanto o endereo quanto a porta, ao utilizar a sintaxe:
isof -i

192.168.1.55:25

As informaes fornecidas pelo comando Isof so muito detalhadas, mas dizem


respeito somente s conexes estabelecidas com a mquina local. Em alguma situaes, as concxes no podem ser estabelecidas. Por isso, conveniente utilizar uma
forma prt.ica para avaliar a possibilidade de estabelecer uma conexo com unia mquina remota.

Conexes de teste com Netcat


O comando netcat, ou simplesmente ne, funciona de maneira bastante semelhante
ao clssico comando telnet. Como ferramenta de diagnstico de conexo, o netcat
pode ser utilizado para tentar conectar-se a portas abertas em mquinas remotas
ou mesmo na mquina local, exatamente como um procedimento antes feito com
o telnet.
A vantagem do comando nc sobre o telnet que o nc capaz de lidar com dados
brutos, evitando erros de interpretao que podem acontecer com o telnet.
Verificando se uma mquina remota 192.168.0.2 aceita conexo na porta 22 (SSH):
# nc 192.168.0.2 22

lOb

5SH2.0-OpenSSH_4.3

No exemplo, a mquina de endereo 192.168.0.2 aceitou uma tentativa de conexo na porta 22. Como pode ser visto, o netcat til para verificar a disponibilidade
de um servio, pois no haver resposta no caso de a porta estar bloqueada ou se o
servio no estiver ativo.
Tambm possvel verificar a conectividade em uma faixa de portas:
nc -vz 192.168.4.2 20-500

IR

92.168.4.2: 4 riverse host 'ookup failed: Unknown host


UNK34f

92. 68.4.2] 113 autb) open


113

Certihcao

LPI-2

(UNKNOWN) [192.168.4.2] 111 (sunrpc) open


(UNKNOWN) [192.168.4.2] 22 (ssh) open

A opo -v aumenta a quantidade de informaes mostradas na tela e -z indica


que a porta deve ser apenas verificada, mas que uma conexo no deve ser mantida.
Outra possibilidade do nc atuar como um servidor rudimentar atrelado a
uma porta especfica. Esse recurso til para avaliar a viabilidade de conexo
entre duas mquinas pela da rede. Por exemplo, para abrir a porta 1234 na mquina local:

nc-1-p1234

A opo -1 determina que o comando nc aguarde por conexes e a opo -p especifica a porta em questo. Dessa forma, possvel verificar se h um firewall sem
necessidade de ativar algum servio somente para essa finalidade. Se um firewall no
estiver ativo, ser possvel enviar dados para essa mquina a partir de uma mquina
remota. Por exemplo, se a mquina remota onde o netcat est aguardando na porta
1234 possui endereo 192.168.4.1, o comando a seguir pode ser utilizado a partir de
urna mquina remota para avaliar a conectividade:
echo 'Aceitou a conexo'

1 nc 192.168.4.1 1234

A frase Aceitou a conexo ser enviada para a porta 1234 na mquina 192.168.4.1.
Se no houver problemas na rede ou um firewall bloqueando a conexo, a frase aparecer na mquina onde o netcat est aguardando a conexo:
nc-1-p1234

Aceitou a conexo

Eventualmente, o nercat tambm pode ser usado para copiar dados entre mquinas. Contudo, por no oferecer uma forma de autenticao, ele fica em desvantagem
quando comparado a programas mais apropriados, como o scp ou o rsync.

Varredura de portas
Apesar de o netcat ser capaz de verificar uma faixa de portas, o recurso rudimentar
e apenas exibe se a porta aceitou ou no a conexo. Para anlises dessa natureza, que
precisam ser mais detalhadas, existe o comando nmap.
114

Tpico 205: Configurao de rede

O nmap capaz de identificar detalhes sobre os servios presentes na mquina


remota. Para sua utilizao mais simples, basta fornecer o endereo, local ou remoto,
como argumento:
# nrnap 192.168.1.250
Starting Nrnap 4.76 ( http://nmap.org ) at 2009-09-17 11:58 BRT
Interesting ports on remoto (192.168.1,250):
Not shown: 990 cosed ports
PORT
STATE SERVICE
22/tcp
open ssh
53/tep
oper doriain
80Itcp
open http
111/tcp open rpcbind
139/tcp open netbioyssn
3891tcp oper idap
445/tcp open nicrosoft-ds
548/tcp open afp
631/tcp open ipp
2049/tcp open nfs
Nmap done: 1 IP address (1 host up) scanned ir 6.91 seconds
Foi possvel identificar diversas portas e servios ativos no endereo especificado.
Uma porta especfica pode ser informada com a opo -p. Para identificar qual verso do servio est respondendo na porta indicada, basta fornecer a opo -sV. Por
exemplo, para tentar identificar a verso do servidor SSH (porta 22) na mquina
192.168.1.140, pode-se fazer:
# ninap -sV -p22 192.168.1.140
Starting Nrnap 4.76 ( http://nniap.org ) at 2009-09-17 12:03 BRT
Interesting ports on remoto (192,168.1.140):
PORT
STATE SERVICE VERSION
22/tcp open ssh
OpenSSH 5.2 (protocol 2.0)
MAC Address: 00:12:3F:FD:7F:E1 (Dell)
Service ietection perforned. Please report any incorrect results at

Certificao LPI-2

http:f/nrnap.org/submit/
Nmap done: 1 IP address (1 host up) seanned in 7.11 seconds

Foi possvel identificar a verso do OpenSSH - verso 5.2 - que est em funcionamento na mquina em questo. Essa informao til para localizar verses de
servios que eventualmente apresentam falhas de segurana e devem ser atualizados
ou desativados.
Em muitos casos possvel identificar at mesmo o sstema operacional da mquina remota, com a opo 0:
li nmap -O 192.168.1.145

Starting Nmap 4.76 ( http://nnap.org ) at 2009-09-17 12:13 BRT


lnteresting ports on 192.168.1,145:
Not shown: 998 closed ports
PORT

STATE SERVICE

22/tcp open ssh


631/tcp open ipp
MAC Address: 00:13:90:01:55:18 (Termtek Computer Co.)
Device type: general purpose
Running: Linux 2.6.X
OS details: Linux 2.6.13 - 2.6.20
Network Oistance: 1 hop
OS detection performed. Please report any incorrect results at http://nniap.org
.-/subrnit/ Nrnap done: 1 IP address (1 host up) scanned in 10.13 seconds

A partir do padro de resposta recebido pelo nmap, possvel supor qual o


sistema operacional que o produziu. Mesmo que os dados sejam insuficientes para
identific-lo com exatido, na maioria dos casos ser possvel identific-lo genericamente. Como mostrado no exemplo, foi possvel identificar genericamente o sistema
operacional em execuo - Linux 2.6X

Inspeo de dados
Mesmo quando possvel estabelecer uma conexo, no possvel garantir que o fluxo de dados transcorra de maneira correta, a menos que seja feita uma inspeo dos
dados que so enviados pela conexo. O comando tcpdump capaz de fazer anlises
116

Tpico 205: Configurao de rede

muito profundas sobre o trfego de dados no computador, tanto no fluxo de entrada


quanto no fluxo de sada.
As informaes exibidas pelo tcpdump - quando usado sem opes de filtragem
- so muito extensas, sendo recomendado utiliz-lo com opes que limitem o contedo somente aos dados desejados.
O tcpdump pode ser utilizado com opes simples ou com expresses especficas.
Algumas opes importantes do tcpdump so:
e 10: Limita o nmero mximo para 10 capturas de pacotes;
-0: Lista as interfaces ativas no sistema;
-j eth: Limita a captura para a interface eth apenas;
-q: Mostra informaes mais sucintas;
-t: No mostra informaes de hora;

-v, -vv, -vvv: Aumenta gradativamente o nvel de detalhamento das


informaes;
-w a rqui vo: Grava toda sada para o arquivo especificado, que poder ser ana-

lisado posteriormente com a opo -r arquivo.


As expresses do tcpdump podem ser utilizadas para limitar a sada do comando,
que pode conter informaes em demasia. As expresses referem-se basicamente a
restries de endereos e portas, para facilitar o rastreamento de possveis problemas. Expresses comuns do tcpdump podem ser consultadas na tabela Expresses
do tcpdump.

As expresses podem ser combinadas utilizando operadores lgicos. Dessa forma,


se obtm exatamente os dados desejados. Os operadores mais utilizados so:

ou not: Mostra pacotes que no correspondam expresso;


&& ou and: Mostra pacotes que correspondam s duas expresses especificadas;
1 ou or: Mostra pacotes que correspondam a qualquer uma das expresses
especificadas.
Por exemplo, duas expresses podem ser combinadas da seguinte forma:
tcpdump port ssh and not host 192.168.4.1

Este comando mostrar pacotes cuja porta de origem ou destino seja a porta ssh
(22) e cujo host de origem ou destino no seja o host 192.168.4.1.
Dada a complexidade que envolve a operao e anlise dos dados gerados pelo
tcpdump, existem programas alternativos que possuem finalidade semelhante mas
so mais simples. o caso do wireshark (figura 1).
117

Certificao LPI-2

J Expresses do tcpdurnp
S111t*St.1

stIr.IIur.III:

dst host nome

Mostra pacotes cujo destino seja o host especificado


pelo termo nome. Pode ser um nome ou lP.

src host nome

Mostra pacotes cuja origem seja o Jiost cipeclilcado


pelo termo nome. Pode SE um nome ou IR.

host nome

Mostra pacotes cuja origem ou destino sejam o host


especificado pelo termo nome. Pode ser um nome ou IR.

dst net rede

Mostra pacotes cujo destino seja a rede especificada peo termo rede.
Pode ser no formato numrico ou um nome em /etc/networks.

src net rede

Mostra pacotes cuja origem seja a rede especificada. Pode


ser no formato numrico ou um nome em /etcinetworks.

net rede

Mostra pacotes cuja rede de origem ou destino seja a rede especificada.


Pode ser no formato numrico ou um nome em /etcfnetworks,

dst port porta

Mostra pacotes ip/tcp, ip/udp, ip6/tcp ou ip6/udp cuja porta


de destino seja a especificada. A porta pode ser no formato
numrico ou um nome que conste em /etc/services.

src port porta

Mostra os pacotes cuja porta de origem seja a especificada.

port porta

Mostra pacotes cuja porta de origem ou destino seja a porta especificada.

dst portrange portal-porta2

Mostra pacotes cuja porta de destino esteja entre as portas especificadas.

src portrange portal-porta2

Mostra pacotes cuja porta de origem esteja entre as portas especificadas.

portrange porta1porta2

Mostra pacotes cuja porta de origem ou destino


esteja entre as podas especificadas.

Inrerfaces, endereos e expresses so definidos de forma muito mais intuitiva. Todos os conceitos so os mesmos do tcpdump, mas o contedo dos pacotes caprurados
podem ser rastrcados com mais facilidade.

Criptografia de conexes
Diante da possibilidade de inrerceptao dos dados trafegados em rede, abre-se a
brecha para que estes possam ser utilizados para fins maliciosos.
Com o uso da tecnologia de VPN

(Virtual Pri vate Network),

um tnel criptogra-

fado criado unindo dois ou mais pontos na rede.


Em cada um desses pontos, uma interface dc rede virtual - chamada interface
TUN - criada. Em seguida, um endereo IP atribudo a cada interface, unindo-as
dentro de uma mesma rede.
Todo pacote enviado por essa interface criptografado, enviado pela inrerface real
e descriprografado apenas na outra ponta. Apenas a mquina que possui os certificados emitidos pelo servidor da VPN poder ingressar nessa rede, tornando impraticvel o acesso ao contedo original dos pacotes eventualmente interceptados.
118

Tpico 205:

97514973177
72214.875595
52214.552151
124 54142569
725 54144977
229 14.946524
72754.915424
729 15.915231

1,2.1481391
192.568.1419
4554584 II)
91 kl.I 999
SI 22917.214
197,581.1 194
2154,69.99.4
597 168.5 544

IR
85157584261
92,25,24979
195.1l'l 5149
45121.44.552
152 544.1.191
16.23&27.219
241 544.1,164
111.11.69,4

'(9
70
7(7
,(7
7(7
7(7
7(7
7(7

54481.'4
6695 94519
6sne,'n..'gl
6551. 544W
1256
3914
54464
13916
9975 155544
51594 9 9476

Configurao de rede

LJ

9189. 6061 514327 4(1.54 854.1462 e..lI24 '64152714659


1811 5eq=12755 lgk.1 65941697 .19.5244 13V=5327596 54 '584*5
6951 I*1 s.q.l 6c6.14331 91'497575 Lr4
,.96 844 6(7 549=14337 5(1,1 55.42+7 S5=1921
6(81 s.q.l 1(6,47253 652.64551 .55.9 719.415599 1(6.1S11t
'529. 1812 S.ql4577 4ck.1 6'15,1102 L99494 '59=171795616 1'
989. ACCI 144.44911 MI'S W.a.44 19,494 759,344974295 1559

53 1/C11
TCP
594.139 1 199
149535,117429
l381 > 6254976(1(3 S.q.1 26.691
'34 55.161718
216.66,89.4
III 599. 1. III
'7(7
5976 '5291 SF36. 4(815 5.q-44921
939 55.224159
92 145.71.599
1(1
191.I$l.1,Il9
56917 45431 5*017 169.54921 4(9
954
IS
53988
952 594 1 54!
111 2'4
597
j
g162 r7 1 142 Ulfl9t,enj
.19V
717 15 161916
72.135.71.599
182.169 5169
1(7
56317545423 I6(*j 599449151(9
758 15.291342
72.121.71.586
592.169.5 599
10
59112 45433 719, 6(65 164.5529
734 1526059
593 923.1,194
72. 571 53 1964
11745413. 56257 67815 189.21545 1(5
24915.296494
64.257,125 181
592 165.1.599
10
55794 56384 7554, 8(87 549263!
24111.396545
525.191
1(9
55399 115794 15(115 599751(1-159
. 192.579.1,198
" 9
- 64.757
"=
.... =55
- 'r-==
..
6 Frne 1 ,745 6y79, 919 41r8, 141 byte, 'ot1'
5 ElIlrT56t 51, Si.: Wstchgsa_49:S:.4 588'94'1f:49:4o:.d,. 791 165274:99:69.69:17:94741194:
2 I.5.ro( Prolsol. 511: 1 9.65.224 .14 79,95.224.795. 595: 157.1681199 5192.566 1.lSqi
9 'IrInS.s.ns, 78,2 rei 7,#59c 85. 5,C ParI 44939 64131i . Dst P,rt ' 6891 96941' . q. 2 1 9(1 5,,e,'. 551
2 liii 5 617 691552

.9 '344153749691 15594'41129294
9195=66 14636 151(W974485 711(8
61544511 18,4 119757955S 1589.
0&.474L]'P. 1

189.6 T4.'1537991 13 1548

.=

52477c6942649766 419641l5S649.6
591941f51545#447649243544515652
I29'15194996114f911b6bi,'16459t
4l9k99 9 9'9f66r4fl9Ile.e 317,7

.48

36,
.

6
1

...
'

4,'

Figura 1. Tela do Wireshark. programa que facilita a captura e a inspeo dos dados Irafegados numa interface local.

O sistema de VPN mais popular no Linux o OpcnVPN. Para criar uma VPN,
basta utilizar os scripts oferecidos pelo prprio pacote. com essas chaves que uma
estao cliente poder ingressar na rede VPN.
As configuraes, seja de servidor ou de cliente, so feitas no arquivo fetc/openvpn/
openvpn.conf. Para configurar um cliente VPN simples, basta utilizar as entradas:
c' ient
dev tun
proto udp
re'iote 192.168.1.150 1194
A primeira linha determina que a estao ser o cliente na VPN. A linha dev
tun indica qual o tipo de interface utilizado. Em seguida definido o protocolo
de comunicao com a outra ponta (proto udp) e indicado o endereo ou nome
da mquina atuando como servidor da VPN (reniote 192.168.1.150 1194). Nessa
ltima, alm do nome ou do JP do servidor VPN, colocada a porta de conexo,
que por padro 1194. O
119

Certificao LPI-2

Origem dos dados


Os dados sensveis
so enviados pela
interface VPN.

Interface VPN

Origem
Na interface VPN, os
dados so criptografados
e enviados pela rede
convencional.

Interface Convencional
Origem
Os dados so enviados pela
interface convencional at a
mquina de destino.

Interface Convencional
Destino
Durante todo o percurso, os
dados ficam protegidos por
criptografla.
late
Destino
Somente as mquinas
autorizadas podem ingressar na
VPN e descriptografar os dados.
Destino dos dados
A mquina de destino recebe
os dados descriptografados e
a resposta obedece ao mesmo
procedimento de proteo.

O 205.3 Solues de problemas de rede


Peso 5

Quando toda a infraestrutura de rede est aucionat e ainda assim algumas conexes
apresentam problemas, provvel que o problema encontra-se num nvel mais alto,
na esfera da configurao dos servios de comunicao.

Problemas de traduo de nomes DNS costumam ser a principal origem dos problemas de conectividade. Se a comunicao feita diretamente por nmero IP possvel, mas tentar acessar uma mquina por seu nome no gera resposta, provvel

120

Tpico 205: Configurao de rede

que a mquina local no esteja consultando o servidor DNS ou este no esteja corretamente configurado. Para identificar se um nome pode ser corretamente traduzido
para um nmero IR usa-se o comando host:

II

host wiiw.linuxnewrnedia.com ,br

www.linuxnewiiiedja.com.br has address 189.14.98.138

No caso mostrado, foi possvel realizar a traduo do nome para o nmero IR Se


o nome no pde ser traduzido, vale verificar se o nmero IP do servidor DNS est
corretamente especificado no arquivo /etc/resolv.conf da mquina local.
Caso apenas alguns nomes no possam ser traduzidos, provavelmente o problema
est na configurao do servidor DNS. Se esses nomes referem-se a mquinas na rede
local, cabe verificar as configuraes no servidor DNS da rede. O comando dig tem
a finalidade de verificar a disponibilidade de um nome em um servidor DNS especfico, bastando informar o endereo aps o sinal de arroba:

II dig webmail

192.168.1.250

<O> DIG 9.5.1-P2 webmail Q192.168.1.250


global options:

printcrnd

Got answer:
-HEADER- opcode: QUERY, status: NOERROR, Id: 20890
flags: qr aa rd ra; OIJERY: 1, NSWER: 1, IJTFIORITY: O, ABDITIONAI: O
QUESTION S[CTION:
:webmail.

1H

192.168.1.251

NSWER SECTIOH:
webrnail.

604800

1H

Query time: 1 msec


SERVER: 192.168.1.250#53(192.168,1.250)
WHEN: Thu Sep 17 16:45:58 2009
HSG SUE rcvd: 41

No trecho ANSWER SECTION deve aparecer o endereo correspondente ao


nome pesquisado. Caso no aparea, a configurao do servidor deve ser corrigida
para informar corretamente as informaes solicitadas.
121

Certificao LPI-2

Disponibilidade de servios
Antes de qualquer verificao de configuraes, o servio em questo deve estar instalado no computador de destino. Caso ele j esteja instalado e ainda assim a utilizao apresenta problema, arquivos de log como /varlloglsyslog e fvarflog/messages
devem ser consultados para verificar se a inicializa.o do servio aconteceu sem problemas. Alguns servios possuem seu prprios arquivos de log, que tambm devem
ser consultados para localizar possveis falhas de operao.
Tambm convm verificar se h algum tipo de proteo que impede conexes legtimas de serem estabelecidas. Configuraes inapropriadas do TCP Wrappers podem
estar bloqueando as conexes. Para fins de diagnstico, recomendvel fazer uma
cpia, apagar o contedo dos arquivos /etc/hosts.allow e /etc/hosts.deny e efetuar
nova tentativa de conexo. Firewalls tambm podem ser os responsveis por bloquear
conexes legtimas.

Verificao do percurso dos dados


Se o servidor estiver fora da rede local, algum roteador ao longo do caminho pode estar apresentando problemas. A maneira mais simples de identificar em qual mquina
o trfego de dados est falhando utilizar o comando traceroute. Por exemplo, para
verificar se h perda de dados at uma mquina situada fora da rede local:
traceroute 208.67.222.222

O comando traceroute rastreia o percurso de um pacote desde a origem at seu


destino. Ele utiliza o campo lime to live (TTL) do protocolo IP para forar uma resposta ICMP TIME_EXCEEDED de cada gateway ao longo do caminho. Ao definir
um tempo limite de resposta muito pequeno, o ltimo gateway que recebeu o pacote
devolve a informao falha; dessa forma, poder ser identificado. Essa a tcnica utilizada para descobrir cada mquina por onde o pacote trafegou e, por consequncia,
identificar aquela que eventualmente no pde retransmitir um pacote.

205.4 Informar usurios sobre questes relativas ao sistema


Peso t
Durante procedimentos de manuteno na rede, importante deixar os usurios
informados para evitar novas chamadas de problemas ou mesmo o asseveramento de
algum problema j instalado.
122

Tpico 205: Configurao de rede

No contexto do terminal, diversas abordagens permitem transmitir essas informaes. Para aqueles usurios utilizando por terminal um servidor onde ser Leita a manuteno, o comando wal 1 pode ser utilizado para lhes passar informaes relevantes.
O comando wall simplesmente mostra uma mensagem especfica para todos os
usurios utilizando a mquina em questo via terminal. O nico argumento para o
comando o caminho para um arquivo contendo a mensagem de texto. Sem argumentos, o comando simplesmente exibir o contedo da entrada padro.

II echo '0 servico de emafl estara novamente disponivel em

15 minutos.' 1 wa]

Mensagem de broadcast de root@server


(/dev/pts/2) at 17:22
O servico de ernail estara novamente disponivel em 15 minutos.
Tambm importante informar aos usurios que entrem no sistema posteriormente, enquanto a manuteno ainda estiver se desenrolando.
Caso o reincio do sistema seja necessrio, o prprio comando shutdown pode ser usado
tanto para enviar a mensagem para os usurio e, aps um tempo pr-definido, realizar o
reincio. Por exemplo, para enviar uma mensagem e realizar o reincio aps 5 minutos:
shutdown

+5 'Sistema reiniciando em 5 minutos...'

A opo -r determina o reincio do sistema, a opo +5 define em 5 minutos a espera antes de realizar o reincio, e por ltimo definida a mensagem avisando sobre
o desligamento para todos os usurios conectados. Para cancelar uni procedimento
de reincio ou desligamento, deve ser utilizado o comando shutdown -c.
O programa de controle login via terminal mostra o contedo do arquivo /etc/
issue to logo o prompt aparece. Portanto, basta inserir a mensagem dentro desse
arquivo e esvazi-lo ao trmino da manuteno.
Para sesses iniciadas via telnet, o arquivo /etc/i ssue. net desempenha a mesma funo. Opcionalmente, ele pode ser utilizado para sesses iniciadas via ssh, bastando definir a entrada Banner /etc/issue,net no arquivo de configurao /etc/ssh/sshd_config.
Caso a manuteno no comprometa a utilizao do sistema, mas seja conveniente
manter os usurios informados, poder ser mais conveniente utilizar o arquivo /etc/
rotd. O contedo deste arquivo, cuja sigla representa message af the day (mensagem
do dia), exibido aps um login bem sucedido, podendo ser utilizado para transmitir
informaes mais amenas. O
123

Exercicios
[

Certificao LPI-2

Questes Tpico 205


1. Qual argumento do comando ifconig altera o endereo MAC de uma inrerface
ethernet?
a. mac
b. hw
c. arp
cl. eth

2. Como pode ser atribudo o segundo endereo IP 192.168.1.2 para a interface


ethernet ethO que j possui um endereo? Marque todas as opes corretas.
a. ifconfig echO +192.168.1.2
b. ifconfigethO add 192.168.1.2
e. ifconfigethO 192.168.1.2 up
cl. ifconfigeth:O 192.168.1.2

3. O comando ________ exibe a tabela de correspondncia do kernel para endereos


MAC conhecidos e nmeros IR

wlan essid rede_abc associa a interEice wireless wlanO


4. O comando
rede aberta chamada rede_abc.

5. Qual solicitao enviada pelo comando ping para determinar a disponibilidade


na rede?
a. ICMP_REQUEST
b. ICMP_RESPONSE
c. ECHO_REQUEST
d. ECHO_ANSWER

126

Tpico 205: Configurao de rede

6. Quais comandos podem ser utilizados para exibir as rotas de rede da mquina
local? Marque todas as opes corretas.
a. route
b. ip

e. netstat
d. traceroute

7. Quais comandos podem ser utilizados para exibir as portas dc rede abertas na
mquina local? Marque todas as opes corretas.
a. netstat
b. isof
e. nc
cl. nmap

8. Qual o principal arquivo de configurao do OpenVPN? Informe apenas o


nome do caminho, sem o diretrio.

9. Quais programas podem interceptar e analisar os contedo de pacotes rrafegados


na interface? Marque todas as opes corretas.
a. nmap
b. cat
e. tcpdump
d wireshark

10. O comando __________ utilizado para enviar mensagens para todos os usurios
acessando o sistema cm questo via terminal.

127

Peso total do tpico


na prova: 7

Tpico 206,
Manuteno
do sistema
Principais temas abordados:
Compilar e instalar programas;
Operaes de backup.

Certificao LPI-2

O 206.1 Compilar e instalar programas a partir do cdigo fonte


Peso 4

Em algumas situaes, os programas disponveis cm uma distribuio podem no


ser os mais adequados para uma finalidade especfica. Isso acontece quando a verso
do programa disponvel no aquela necessria a uma tarefa ou o programa raro e
simplesmente no est disponvel.
Quando necessrio, possvel copiar o programa diretamente do site do desenvolvedor ou de portais especializados em hospedar projetos de cdigo aberto, como
o sourceforge.net. Contudo, pacotes pr-compilados podem no ser compatveis com
alguma distribuio especfica ou sequer esto disponveis.
Alm do opcional pacote pr-compilado, programas de cdigo aberto so distribudos em seu cdigo fonte, que so os arquivos em linguagem de programao
escritos pelos desenvolvedores do projeto em questo.

Compresso e descompresso de arquivos


comum que o cdigo fonte de programas esteja organizado em centenas - por
vezes milhares - de arquivos de texto separados. Para simplificar a distribuio,
a maioria dos programas distribudos em cdigo fonte apresenta-se na forma dc
arquivos lar comprimidos. Arquivos tar podem conter toda uma rvore de diretrios e arquivos aglutinados dentro dele, o que facilita sua distribuio. Alm
disso, como so comprimidos, reduzem drasticamente a quantidade de dados que
necessita ser copiada.
Existem dois padres de compresso muito utilizados para distribuio de arquivos lar de cdigo fonte: o Gzip e o Bzip2 O Gzip oferece maior agilidade na compresso e descompresso, enquanto o Bzip2 costuma oferecer arquivos comprimidos
ligeiramente menores.
Os comandos para compresso so, respectivamente gil p e bzi p2. Para descompresso, so usados gunzi p e bunz 1 p2. Esses comandos podem trabalhar diretamente
sobre o arquivo informado como argumento ou trabalhar com os dados recebidos
via entrada padro.
Por exemplo, para descornprimir o arquivo resynthesizer-O.16.tar.gz:
qunzp resynthesizer-0.16.tar.gz
Usado dessa forma, o comando gunzip substituir o arquivo original pelo arquivo
resynthesi zerO. 16. tar. Para evitar que o arquivo original seja substitudo, podem ser
usadas a entrada e sada padro:
130

Tpico 206: Manuteno do sistema

cat resynthesizer-0.16.tar.9z

gunzip > resynthesizer-0,16.tar

O mesmo procedimento simplificado utilizando os comandos especializados


zcat e bzeat. Eles simplesmente tomam o arquivo informado e o descomprimem

para a sada padro:


zcat resynthesizer-0.16.tar.gz > resynthesizer0.16.tar

Essas ferramentas de compresso so incapazes de aglutinar arquivos, por isso so


utilizadas em conjunto com o comando tar, que o responsvel por essa funo.
Para facilitar o procedimento de aglutinao e extrao dos arquivos, tanto a compresso quanto a descompresso podem ser efetuadas diretamente pelo comando tar,
ao utilizar os argumentos:
z para compresso gzip;
j para compresso bzip2.
Para criar um arquivo tar.bz2 com o contedo de um diretrio, o seguinte comando pode ser utilizado:
tar cjf nome_do_arquivo.tar.bz2 nome do_diretrio!

A opo c dctermina a criao de um arquivo, a opo j determina a utilizao


de compresso bzip2 e a opo f determina o nome do arquivo, que vem a seguir. O
arquivo ou diretrio a ser includo colocado por ltimo.
A extrao do contedo de um arquivo tarcompactado ainda mais simples. Por
exemplo, para extrair o arquivo resynthesizer-Q.l6.tar.gz:
tar

xzf

resynthesizer -O. 16.tar.9z

A opo x determina a extrao do contedo, a opo z determina a descompresso por gzip e a opo f indica o arquivo a ser extrado, que colocado na sequncia.
O contedo do arquivo ser extrado no diretrio atual.

Compilar e instalar programas


Depois de copiado o arquivo tar com o cdigo fonte de um programa, o primeiro
passo extra-Io para o local apropriado. Aps a instalao do programa, o cdigo
fonte pode ser apagado. Contudo, se o cdigo ainda for utilizado posteriormente para estudo ou correes - ele deve ser mantido no diretrio !usr!src, que o local
131

Certificao LPI-2

padro para os arquivos de cdigo fonte no Linux. Ali, conveniente deixar um


diretrio para cada programa.
Praticamente todos os arquivos tar de cdigo fonte criam automaticamente
esse diretrio com o nome do programa, bastando que a extrao seja feita de
dentro do diretrio /usr/src. Por exemplo, extrair o arquivo de cdigo fonte do
programa Q:ractor
cd fusr/src

tar xjvf qtractor-0.4.2.tar.9z


Esse comando criar o diretrio qtractor-0.4.2 dentro do diretrio /usr/src, contendo o cdigo fonte do programa e outros arquivos relacionados. Caso o arquivo
qtractor-0.4.2.tar.gz no esteja no diretrio /usr/src, o caminho completo para ele
deve ser informado para que o comando tar o localize. a partir de dentro do diretrio recm criado pela extrao que o trabalho de instalao prossegue.
Antes de compilar o programa, necessrio configurar o processo de compilao.
Isso feito por um script chamado configure, localizado na raiz do diretrio contendo os arquivos de cdigo. O script coleta informaes sobre a arquitetura do sistema,
caminhos de comandos, bibliotecas compartilhadas, caractersticas de funcionamento do programa etc. Em geral, o configure pode ser invocado sem argumentos, simplesmente executando ./configure.
Uma opo bastante utilizada - -prefi x, que informa qual diretrio do sistema de
arquivos o programa dever usar como base para a instalao. Por padro, os programas compilados a partir do cdigo fonte so instalados no diretrio /usr/1 ocal. Para
definir outro diretrio de destino, o configure invocado na forma:
Jconfigure --preflx=/opt

Esse comando determina que o programa e seus demais arquivos sero ser instalados no diretrio /opt. Aps a instalao, os arquivos do programa sero colocados

Q Requisitos para compilao


Para compilar um programa a partir de seu cdigo fonte, necessrio possuir alguns
programas de desenvolvimento no sistema, sobretudo um compilador. Alm disso,
programas podem ter necessidades especficas, como bibliotecas adicionais e diferentes
tipos de compiladores. Consulte os arquivo README e INSTALL presentes no pacote do
cdigo fonte do programa para saber quais so os requisitos mnimos para compilao.

132

Tpico 206: Manuteno do sistema

nos diretrios apropriados dentro do diretrio informado pela opo --prefix, como
o diretrio bin (comandos), nian (manual) e lib (bibliotecas compartilhadas).
A lista completa das opes pode ser consultada ao invocar o comando ./confi qure - - hei p. As informaes coletadas pelo script configure so armazenadas em um
arquivo no mesmo diretrio, chamado Makefile.
O arquivo Makefile pode ser editado para alterar as opes de instalao, como a
varivel PREFIX, que desempenha a mesma funo do argumento --prefix do script
configure e outras variveis que indicam a localizao de bibliotecas, comandos, caractersticas do programa etc.
Terminada a configurao, o programa pode ser compilado. Isso feito simplesmente executando o comando make, que cria as bibliotecas e arquivos executveis
conforme as instrues e as opes especificadas no arquivo Makefile.
Finalizada a compilao, o programa estar pronto para ser instalado no diretrio
de destino. Mais uma vez, o comando make usado, dessa vez na forma niake i nstai 1.
Se os procedimentos de configurao e compilao foram realizados por um usurio comum e o destino da instalao no estiver no diretrio pessoal deste usurio,
a instalao dever ser feita pelo usurio root, que tem permisso para escrever nos
diretrio do sistema. O

206.2 Operaes de backup


Peso 3

Uma das atividades mais importantes de uni administrador de redes e sistemas


manter uma estratgia eficiente de backup de dados. A soluo para esse problema
pode ser a utilizao de um sistema de backup comercial completo ou simplesmente
um agendamento de scripr para cpia remota.
Em um sistema Linux, nem todos os diretrios precisam ou devem possuir becape. Diretrios como /proc, /dev e /trnp devem ser ignorados nesse caso.
Diretrios que devem possuir becape so aqueles que armazenam os arquivos pessoais dos usurios, configuraes dos programas, bancos de dados e outros arquivos
sensveis. Tambm interessante manter cpias de diretrios que contm arquivos
de log. Por padro, os diretrios que armazenam o arquivos mencionados podem ser
consultados na tabela Diretrios para backup.
Nem sempre necessrio fazer a cpia de todos os arquivos dentro desses diretrios.
Quando se pretende realizar o backup de algum servio especfico, recomendvel identificar dentro desses diretrios aqueles que so diretamente relacionados a tal servio.

Certificao

LPI-2

Diretrios para backup


11111401d II

I*.'{'I t*T'

ihome

Diretrios pessoais dos usurios. Deve ter alta prioridade de backup.

Ietc

Cooflgbraes gerais

iva r

Muitas informaes importantes so armazenadas no diretrio Jvar. Em


1var/1 09 ficam a maioria dos logs de sistema. Bancos de dados podem estar em
/var/db ou /varil ib, dependendo das configuraes e do servidor de
banco de dados utilizado. Os emails locais, por padro, ficam em iva ri
spool imai 1. Sites Web controlados pelo apache ficam em /variwww.
Opcionais, apenas necessrios para evitar a. reinstala5o de algum
programa durante a recuperao total do sistema.

/us r e

iopt

do

sistema e ds programas.

Ferramentas de backup
A escolha da melhor soluo de backup depende muito do contexto em que ele ser
utilizado. Em grandes redes mais apropriado adotar solues sistemas especficos
e estveis, como o Amanda, Bacula ou BackupPC. Com eles possvel configurar o
backup de forma centralizada e monirorar o andamento de backups atuais e antigos,
facilitando a localizao e soluo de eventuais falhas.
Ainda hoje, possvel utilizar dispositivos de fita para armazenar backups. Apesar
de alguns inconvenientes, como a baixa velocidade de gravao e leitura, o baixo
custo e o bom espao de armazenamento podem ser atrativos.
O comando para manipulao de dispositivos de fita - acessveis pelos arquivos
/dev/st* ou idev/nstt - o comando nit, disponvel pelo pacote ipio. A operao de
um dispositivo de fita muito semelhante operao com fitas de udio ou vdeo,
em que marcas no incio e no final do arquivo gravado so utilizadas para localizar e
posicionar o leitor e permitir a gravao e leitura corretas.

Comandos de aglutinao de arquivos


Alm dos sistemas complexos de backup, comandos simples podem ser usados para
criar eficientes esquemas de cpias de segurana. Principalmente em redes pequenas,
onde um nico servidor concentra a maioria dos servios oferecidos, scriprs simples
e agendamenros so capazes de atender necessidade.
A ferramenta universal de criao de backups em ambientes Unix o comando
tar. Sua principal caracterstica gerar um nico arquivo que aglutina todos os arquivos e direrrios de origem, preservando ainda todas as permisses e propriedades
dos arquivos copiados.

134

Tpica 205: Manuteno da sistema

Mesmo quando as cpias de segurana forem ser passadas para mdias como CDs
ou DVDs, recomendvel primeiro gerar um arquivo tar contendo os arquivos e
somente depois copiar este arquivo para a mdia final, a fim de preservar todas as
caractersticas dos arquivos originais.
O comando cpi o semelhante ao tar em muitos aspectos. A finalidade bsica de
ambos aglutinar arquivos, mas a forma de utilizao difere entre eles.
O cpio trabalha diretamente com a entrada e sada padro. Para criar um arquivo,
utiliza-se a opo -o
find /horne 1 cpio -cv > usuarios.cpio

Todos os arquivos recebidos - aqueles informados pelo comando f ind - sero


utilizados para gerar o arquivo usuaros.cpio. A opo -v exibe detalhes do processo,
como os nomes dos arquivos sendo processados.
Extrair um arquivo um processo semelhante, mas determinado pela opo -1.
Para extrair todo o contedo de um arquivo:
cpio ivd < usuarios.cpio

a;

A opo -d preserva a hierarquia de diretrios original. Para extrair apenas algum arquivo especfico, basta informar o nome completo ou um padro de nome para extrao:
cpio -ivd < usuarios.cpio *pdf
Dessa forma, apenas os arquivo com sufixo pdfsero extrados.
Alm de gerar cpias de diretrios e arquivos, at mesmo dispositivos inteiros
podem ser espelhados para recuperao ftirura. Com o comando dd, um disco rgido
inteiro pode ser espelhado e armazenado para recuperao fritura.
Por exemplo, para fazer uma cpia do dispositivo /dev/sa!a para o arquivo sckimg.
dd f-/dev/sda ofsda.img

Por tratar-se de uma cpia completa do dispositivo, inclusive dos trechos sem
dados gravados, pode ser um procedimento muito demorado. Contudo, gerar uma
cpia exata do disco especialmente til para replicar todo o sistema operacional em
mquinas com a mesma configurao de hardware.

Certificao LPI-2

Cpia via rede


Alm da possibilidade de manter cpias dc segurana em mfdias e discos externos,
pode-se transmitir arquivos de becape pela rede, utilizando o tar em conjunto com
o ssh. O meio mais simples para realizar essa tarefa utilizar o comando scp, que
parte das ferramentas do pacote OpenSSH:
scp 18-09-2009.tar.gz adminQbackupsrv:/var/becape

Este comando copiar o arquivo 18-09-2009. ta r gz para o diretrio /var/becape no


computador remoto backup.srv, utilizando a conta do usurio admin. Para unificar
as etapas de criao do arquivo cangz e envio para o computador remoto, o comando
a seguir pode ser utilizado:
tar czvf -

ssh adniin@backup.srv 'cat > /var/becape/18-09-2009.tar.9z'

Dessa forma, o arquivo no ser criado no computador local, mas direcionado e


criado diretamente no servidor remoto backup.srv.
Outro comando importante para efetuar cpias por meio da rede o comando
rsync. Semelhante em utilizao ao scp, o rsync oferece algumas vantagens. Por exemplo, o rsync compara os dados na origem com os dados eventualmenre presentes no
destino e copia apenas os arquivos que tenham sido modificados.
A utilizao bsica do rsync exige poucas opes:

rsync -r /var/spool/mail admin@backup.srv:/var/becape/mail

Com esse comando, o rsync se comunicar com o rsync "servidor" instalado na mquina backup.srv, e copiar recursivamente - em funo da opo - r todo o contedo
do diretrio local Iva r/spool Ioiai 1 para o diretrio remoto /var/becapelrnai 1.
Mesmo que o rsync servidor no esteja disponvel, possvel utiliz-lo em conjunto com o servidor SSH. Para isso, basta informar de que forma o rsync devc proceder
o login, com a opo -e:
-

rsync -e ssh -r Ivar/spoollniail adniin@backup.srv:Ivar/becape/inail

Outra vantagem dessa abordagem que todo o trfego estar protegido por criptografia. Caso o arquivo a ser copiado seja muito grande, pode ser conveniente realizar a cpia parcial, a partir da ltima interrupo. Isso permite rei.niciar uma transferncia de urna arquivo como pode ser feito com servidores HTTP ou FTP:
1136

Tpico 206: Manuteno do sistema

rsync -p -e ssh -r /varlspool/mail admin@backup.srv:/var/becape/mail

A opo -p (de partiai ou parcial) determina que os arquivos incompletos no


destino no sero reiniciados, mas que ser feita apenas a transferncia dos dados falrantes. Alm disso, a opo -P (progress, ou progresso) tambm determina a exibio
do progresso da cpia. 0

Exerccios
)

1140

Certificao 121-2

Questes Tpico 206


De que forma o arquivo backup.taLbz2 pode ser descompactado? Marque todas
as respostas corretas.
a. tar xzvfbackup.tar.bz2
b. gunzip backup.tar.bz2
c. bunzip2 backup.tar.bz2
d. bzcat backup.tar.bz2 > backup.tar

2. Pelo padro FHS, onde devem ficar os arquivos de cdigo fonte dos programas?
Informe o caminho completo.

3. Qual opo do script configure determina o diretrio base da instalao do programa?


a. --dest
b. --destdir
e. --pref
d. --prefix

4. A maneira padro de compilar um programa aps a configurao com o script


configure utilizar o comando

5. Qual a sequncia padro correta para configurao, compilao e instalao de


um programa a partir de seu cdigo fonte?
a. make config; make; make instali
b. make install; make; ./configure
C. make; make install; ./configure
d. ./configure; make; make instail

6. Qual desses diretrio no deve entrar num esquema de backup?


a. /usr
b. /proc
o. /honie
d. /var

Tpico 206: Manuteno do sistema

7. Quais desses comandos podem ser utilizados para aglutinar arquivos? Marque
todas as respostas corretas.
a. tar
b. cpio
C.

gzip

ci. bzip2

8. O comando GNU/Linux padro para manipulao de dispositivos de fita o

9. Quais comandos podem ser utilizados para realizar a cpia exata (imagem) de uma
mdia ou dispositivo? Marque todas as respostas correras.
a. cp
b. scp

e. dd
d. rsync

10. Quais comandos podem ser utilizados para fazer cpias de dados pela rede? Marque todas as respostas corretas.
a. cp
b. scp

e. dd
ci. rsync

'

Peso total do tpico

- na prova: 6

Tpico 207.
Domain Name Server
Principais temas abordados:
Configurao do servidor BIND;
Criao e manuteno de arquivos de zonas;
Segurana de DNS.

1144

Certificao LPI-2

207.1 Configurao bsica de um servidor ONS


Peso 2

Um servio DNS - Domam Name System - o responsvel por traduzir os nomes de


mquinas (conhecidos simplesmente como domnios) para seus respectivos nmeros
IP e vice-versa. A correspondncia cntre o nome e o nmero IP chamada mapeamento, que organizado de forma hierrquica.
Em outras palavras, um domnio como wiki.tldp.org ser quebrado e resolvido
comeando pelo termo org, depois t/.elp e finalmente wiki - itens chamados respectivamente top-level dvmain, second-tevel domain e third-level domam. nessa ordem
que o endereo IP para wiki.t/dp.org ser obtido. Os top-level domains mais comuns
so .com.br, .com, .orge .net, mas existem vrios outros.
O servidor de resoluo de nomes mais usado no mundo o Bind. Seu principal programa o nareeti, o responsvel por responder s solicitaes de traduo
de nomes. As especificaes para resoluo de nomes so definidas pelo Internet
Systems Consortium.
O principal arquivo de configurao do Bind o named . con f*, que pode ser encontrado no diretrio /etc/ ou /etc/bind/.
Em funo de sua arquitetura decentralizada, um servidor DNS Bind pode funcionar de maneiras muito diferentes. Alguns servidores simplesmente espelham outros servidores DNS e outros sequer possuem as informaes de traduo. Cada
configurao serve a um propsito, dependendo da necessidade local.

Servidor caching-only
Um servidor DNS caching-only a mais simples implementao de um servidor
DNS. O servidor apenas requisita a resoluo do nome junto a um servidor externo
e armazena a resposta para agilizar futuras requisies. Exemplo de contedo do arquivo de configurao named . conf para um servidor de DNS caching-only:
options {
di rectory "/var/named";

zone

." IN {
type hint;

As inlormaes ciladas dizem respeito verso 9 ou superior do servidor Bind. Alguns nomes e configuraes de verses do
Bind anteriores a essa podem ser diferentes.

Tpico 207: Domain Name Server

e 'roct.nnts";

Zonas convencionais tm sees definidas de forma semelhante (por exemplo,


zone '1 ocal host 1H [ ...), e importante que para cada uma delas seja especificada
umazonaparaDNSreverso(porexemp]o,zone "03.127.in-addr.arpa IN { ...).O
DNS reverso importante pois responsvel por converter nmeros IP para seus
respectivos nomes.
Voltando ao exemplo, na seo options indicado onde esto os arquivos de zonas (directory "/varfnarned';). Est definido apenas o mapeamento para .", que
ser consultado caso nenhum outro mapeamenro seja encontrado. este o caso do
exemplo, que tambm determina o tipo do arquivo de zona para apenas cache (type
hint;).
No arquivo /var/narned/root.hints est uma lista com os servidores de nomes principais da Internet. Este arquivo gerado a partir do comando dig e. root-servers.net.ns.
Como os endereos de alguns servidores podem mudar, aconselhvel atualizar o arquivo
regularmente.
Trecho de /var/narned/root.hints:

D.R0OT-SERVERS.NET .
A.ROOT-SERVERS.MET.
H.R00T-SERVERS.NET .
C.ROOT-SERVERS.NET .

3600000
3600000
3600000
3600000

IN
1H
1H
1H

A
A
A

128.8.10.90
198.41.0.4
128.63.2.53
192.33.4.12

Aps alterar os arquivos de configurao, ser necessrio reiniciar o daemon named, responsvel por responder s requisies de DNS. Para que as configuraes
tenham efeito sem interromper o servio em execuo, basta enviar o sinal HUP para
o processo, o que pode ser feito com o comando ki li:
kiP -HUP 'pidof naed'
Apesar de o comando kill poder ser utilizado, existe um comando especfico para
controlar o daemon named em execuo. o comando mdc, utilizado principalmente para forar a leitura de novas configuraes de zone:
rrdc reload
145

Certificao

LPI-2

Esse comando Er com que as configuraes e arquivos dc zona seja recarregados,


sem que o named seja interrompido. Alm de controlar um servidor Bind local, o
comando mdc tambm pode ser utilizado para exibir o status do servidor, transferir
zonas e interromper o servio etc em um servidor remoto. Usado sem argumentos, o
mdc exibe as instrues que podem ser utilizadas. O

207.2 Criao e manuteno de zonas de DNS


Peso 2

A principal diferena entre um servidor DNS tradicional e um servidor DNS caching-cnly acontece principalmente nos arquivos de zona. Num servidor tradicional,
os arquivos de zona contm a correspondncia de iPs e nomes para os domnios
especificados cru named.conf.

Criando um domnio
Para cada domnio sob responsabilidade do servidor, deve ser criada uma entrada no
arquivo nained.conf. Essa entrada muito parecida com aquela do exemplo de DNS
caching-only:
options {
directomy '/vam/named';

zone '." IN [
type hint;
file "root.hints";

zone 'gink.go" 111 (


type master;
file 'gink.go.zone";

A ltima entrada indica opes e o arquivo de zona para solicitaes de nome para
o domnio gink.go. Este um domnio fictcio, utilizado como exemplo pan uma rede
interna. A opo type determina a prioridade da zona para o domnio: pode ser masterou
146

Tpico 207: Domain Name Server

nave. O arquivo definido na opo file deve ser criado no mesmo diretrio definido na

opo di rectory da seo options. Pode ser escolhido qualquer nome para o arquivo de
zona, mas geralmente escolhido o nome do domnio com os prefixos/sufixos zoneou db.

Registros da zona
O arquivo de zona contm vrias informaes dos nomes do domnio em questo.
Um arquivo de zona para o exemplo pode ser escrito da seguinte forma:
$TTL 30
1H
SOA
2007060401
28800
7200
2419200
86400

floyd.gink.go. hostmaster.qink.go
serial
refresh (8 horas)
; retry (2horas)
expire (4 semanas)
minimum (1 dia)

NS
floyd
MX 6 mali
A
192.168.0.1

192.168.0.2
CHAME hamilton

192,168.0.4
CHAME felix
A
192.168.0.11

floyd
hamilton
www
felix
mali
einily

Cada item do arquivo de zona deve respeitar a uma sintaxe muito particular; caso
contrrio, erros sero informados e o servidor no ser capaz de traduzir os nomes. A
seguir, o exemplo analisado item a item:
$TTL3D
Indica a validade padro dos dados ou por quanto tempo os dados conseguidos a
partir deste servidor devem ser mantidos em um cache de DNS.
1H

SOA

floyd.gink.go. hostmaster.gink.o. (

Essa linha corresponde principal entrada: SOA (Start OfAuthoritjL Ela determina qual o servidor e o email do administrador do DNS. O sinal @ apenas um
147

Certificao LPI-2

atalho para a origem, que corresponde ao domnio da zona. Caso o domnio seja
mencionado, deve ser especificado com um ponto no final: qinko.go.
O 1H significa Internet e determina a classe do registro. Na grande maioria dos
servidores DNS, ser a nica classe utilizada. O termo SOA indica tratar-se do registro da autoridade para o domnio, seguido do nome do servidor DNS e do email do
administrador. Perceba que ambos, nome do servidor e email, so terminados com
um ponto. O email tambm tem um ponto no lugar do @. O parntese no fim da
linha indica o incio das propriedades do registro.

28800

: serial
refresh (8 horas)

7200

2009090401

2419200

retry (2horas)
expire (4 semanas)

86400

minimum (1 dia)

Essa seo especifica algumas propriedades para a zona. O primeiro nmero,


2009090401, determina um nmero serial de identificao para a zona. Pode ser qualquer nmero, mas via de regra segue o formato de data mais um nmero decimal.
Os demais valores determinam respeccivamente: intervalo de atualizao, intervalo
para novas tentativas, prazo de validade das informaes e intervalo mnimo de permanncia no cache. Estes valores sero informados aos clientcs e a outros servidores
DNS que utilizam este mapa. Todo texto que vier depois do caracterc ";", que especifica um comentrio, ser ignorado pelo programa. O fim das propriedades do
registro determinado com o fechamento do parntese. Continuando o exame:
N5
MX
floyd

floyd
5

mali
192.168.0.1

hamilton

192.168.0.2

www

CNAME

hamilton

felix

192.168.0.4

mali

CHAME

felix

emily

192,168.0.11

Os demais registros correspondem s entradas de nomes da zona. Se no for informado no comeo da linha, assumida a mesma origem (especificada pelo caractere
e a classe (IN). Tipos de registro comuns so:
148

Tpico 207: Domain Name Server

NS: Especifica qual dos registros o servidor de nomes do domnio, tambm


citado no registro SOA;
MX O servidor de email para o domnio. Pode haver mais de um servidor
de email para o domnio, sendo suas prioridades determinadas pelo nmero
esquerda do nome do servidor. Valores menores indicam maior prioridade;
A: Mapeia o nome especificado esquerda para o IP especificado direita. A
origem (domnio) automaticamente adicionada ao nome, pois est implcita
na entrada (ex.fiyd=fioyd.gink.go);
CNAME: Cria um alias, especificado esquerda, para um nome j definido
em outro registro. No pode haver alias para um registro NS;
PTR Mapeia um nmero IP para um nome. Utilizado para DNS reverso,
que veremos a seguir.

DNS reverso
Alm das zonas para traduzir nomes para nmeros i, praxe criar zonas para traduzir nmeros IP para nomes, processo chamado DNS reverso. Para isso, deve ser
criada uma zona especfica no arquivo named.conf que aponta para outro arquivo
de zona:
options (
directory /var/named";

zone '." IN {
type hint;
file "root.hints';

zone qjnk.go" 1H E
type niaster;
file "gink.go.zone";
zone "0.168.192.in-addr.arpa" 1H {
type master;
file "db.192.168.0.inaddr.arpC:
aflow-update 1 none; );
1:
149

Certificao LPI-2

O registro em destaque especifica a zona reversa. O nome da zona reversa comea


com o trecho do IP referente rede, escrito de trs para frente, seguido do termo
in-ae/drarpa, que determina tratar-se de um registro de DNS reverso. Portanto, o
registro mostrado converter em nomes IPs que comecem por 192.168.0. As demais
opes, como tipo, nome de arquivo etc., obedecem s mesmas regras do DNS.
O arquivo de zona para o DNS reverso praticamente idntico ao do DNS
convencional:
$TTL3D
1W

SOA

floyd.gink.go. hostriiaster.gink.go.
serial
2007060402
refresh (8 horas)
28800
7200
retry (2horas)
2419200
expire (4 semanas)
minhrnum (1 dia)
86400

NS

floyd.gink.go.
floyd.gink.go.
harnilton.gink.go.
felix.ink.go.
emily.gink.go.

1
2

PTR

PTR

11

PTR

PTR

A nica diferena encontra-se nos registros de nomes. Aqui, a origem tambm est
implcita, sendo necessrio apenas especificar o trecho do IP especfico do host. Por
se tratar de uma resoluo reversa, usado um registro do tipo P11, seguido do nome
para o IP especificado.
Um detalhe importante que o nome dos hosts precisam ser completos, incluindo
o domnio e o ponto no final. Isso evita que o DNS reverso interprete a origem (que
aqui O. 16&192.in-adzir.arpa) como sendo o domnio.
Para que as novas configuraes tenham efeito, necessrio reiniciar o servidor de
nomes. O procedimento pode ser feito via scripr de inicializao ou simplesmente
enviando o sinal HUP para o processo:
killall -HUR named
Conforme j foi colocado, o comando mdc tem a finalidade especfica de controlar o daernon naniedem execuo. Para recarregar as novas configuraes e arquivos
de zona, utiliza-se mdc reload.
150

Tpico 207: Dornain Narne Server

Servidores escravos
Para aumentar a disponibilidade do servio, recomendvel criar um servidor DNS
escravo, de preferncia numa localizao fsica distante do servidor primrio, para
evitar que panes eltricas, por exemplo, afetem ambos.
A entrada em narned . conf para definir um servidor escravo pode ser escrita da seguinte forma:
zone gink.go 1
type save;
fe db.gink.qo";
,asters
192.168.0.1; 1;

O servidor escravo armazenar os registros da zona gink.go a partir de um processo


chamado transferncia de zona. O arquivo de zona no servidor escravo possui apenas
o registro SOA:
SOA

floyd.gink.go. hostr'aster.gink.go.
2007060401
; sera1
28800
; efresh (8 horas)
retry (2 horas)
7200
2419200
; expire (4 se'lanas)
86400

; - ri"r (1 d 1 a2

A zona s transferida se o nmero serial do servidor escravo for menor que o


nmero serial do servidor primrio. O valor refresh especifica o intervalo em que o
servidor escravo verificar atualizaes de registro no servidor primrio. Se o servidor
no puder ser contactado, sero feitas novas tentativas a cada intervalo especificado
no valor de retry. A zona deixar de existir no servidor escravo se o servidor no
puder ser contactado at o final do perodo limite especificado no valor expi re. O
kimo valor, minimum, determina o perodo mnimo que a zona deve permanecer no
servidor escravo. Por padro, todos os valores so expressos em segundos. Para alterar
a unidade de tempo, basta utilizar um sufixo como H (hora), D (dia) ou W (semana). Por exemplo, 2H (duas horas).

151

Certificao LPI-2

Redirecionamento de servidor
Um redirecionamento simplesmente transfere todas as solicitaes feitas ao servidor
para outro servidor DNS, armazenando os resultados temporariamente para agilizar
futuras solicitaes, semelhante a um servidor caching-only. Para redirecioriar qualquer solicitao, basta criar a seo options em nanied.conf da seguinte forma:

E:

options
di rectory "fvarfnamed/":
forwarders t
200, 192. 140. 21;
200.192.143.5;

Sero utilizados os servidores especificados na opo forwarders. Para que apenas


solicitaes para uma zona especfica sejam redirecionadas, o tipo da zona deve ser
especificado como forward:
zone 'gink.go' JN 1

type forward;
forwarders (
200. 192. 140. 21;
200.192.143.5;

Os servidores de destino das solicitaes devem ser especificados da mesma forma,


na opo forwarders.

Diagnstico do servidor
Agora o servidor DNS j pode ser testado para encontrar possveis problemas. Para
uma checagem simples, pode ser usado o comando host. Mas antes, no se esquea
de alterar os dados do servidor de nomes em /etc/resolv,conf para o servidor que
voc acabou de configurar. Feito isso, utilize o comando host para um dos nomes
registrados na zona criada:
# host felix
felix.gink.go has address 192.168.0.4
152

Tpico 207: Domain Name Server

Testando o DNS reverso:


Post 192.168.0.4
43.168.192Jn-addr.arpa domatn narie pointer feiix.gink.go

Pde ser verificado que tanto o DNS convencional quanto o DNS reverso esto
ftincionando, ao menos para o nome e IP do hostfetix.
Para evitar alterar o arquivo /etc/resolv.conf e obter informaes um pouco mais
detalhadas, basta fornecer tambm o nome do servidor DNS ao comando host:
# host www f'oyd.gink.go
dsing domain server:
Mame: floyd.ginK.go
Address: 192.168.0.1#53
Ai iases
www.gink.go is an a'.ias f or hamiton.ginK.go.
harilton.gink.go has address 192.168.0.2
Jsing domoin server:
Mame: floyd.gink.go
Address: 192.168.3.1#53
Ali ases:
www.gnk.go is an aias for har.i'ton.gik.go.
Us 1 ng do-ain server:
Nare: floyd.gink.qo
Address: 192.168.0.Ij53
Ai 1ases:
www.gink.qo is an alias for hariilton.gnk.go.
Pela sada podemos verificar, entre as informaes mostradas, que o hosr www.

gink.go trata-se de um alias para o host hamilton.gink.go.


Uma ferramenta especfica para diagnstico de servidores DNS o comando di g
(Domain Informarion Groper). Apesar de possuir vrias opes, que podem ser consultadas na pgina manual do comando, a forma mais usual de invoc-lo dig @servidor domnio tipo. O servidor DNS, especificado pelo caractere @, ser consultado
peio domnio e tipo dc registro. Exemplo de utilizao do dig:
153

Certificao LP!-2

# diq SflDyd

nk.qo ANY

>) 310 9.3.2-PI <O)

f'oyd qink.gc ANY

1 er er founG
obai optons: prntcrd
Sor. dflSWCfl
HEAOER- Dpcode: OUERY, stetus: NOERROR. d: 28285
fidys: jr dd rd ra; 3UERY: 1, ANSWER: 3, AdTHORi': 3, Au:T13NAL; 2
UGES'ION SECTION:
1H

ANY

fl

SOA

f 1 oyd.girk.qo. hostraster.qnx.go.

IN

NS

floyd.qink.go.

759200

EM

MX

10 fe1 4 x,9 4 nK.90.

fllyd.gink.qo.

259200

tN

192.168.0.1

feIx.gnk.go.

259200

EH

192.168.0.4

;ginK.go.
ANSW[R SECTION:
gink.qo.

259200

2007060402 28800 7200 2419200 86400


gnk.go.
qinx.gu.

259203

;; ADOITIONAI SECTION:

5uery tire: 3 msec


SERVER: 192.168.0.1#53(192.168.3.1)
IHEN: Mon Jun 4 15:44:09 2007
MSG SUE rcvd: 146
A sada dividida em sees. O campo status da seo HEADER nos permite verificar
se foram encontrados erros no servidor DNS. A seo 0UESTION mostra que tipo de
requisio foi feita ao servidor. A resposta mostrada na seo ANSWER. A seo ADOU
TIONAL mostra os endereos dos nomes exibidos em AHSt4ER.
Outra ferramenta o comando nsl ookup. O ns!ookup trabalha de duas formas: interativo e no-interativo. Usado sem argumentos, o nslookup entra em modo interativo:

# flsloOkup
)

Dessa forma, ser utilizado o servidor de nomes especificado em /etc/resol v conf.


Outro servidor pode ser especificado da seguinte forma:
154

Tpico 207: Domain Name Server

Note que h um espao entre o trao e o nome do servidor. A maneira mais simpies de utilizar o modo inrerativo simplesmente fornecer um nome a verificar
pressionar [enterl:
> hamiltcn
Server:

192.168.0.1

ddress:

192.168.0.1j153

Mame:

harnilton.gink.go

ddress: 192.168.0,2

>
Para pesquisar uni nome no modo no inrerativo, podem ser fornecidos o nome c
o servidor como argumentos para o nsiookup:
1! nslookup felix floyd
Server:

floyd

Address:

192.168.0.1#53

Nanie:

felix.ink.go

ddress: 192.168.0.4

No caso de os diagnsticos no poderem ser realizados corretamente, conveniente verificar se configuraes indiretas esto correras, como as configuraes de rede e
bloqueios por firewall. O

207.3 Segurana de DNS


Peso 2

LI

Uma quantidade muito grande de perigos vm tona quando um servidor DNS


comprometido. Alm das consequncias mais bvias, como a impossibilidade de
acessar a mquina diretamente por seu nome, o mais grave acessar uma mquina
que tenha maliciosamente tomado o nome de uma mquina autntica. Essa tcnica,
155

Certificao 191-2

conhecida como DNSpoisoningou envenenamento de DNS, permite clonar um site


e conseguir informa5es pessoais, como os dados bancrios do usurio.
Isso acontece porque o usurio acredita tratar-se de uma mquina conhecida, dado
que o endereo utilizado para acess-la o endereo correto, mas que est apontando
para um IP incorreto.

Enjaular o servidor
Alm da possibilidade de alterar o IP de um domnio, os servidores DNS tradicionais
podem abrir brechas para que invasor obtenha acesso ao servidor. Para evitar esse tipo de
problema, o servidor DNS pode ser executado num ambiente isolado, onde s existam
os componentes necessrios sua execuo. Esse ambiente denominado jauLa chroot.
Esse processo ajuda a garantir a segurana do servidor BIND, colocando-o numa
"gaiola" que limitar o estrago caso o servidor seja comprometido. Junto com a restrio a arquivos e diretrios, o servidor deve ser executado por um usurio sem
privilgios de root.
Por exemplo, o daemon named pode ser iniciado como processo do usurio noprivilegiado bind, tendo como diretrio raiz /var/nained:

namea -u bind -t /var/narned

Para que a jaula chroot funcione, necessrio adaptar algumas variveis na configurao do BIND. O diretrio raiz enxergado pelo daemon named ser /var/named,
portanto, necessrio indicar corretamenre a localizao de arquivos e direrrios,
como o diretrio dos arquivos de zona e do arquivo de PID.
DNSSEC
As transferncias dc informaes entre servidores DNS podem ser autenticadas por
meio de uma chave criptogrfica do DNSSEC, um complemento do BIND.
A chave gerada como comando dnssec-keygen. Diferentes algoritimos podem ser
escolhidos. No exemplo, as chaves sero geradas no diretrio /var/named:
*

# cd /var/named
?t anssec-keygen -a DSA -b 768 -r /dev/urarnaor

ZONE ginK.go

A opo -a especifica a criptografia utilizada, a opo -b o tamanho da chave, e -r


a fonte da dados aleatrios para gerar a chave (se - r no for fornecido, o teclado ser
usado como fonte de dados akatrios). A opo -n especifica qual o tipo do dono da
chave (ZON/5). Por fim, especificado um nome para a chave (gink.go).
156

Tpico 207:

Domain Name Server

Terminada execuo, ser emitida uma resposta no formato Knnnn. +aaa+iiiii. Os


elementos significam:
nnnn: Nome da chave;
aaa: Representao numrica do algoritimo;
iiiii: Identificao da chave (ou impresso digital).
Neste exemplo, foram gerados dois arquivos: Kgink.go.+003+47654.key e Kgink.
go +003+47654. pri vate. O arquivo .kty deve ser mencionado no arquivo da respectiva
zona, por meio de unia instruo sinclude no final do arquivo:
$include KginK.go.+003+47654.key
Feito isso, a zona deve ser assinada com o comando dnssec'signzone:
dnssec-s 4 9nzone -r /dev/urando" -o gnk.go db.qink.go 1(9 4 nk.go.+:303+47654
A opo -o define a origem do arquivo de zona. Se no for especificada a chave, sero utilizadas as chaves mencionadas no arquivo de zona. O arquivo de sada
db.gink.go.signed ser criado. Este arquivo dever ser especificado no registro da zona
em naned.conf:
zone "gin.go' IN
type "'aster;
f'e "db.ginK.go.signed";
allow-update [ none; 1;

Tambm sero criados arquivos dsset e keyset, utilizados para o administrador da


zona superior saber quais chaves so o ponto de entrada seguro para a zona.
Os servidores DNS que buscam dados no servidor onde o DNSSEC foi utilizado
podero agora validar os dados por meio da chave pblica contida no arquivo Kgink.
go.+003+47654.key. Essa chave deve estar presente na entrada trusted-keys do arquivo
named.conf. A entrada trustcd-keys obedece seguinte sintaxe:
trusted keys
st ri g nu'ber nurber ru':ber st ring
striig number number nunber string

157

Certificao LPI-2

A entrada trusted-keys pode conter vrias entradas de chaves. Cada campo da entrada de chave corresponde ao nome do domnio, opes, protocolo, algoritmo utilizado e o cdigo da chave gerada. Todos esses dados esto contidos no arquivo ,key.
No caso do exemplo, o registro rrustcd-keys ficaria da seguinte forma:
trusted-keys 1
"gink.go." 256 3 3 "BPCBhyXf5G8TrgNikGbTVRTipzpo5ldQtOROv3viRF81j7Je2NKI
oJ Gy[0/hmmGHRw4LsOuHLeOasRAFqz3IKIFh3JIJpH3b8KYoebkPaDk68zo Fph/KknxTAr3aUxPrnzM
KfkDzfHnfe2izxLhzfZp52MefdevbuMhusD5B m54RMK5hsOrajpd8ew3117RD6WxHxb5KBhr9lqVEakL
DcPnBG7fC0K9J1 bG6ynKd8iZKjZHgn5VelvQh4az72SC[nkhijc6nikvuzing+63PXtedw9 IJa!
XULeqSiMydmZkR/TvZtXlQnxObOOACSHwz03W0SWvruOz6R9rnjGY oSyhsAbnEx3HE[Twn89GyJMKtYA
sBHsTqAJyKgOMPx30YOVSPCQ/ThOX 0u1ozYEL3HnUqx5P5PX";

Restringir acesso
possvel restringir totalmente o acesso ao servidor de nomes a uma rede ou a um
host especfico por meio da opo ai iow-query:
aiiow-query [

192. 168.0. 0/24;

Essa opo pode ser definida tanto na seo options quanto numa entrada de zona.
Se definida em ambos, prevalecer para a zona as regras nela especificadas. Podem ser
especificados mais de um endereo de rede ou hosi.
Para restringir transferncias de zona entre servidores - alm dos comandos como
dig e nslookup, pode ser utilizada a opo aliow-transfer, tia seo options:
aliow-transfer (
192.168.0.2;

Como mais de um endereo pode ser especificado para a opo allow-query, basta
O
separ-los por ponto-e-vrgula ";".

158

if

Exercicios

Certificao 121-2

Questes Tpico 207


O principal arquivo de configurao do servidor DNS bind o:
a. bind.conf
b. named.conf
e. bind.cf
d. named.cf

2. A entrada que determina uma zona caching-only :


a. type cache;
b. typc mime;
e. type roor;
cl. type hint;

3. Em qual seo do arquivo named.conf definido o diretrio dos arquivos


de zonas?
a. files
b. zones
e. options
ci. include

4. O comando ________ tem a finalidade de controlar a operao de um dacmon


named em execuo.

5. Qual entrada num mapeamento de zona identifica o servidor de email para o


domnio em questo?
a. MA1L
b. CNAME
c.MX
ci. INBOX

6. Num arquivo de zona, a enttada _________ mapeia um nmero IP para um nome.

160

Tpico 207:

Demain Name Server

O termo in-addr.arpa no arquivo named.conf determina que a zona em questo:


a. vlida na Internet.
b. vlida na rede interna.
e. para resoluo de DNS reverso.
d. est em outro servidor.

S. Quais comandos permitem o diagnstico detalhados de um servidor DNS? Marque todas as opes corretas.
a. nslookup
b. ping
e. dig
d. nmap

9. Um DNS Jail (chroot) ou Jaula DNS o modelo no qual


a. o servidor DNS fica numa mquina remota.
E. o servidor DNS fica inacessvel.
c. o servidor DNS identifica o invasor e informa a polcia.
d. o servidor DNS opera num ambiente isolado do restante do sistema.

10. O comando
tem a finalidade de getar chaves criptogrficas
para troca segura de zonas entre servidores DNS.

Peso total do tpico


' naprova:6
\\

Principais temas abordados:


O servidor HTTP Apache;
Utilizao de um certificado de segurana;
Conhecimento bsico de proxy.

Certificao LPI-2

208.1 Implementando um servidor Web


Peso 3
O Apache, o servidor HTTP mais utilizado no mundo, acompanha todas as distribuies voltadas para servidores. A instalao a partir do cdigo fonte rara, pois os
pacotes pr-compilados disponveis atendem grande maioria das necessidades.
Na verso lx do Apache, o funcionamento padro estava atrelado a um processo
por requisio, o que provocava mal uso dos recursos. O programa servidor replicava
vrias cpias de si mesmo quando iniciado. Isso significa que o programa servidor
iniciado, chamado processo "pai", cria vrias cpias de si mesmo, chamadas processos
"fiihos". Cada um dos processos filhos atua como um servidor independente. Dessa
forma, se um dos processos se tornar instvel, pode ser terminado sem prejudicar os
demais, e o servidor continuar operando. No entanto, a estratgia de utilizar vrios
processos filhos como servidores afeta a performance do servio. Processos independentes no podem compartilhar funes e dados diretamente, o que aumenta o consumo de recursos do sistema.

Apache 2.x
Na verso 2.x do Apache, a arquitetura de processamento das requisies foi abstrada para mdulos servidores especiais, chamados Multi Processing Modules (MPMs).
isso significa que o Apache pode ser configurado para operar como servidor baseado
em processos, com chamadas internas (thread4 ou uma mistura dos dois. Chamadas
internas que acontecem dentro de um nico processo trabalham mais eficientemente
que processos isolados. Diferentemente destes, chamadas internas podem compartilhar funes e dados; por isso todo o processo consome menos recursos, tornando-se
mais gil. Porm, se urna chamada interna provocar urna falha, todo o processo em
questo pode ficar comprometido.

Configurao
A localizao padro para os arquivos de configurao pode ser /etc/apache, /etcl
httpd ou /etc/apache2. No Apache 2.x, o principal arquivo httpd.conf, apache.conf
ou epache2.conf. Na maioria dos casos, a configurao segmentada em arquivos
externos, principalmente quando mais de um sire hospedado no mesmo servidor.
Via de regra, os arquivos de configurao de mdulos e sites individuais ficam
em arquivos separado, nos diretrios rnodsavai1ab1e e sites-available, dentro do
diretrio de configurao do Apache. Esses direrrios apenas abrigam as configuraes. Para ativ-las, basta que se crie um link simblico para elas nos diretrios iiodsenabled e sites-enabled.
164

Tpico 208: Web Services

Algumas configuraes fundamentais para um site simples do Apache:


Server Type valor. Define se o httpd deve rodar separado ou invocado pelo
daemon ineteL O valor pode ser standa fone ou inetd Por padro, o apache
opera no modo standalone,
ServerRoot caminho: Define o diretrio onde esto os arquivos de configurao do Apache;
Pie/File caminh Define o arquivo que armazenar o valor do PID para o
processo httpd pai. O padro /var/run/httpd.pid;
ServerAdmin email: Endereo de email do administrador do servidor, para
onde devero ser encaminhadas as informaes de erro;
DocumentRoot caminhcr Caminho do diretrio que armazena os documentos
disponibilizados no site. Geralmenre /var/www ou fvar/www/htdoc;
Servername www.nome.com: Nome do sire, o domnio registrado por onde o
site poder ser acessado;
Loaa'Modul.e nome camin/nz Carrega um mdulo DSO (Dynamic Shared
Object). Mdulos adicionam novas Funcionalidades ao Apache, como suporte
a CGI, autenticao, scripts etc. O caminho escrito a partir do caminho
definido em ServerRoot
AddModule modufo.c Ativao dos mdulos estticos e externos. Utilizado
para definir a ordem correta de carregamento dos mdulos;
Port porta: Define a porta onde o servidor escutar. Dificilmente ser diferente de 80;
User usurhz Usurio dono do processo servidor;
Group grupc Grupo dono do processo servidor.
Essas so as opes bsicas de um arquivo de configurao do Apache, que podem
estar presentes no arquivo de configurao principal ou no arquivo de um domnio
virtual. Exemplo de um arquivo de configurao simples:
ServerType standa'.one
ServerRoot 'Vete/apache?"
PidEile /var/run/httpd.pid
Score8oardF1e /var/run/httpd.scoreboard
ilmeout 300
KeepAl ve On
MaxKeepA tvekequests 100
KeepAl ivetirneaut 15
MinSpareServers 5
I'laxSpareServers 10
165

Certificao LPI-2

StartSeryers 5
MaxCiients 150
MaxRequestsPerChild O
LoadModue vhost

'odu'e

bexec/apache/rou vhust a'ias.so

LoadModue env_module

1 Dexec/apache/ruo env.so

LoaaModtfle aefine roaule

ibexec/apache/rod define.so

(..j
ClearMoau 1 elist
AddModule rnod_vflostjl as,c
AddModule 'md env.c
AddModule 'cd deflne.c
Addt4odule 'cd 1 og cong.c
AddModule od mime 'iaglc.c
AddModule md "ime.c
AddModule tcd negotiaton.c
AddModule 'odstatus.c
Port 80
User nobody
Group nobuay
ServerPdnh 1squeiranuxnewredia.couor
Servernaie zycn
DocunentRcot /var/www/htdacs"
(Drectory 0
Options f31owSyoi1inks
AMowOverrae None
</9i rectory)
<flrectory '!var/www/btdocs>
0ptons Tndexes Fo'owSymLnks Mult'Views
A1iowOverrQe A'!
Order 'lDw,deny
A1ow fror aU

<12

ectory>

AccessF'eName .taccess
<Hes Order '1,aeny
Deny fro, '
Satsy AU
</H es>
166

Tpico 208: Web Services

Neste exemplo de arquivo de configurao so utilizadas algumas opes que influenciam na performance do servidor e ajudam a manter a acessibilidade do servio
oferecido. Normalmente, essas opes no precisam ser alteradas de seus valores originais. A seguir, a descrio das principais citadas.

Timeout: impo limite de espera para receber uma requisio GET, dados
via POST ou PUT e intervalo entre ACKS em transmisses de pacotes TCP
em respostas;
KeepAtive Permite que mais de uma requisio seja realizada em uma nica
conexo;
MaxKeepAliveRequest.r. Nmero mximo de requisies numa mesma conexo. O, no estabelece limite;
KeepAtiveTimeout Intervalo, em segundos, da ltima requisio at o fechamento da conexo. Um valor alto manter o processo servidor ocupado e
poder causar pouca responsividade num servidor muito acessado;
MnSpareServerr Nmero mnimo de processos servidores inativos, aguardando conexo;
MaxSpareservers Nmero mximo de processos servidores inativos. Se este
nmero for ultrapassado, processos inativos excedentes sero finalizados;
MinSpareThreaels Nmero mnimo de threads servidores inativos, aguardando conexo;
MaxSpareThreads: Nmero mximo de threads servidores inativos. Se este
nmero for ultrapassado, threads inativos excedentes sero finalizados;
StartServer.r. Nmero de processos filhos disparados inicialmente mais o
servidor principal;
MaxCIientr Total mximo de processos servidores;
MaxRequestsPerChil4' Nmero mximo de requisies que um processo
servidor filho poder receber. Se o nmero for atingido, o processo filho ser
finalizado. O valor O torna ilimitado.
Na verso 2.x, o Apache pode operar baseado tanto em processos quanto baseado
em threads. Portanto, possvel definir diversos processos servidores e cada um deles
operando com diversos threads servidores.

Ativao de mdulos
A estrutura do Apache modular, ou seja, cada recurso extra do servidor pode ser
ativado por meio de um elemento externo. o caso do suporte s linguagens de
script como PHP e Python.

Certiflcao LPI-2

Da mesma forma que a configurao de cada domnio virtual fragmentada em


arquivos individuais, os arquivos de incluso e configurao dos mdulos tambm
so feitos parte do arquivo de configurao principal. importante lembrar que a
separao da configurao em diversos arquivos opcional. Toda configurao pode
ser feita num nico arquivo ou feita em vrios arquivos anexados configurao
principal, por meio da instruo include.
Um mdulo extra deve ser instalado com as ferramentas tradicionais da distribuio ou, caso necessrio, compilado a partir do cdigo fonte. importante verificar se
os links simblicos para os respectivos arquivos do mdulo - por exemplo, php5 . conf
e php5.1oad - esto presentes no diretrio /etc/apache21rnods-enabled.
Qualquer mdulo adicionado no diretrio mods-enabled s ser ativado aps reiniciar o Apache, o que pode ser feito com o comando apache?ctl restart.

Restrio de acesso
O Apache pode criar restries de acesso simples, exigindo autenticao por login e
senha para determinados arquivos e diretrios fornecidos pelo servidor. Uma configurao tpica :
<Directory / >
Options FoliowsymLinks
Miowverride None

<IDI rectory>
O diretrio em questo especificado na abertura da seo. No exemplo, trata-se
do diretrio raiz (<Directory / >). A opo FoiiowSymLinks orienta o Apache aobedecer os links simblicos no diretrio. Ai 1 owverri de especifica se pode ser utilizado um
arquivo . htaccess no diretrio (bloqueado no exemplo mostrado).
Criado na base do diretrio em questo, o arquivo .htaccess define quais sero as
restries de acesso a esse diretrio. Para utiliz-lo, dever haver uma entrada liberando essa facilidade no arquivo de configurao do Apache:
<Directory '/var/www/htdocs5
Options Indexes FoliowSyinLinks MultiViews
AiiowOverride Ali
Order aiiow,deny
iiow from ali
</01 rectory>

168

Tpico 208: Web Services

A opo Allowoverride Ai] permite a utilizao do arquivo .htaccess. As opes


vinculadas entrada Di rectory no arquivo de configurao agora podem ser definidas
para um diretrio a partir do arquivo .htaccess nele contido. Pot exemplo, por meio
da autenticao simples oferecida pelo mdulo mod_auth possvel exigir uma senha
para que o usurio acesse o contedo de determinado diretrio.
Semelhante criao de uma conta de usurio no sistema, utilizado o comando
htpasswd para criar contas de acesso ao diretrio restrito:
htpasswd -s -c /var/www!htdocs/restrito/.htpasswd isiqueira

A opo -s determina a utilizao do algoritmo SHA1 no armazenamento da


senha. A opo -c indica a localizao do arquivo que armazenar as senhas. Se o
arquivo existir, a conta ser includa. Por fim, indicado o nome do usurio. A senha pode ser indicada em seguida ou inserida interativamente, exatamente como no
comando passwd. Por ser um arquivo de senha, precaues quanto s permisses de
acesso devem ser tomadas.
Em seguida, criado o arquivo .hraccess no diretrio a ser protegido. Exemplo de
contedo bsico deste arquivo:
AuthType Basic
uthName 'Restricted rea'
AutFiIJserFile "/var/www/htdocs/restritO/.htpasswd"
Require vaiid-user
As definies mostradas so suficientes para fazer a autenticao. Como o arquivo
contendo as contas pode estar em qualquer lugar no sistema, importante fornecer
o caminho completo para ele. A opo AuthName define o texto que aparecer como
ttulo da rea restrita na janela de autenticao mostrada para o usurio. Finalizadas
as configuraes, ser exigido login e senha para todos que acessarem o caminho
especificado via servidor Apache.

Arquivos de Iog
Os arquivos de log registram todas as transaes realizadas pelo Apache e possveis
falhas relacionadas ocorridas no servidor. O log de erros definido pelo parmetro
ErrorLoq. Alm de um arquivo, pode ser especificado um conrnndo para receber os
dados sobre o erro, ou utilizado o daemon syslog.
Para definir um comando, um sinal pipe "" utilizado:

1 170

Certificao LPI-2

Errorlog

/usr/bin/main -s Erro webmasterfin1andia.orq"

Para utilizar o servio syslog do sistema, utiliza-se o termo sysi og seguido dafacitiau que ser informada ao syslog. A facilidade padro /oca17 Por exemplo, para

utilizar o syslog e a facilidade user:


ErrorLog syslog:user

Todas as transaes (inclusive imagens em pginas HTML, por exemplo) tambm


podem ser registradas num arquivo de log. Primeiro deve ser criado o formato e
definido um termo de referncia, chamado nickname, por meio da opo LogFormat:
LogForinat '1h %1 %u %t \"%r\" %>s %b" common

Cada caractere precedido de % especifica um campo da transao:


%h: Host remoto;
%1: Log remoto, se houver;
Zu: Usurio remoto, se disponvel pelo auth;
%t: Data e hora, no formato padro americano;
%r: Primeira linha da requisio;
%s: Status da requisio;
%b: Bytes enviados, exclufdos os cabealhos.
Definido o formato personalizado, a opo CustomLog define o arquivo e o nickname pr-definido:
CustomLog /var/Iogfapache/access_log common

Existem muitas possibilidades de criao de logs personalizados. Pode ser criado


um log apenas para registrar quais navegadores acessaram o ste:
LogFormat "%(User-agent)i" agent

CustcrnLog /var/log/apache/agent_log agent

Todas as alteraes feitas nas configuraes s tero efeito quando o Apache for
reiniciado. No entanto, o servidor pode ser iniciado, terminado, reiniciado e ter as
configuraes recarregadas com o comando apache2ctl, usando as seguintes opes:

Tpico 208: Web Services

apache2ctl start: Inicia o servidor;


apache2ctl stop: Termina o servidor;
apache2ctl restart: Reinicia ou inicia o servidor;
apache2ctl graceful: Inicia ou reinicia o servidor, mas aguarda as conexes
ativas terminarem;

apache2ctl configtest: Verifica se h erros de sintaxe nas configuraes.


Para evitar que conexes ativas, como a cpia de um arquivo via Internet, sejam
interrompidas para ativar novas configuraes, deve ser utilizado o comando apa-

che2ctl graceful. Dessa forma, a transferncia no ser interrompida e todas as novas


conexes j sero estabelecidas usando as novas configuraes. O

208.2 Manuteno de servidor Web


Peso 2
O servidor Apache o servidor HTTP com maior oferta de recursos, desde alteraes
no comportamento de entrega dos arquivos at o suporte a inmeras linguagens de
script. Um desses recursos a possibilidade de hospedar diversos sites diferentes,
utilizando o mesmo servidor.

Hosts virtuais
Dada a grande capacidade dos servidores modernos, comum que o mesmo servidor abrigue mais de um sire. O site solicitado pode ser identificado tanto pelo
IP quanto pelo nome do mesmo. Portanto, o host virtual pode ser baseado em IP
ou em nome de domnio. Um host virtual baseado em IP extrai este nmero da
conexo e envia o sire adequado. Um outro baseado em consulta de nomes, verifica
o nome solicitado a partir dos cabealhos HTTP e envia o site adequado. Com a
tcnica de sites baseados em nome, vrios sites diferentes podem utilizar o mesmo
endereo IR
A. principal diretiva para definir um host virtual no arquivo de configurao

<Virtualllost>. Para utilizar hosts virtuais baseados em nome, necessrio informar


ao Apache que o servidor deve trabalhar com Hosts virtuais baseados em nome por
meio da opo NaineVirtualHost:

NarneVirtualMost *

El

1 172

Certificao LPI-2

Usando o ', hosis virtuais baseados cm nome podero ser utilizados neste servidor
a partir de qualquer interace nele configurada. Pode tambm ser especificada uma
porta especfica, dispensvel se o servidor no escutar numa porta diferente de 80.
Em seguida podem ser configurados os hosts virtuais:
<VirtualHost >
ServerName www.guglio.com
DocumentRoot /var/www/guglio
<IVI rtual Host>
<VirtualHost >
ServerName www.iarru.com
DocumentRoot Jvar/www/jarru
</Vi rtual Host>

Tambm em <VirtualHost> pode ser especificado o JP e a porta. Na maioria dos


casos, apenas o * ser suficiente. Os nicos parmetros necessrios para cada host
virtual baseado em nome so ServerName e DocurnentRoot, respectivamente o nome do
site e o diretrio com contedo fornecido. Outras opes podem ser includas na diretiva <Vi rtualHost>, como ServerAl ias, que indica outros nomes por meio dos quais
o sire ser acessvel:
<VirtualHost

>

ServerName www.iarru.com
Serverlias iarru.corn *iarru com
OocumentRoot Ivar/wwwliarru
<1 Vi rtualHost>

Dessa forma, requisies para qualquer host do domnio iarru.com sero servidas pelo host virtual www.iarru.com . Como visto no exemplo, so aceitos caracteres
curinga nos nomes, como e
Hosts virtuais baseados cm IP so semelhantes. Basta indicar em <VirtualHost> o
nome ou, preferencialmente, o IP do sire:
<Virtuall1ost 192.168.02>
OocumentRoot /var/www/orcute
ServerName www.orcute.com
</Vi rtualHost>

Tpico 208: Web Services

recomendvel definir tambm outros parmetros para cada host virtual, como
e TransferLog. A maioria das definies feitas para um site nico
pode tambm ser feita para um host virtual.
ServerAdmin, ErrorLog

Conexes seguras (SSL)


O servidor Web Apache capaz de trabalhar com conexes seguras SSL (Secure
Socket Layers), assegurando a segurana e a autenticidade da comunicao com determinado servidor. Nas verses do Apache anteriores a 2.0, era necessrio obter o
suporte a SSL (mod_ssl) separadamente. A verso 2.x do Apache j inclui o moeLssh
eliminando a necessidade de instal-lo separadamente.
Quando um navegador solicita uma conexo segura - via protocolo H77'PS, que
determina utilizao da porta 443 - o navegador envia de volta um certificado.
Para garantir a autenticidade do servidor, o navegador verifica este certificado junto a uma terceira instncia, chamada CertzficateAuthoriiy (Autoridade Certificadora,
ou simplesmente CA). Algumas das Autoridades Certificadoras populares so VeriSign (Thawt4, Gec7htste GoDaddy. Se o certificado fornecido pelo site for comprovado pela Autoridade Certificadora, o navegador aceitar a conexo criptografada
como confivel.
O primeiro passo gerar uma chave privada, que ser mantida no servidor Web.
O comando utilizado para gerar a chave o openssl:
openssi genrsa des3 -out www.guglio.com.br .key 1024

Este comando gerar uma chave usando criptografia Triple DES e a gravar no
arquivo www. gugi lo. com . key. Ser solicitada uma frase de acesso para criar a chave, da
qual importante manter uma cpia de segurana.
Em seguida, necessrio criar um CerttficateSigningRequest(Pedido de Assinatura
de Cettificado). O CSR tambm criado com o uso do comando openssl:
# openssl req -new -key www.guglio.com.br .key -out www,guglio.com.br .csr
Enter pass phrase for www.guglio.com.br .key:
Vou are about to be asked to enter information tflat w11 be incorporated
into your certificate request.
What you are about to enter is what is called a Oistinguished Mame ar a UM.
There are quite a few fields but you can leave so'Te blank
For some fields there will be a default va)ue,
If you enter

the field will be left blank.

Certificao 191-2

Country Mame (2 ]etter cade) [LJ]:BR


State or Province Name (fui] name) [Some-State]:So Paulo
Locality Mame ( 9, city) []:So Paulo
Orqanization Mame (eg, company) [Internet Widgits Pty Ltd]:Linux New Media do
Brasil
Organizational Unit Mame (eg, section) E]:.
Common Mame (eg, VOUR nanle) []:wwwlinuxnewmedia.corn.br
Final] ddress []:.
Please enter the foliowing extra attributes
to be sent with your certificate request
challenge password []:
An optional company nanie []:
Alguns dados sero requisitados. Preencha-os cuidadosamente para no gerar alertas de segurana. Em Common Name, fornea o nome que deseja que aparea como
a origem do certificado. Se for o endereo do site, no escreva o http://. A chave gerada dentro do contedo do arquivo CSR, www.guglio.cora.br .csr, ser utilizada para
requisitar o certificado junto autoridade certificadora.
Como os certificados so pagos, s ser possvel prosseguir na criao do certificado depois de efetuado o pagamento. Um certificado de teste fornecido gratuitamente pela CA Thawte e pode ser utilizado por 21 dias. O CSR deve ser enviado para
a CA, que criar a chave de certificado, ao passo que o arquivo CRT - www.guglio.
com.br .crt - deve ser criado contendo a chave gerada pela autoridade certificadora.
Criados os trs arquivos, o Apache j pode ser configurado para utilizar conexes
seguras. Copie os arquivos para seu local definitivo, por exemplo /etc/ssl 1. Os itens
fundamentais no arquivo de configurao do Apache para lidar com conexes seguras so:
Li sten 443: O servidor dever escutar na porta 443 (HTTPS);
SSLEngine on ou SSLEnable: Ativa o suporte a conexes seguras;
SsLCertificateKeyFile caminho: Indica o arquivo de chave privada (.key);
SSLcertificateFile caminho: O arquivo do certificado, cujo contedo foi gerado pela autoridade certificadora.
Assim que o Apache for iniciado, ser necessrio fornecer a frase de acesso, como
informada na criao do arquivo de chave privada. Os sites configurados podero
ser acessados via HTTPS. Um site com conexo segura pode ser identificado pela
designao hups.u/e pelo cone do cadeado (figura 1).
1174

Tpico 208: Web Services

Figura 1. O protocolo https e o cadeado demonstram tratar-se de um


sue seguro.

Checando as propriedades da pgina (figura 2) podemos obter mais informaes


sobre o certificado. O

jeioInks&di Se.fln.

fdentid.d. do itt comprove5.


O ote wn ~~ com be suporta .ut.otcaflo para a pgrna
eot.di. A derdodode do suo t& corrrovado por 1tawte Corinutinq
cc. 1100 atmidzdu ceitr,cadon confiada pura esta Fnofidida

- Liuber o certhcedo de uegiwlle que conwrovi


idmtadode deste sue.
Con.x&o ccipwoc.f.d.: Cdpto;retIe de uSei. 0 IAES-25S
235 bit.)
A poro. extida Foi cnprogrsfada arfes seroansesisda pela intemer
A crniogiadis ronha insto diticd que pessoas u0o oisontedon
corrreendam nronnaies uansnnntsdas enste dois csrnpladotes
Portanto e noto isTnpt001vel que alqotn tesa. meerceptado este
pagis, quando ela foi Wansinmdu pela rede

Figura 2. Verificando as informaes


do de segurana para o domnio.

do

certifica-

208.3 Implementando um servidor Proxy


Peso 1

Um servidor proxy atua como um filtro para Web. Instalado no servidor gateway,
pode agir como um cache de contedo, b!oqueador de contedo e autenticador
de acesso. O principal servidor cache proxy para GNU/Linux o Squid.
Wrias distribuies Linux possuem um pacote Squid, facilitando a instalao.
Mesmo a instalao a partir do cdigo fonte corriquefra.

1176

Certificao IPI-2

Cache proxy
A configurao do proxy de cache muito simples. Basta editar o arquivo de configurao squid.conf e alterar poucas opes. Opes importantes no squid.conf
para um proxy de cache podem ser observadas na tabela Opes fundamentais

Cache Squid.

Opes fundamentais Cache Squid


http port
ca che_mgr
cacheeffecti ve_use
cache_effective_group

Define a(s) porta(s) utilizadas pelo Squd. A


porta normalmente utilizada 33182
O ernail do administrador do proxy
O usurio sob o qual o daemon squid ser executado
O grupo sob o qual o daemon squid ser executado

O squid no pode rodar sob usurio roor. aconselhvel criar uni usurio e grupo
de sistema exclusivamenre para este servio.
ACI
Uma ACL (Access Control Lia) a definio dc uma regra de acesso. No caso do
proxy Squid, determina permisses e limites aos usurios do proxy.
As ACL tambm so definidas no arquivo squid.conf Exemplos de ACL simples:
te] lan src 192.168.1.0/24
Essa linha define uma ACL de nome lan, que se refere a todas as requisies para
a rede 192.168.1.0124.
Para liberar o acesso para esse grupo, tambm deve-se incluir a linha a seguir:
http_access allow lan

Diversos outros tipos de restrio de acesso podem ser criadas dessa forma. possvel inclusive autorizar apenas usurios identificados por login e senha, a partir de
uma base de dados local ou um diretrio LDAP.
O

Exerccios

Certificao

LPI-2

Questes Tpico 208

1. Qual diretiva define o caminho dos arquivos de configurao do Apache?


a. ConfigDir
b. ServerType
c. ServerRoot
d. DocumentRoor

2. A opo MinSpareScrvers define


a. o nmero mnimo de processos ociosos disparados pelo Apache.
b. o nmero mnimo de threads ociosos disparados pelo Apache.
c. o nmero mnimo de domnios virtuais.
d. o nmero de servidores virtuais.

3. O comando ___________ tem a finalidade dc controlar o servidor Apache 2.x em


execuo.

4. Qual comando do Apache utilizado para criar uma conta de autenticao HTTP?
a. passwd
b. htpasswd
e. htaccess
cl. apache2ctl

5. Um registro personalizado de log pode ser criado no arquivo de configurao do


Apache com as instrues:
a. Syslog e LogFormat
b. Log e Access
c. LogError e Directory
d. LogFormat e CustomLog

178

Tpico 208: Web Services

6. Qual seo de configurao do Apache define um domnio virtual?


a. ServerHost
b. RootServer
e. VirrualHost
d. NameHost

7. O comando ___________ utilizado para gerar as chaves de um certificado SSL.

8. A porta de comunicao padro do protocolo HTTPS :


a. 80
b. 8080
e. 143
d. 443

9. Um certificado de segurana considerado vlido quando


a. for emitido por uma CA - Autoridade Certificadora - reconhecida pelo navegador
ti o certificado possui mais de 128 bits de criptografia
e. a conexo for estabelecida com um site conhecido
d. o navegador informa sobre a segurana do site

10. Na configurao do proxy Squid, a entrada http_access tem a finalidade de


a. informar qual o servidor de acesso HTTP.
Ii definir a porta de acesso do proxy.
e. controlar o acesso por htcp de uma ACL.
ci. liberar o acesso de usurios.

179

/-

Peso total do tpico


naprova:8

LTPBC 2090
\

Compartilhamento
de arquivos
Principais temas abordados:
Configurao e operao do Samba;
Compartilhamento de arquivos e
espao em disco com NFS.

Certificao LPI-2

( 209.1 Configurar um servidor Samba


Peso 4

Com o Samba possvel compartilhar recursos de servidores Linux para estaes


Windows e vice-versa, por meio dos protocolos 5MB e CIFS. Arquivos, espao em
disco e impressoras podem ser compartilhados com o Samba.
Os dois daemons responsveis pelo funcionamento do Samba so o smbd (o servidor de arquivos e impressoras) e o nmbd (servidor de nomes NetBJOS).
A configurao do Samba Feita basicamente no arquivo /etc/sarnba/smb. conf. Um
arquivo de configurao mnimo, para compartilhar os diretrios pessoais e impressoras, necessita apenas de algumas linhas:

[global]
server string - Slackware Samba Server
[homes]
comment - Nome Directories
read only

No

browseable - No
[printers]
coirnnent - Ali Printers
path

/var/5pool/samba

printable - Ves
browseable - No

Um servidor Samba configurado dessa Forma disponibilizar todas as impressoras


e diretrios de usurio na mquina. Diretrios pessoais podero ser acessados apenas
por seus respectivos donos, mediante fornecimento de senha.
Novas configuraes podem ser testadas antes de o servidor utiliz-las. Executando o comando testparni, toda a sintaxe do arquivo /etc/sambafsmb.conf ser verificada
e possveis erros sero informados. Caso nenhum erro seja informado, o servidor
Samba pode ser reiniciado para utilizar as novas configuraes.
Antes que um usurio possa acessar os servios disponveis, ser necessrio criar
uma conta especfica para ele no Samba, apesar da conta de usurio existente no
sistema. Como o sistema armazena as senhas locais num Formato criptogrfico diferente do que os sistemas Windows utilizam e enviam pela rede, no possvel fazer a
autenticao diretamente, exigindo a criao da conta tambm no Samba.
A criao da conta no Samba Feira com o comando smbpasswd. Por exemplo, para
criar uma conta para o usurio
182

bili:

Tpico 209: Compartilhamento de arquivos

smbpasswd -a bill

O procedimento deve ser realizado para cada usurio que acessar o servidor pelo
Samba. Outras opes importantes do smbpasswd:
-x nome: Exclui o usurio indicado;
-d nome: Bloqueia o usurio indicado;
-e nome: Desbioqucia o usurio indicado;
-n nome: A senha do usurio indicado ser nula. Somente ser possvel abrir o
compartilhamento se existir o parmetro nullpasswords = yes na seo [global]
do arquivo smb.conf.
-m: Indica que a conta em questo uma conta de mquina, no de usurio.
Com as contas criadas, os usurios podero acessar os recursos disponveis no servidor. Caso um usurio possua na estao um nome diferente daquele utilizado no
servidor, bastar utilizar a opo username map no arquivo de configurao do Samba.
Essa entrada determina o arquivo onde os nomes sero relacionados:
username nap - /varflib/samba/users.map

Assim, a equivalncia de nomes de usurio pode ser definida no arquivo /var/1


samba/users .rnap, no formato usu rio servidor = usurio estao. Por exemplo:
root - admin administrator

0
1 bi

Essa linha mapear os usurios admin e administrator da estao para o usurio


root no servidor Samba.
Para que o servidor Samba tambm concentre a funo de controlador de domnio, ser necessrio configura-lo como PDC.

Samba como servidor PDC


O Samba capaz de funcionar como um servidor PDC (Pritnaty Domain Contra/ter). Dessa forma, os usurios em estaes Windows que fizerem parte do domnio
fornecido pelo servidor Samba podero realizar logon utilizando as informaes de
autenticao centralizadas no servidor.
necessrio incluir alguns parmetros mnimos na seo [globa/]do arquivo smb.
conf para que o Samba funcione como um PDC:
workgroup: Define o nome do domnio. Neste caso, HOME'
logon scr4pt Script que ser executado quando o usurio se logar;
183

Certificao

1.21-2

domain kgons' Determina a ativao do login remoto para o domnio especificado acima.

Outras configuraes tambm so teis ao usar o Samba como PDC:


netbios namc Define o nome deste computador na rede Windows;
preferreul master. Essa opo determina se o servidor nmbd dever ter prioridade frente a outros servidores do mesmo grupo;
os Levei: Prioridade do servidor. 100 o nmero mximo, garantindo que este
ser o primeiro servidor solicitado (para o caso de existirem outros servidores
na rede);

logon patir. Diretrio onde sero armazenados as configuraes do Windows


para o usurio (Perfil, Desktop, menu Iniciar etc.);
logon drive Determina a letra de drive que o Windows usar para o
diretrio Home;
logon home Determina a localizao do diretrio liame quando a estao
logar no PDC do Samba.
Aim destes parmetros, necessrio incluir a seo [netiogon]. Esta seo um
compartilhamento padro para que estaes Windows identifiquem o servidor como
PDC. O nico parmetro necessrio o penh, que determina onde se encontram os
scripts dc logon. Para ambas as sees podem ser utilizados termos chave de substituio nas definies de caminho, como %N e %U, que representam respectivamente nome do servidor e usurio requisitando o servio.
As configuraes de sees [global] e fnetlogon] para um servidor PDC Samba
podem ser colocadas da seguinte Forma:
[global]
netbios name - lcnsqr
workgroup - HOME
server string - Servidor SlackwarelSarnba
domain niaster

Yes

preferred master - Yes


domain logons - ?es
os level - 100
logon path - \\%N\%U\profile
logon drive - II:
logon home - \\%N\%U \profile
logon script - logon.cmd
184

Tpico 209:

Compartilhamento de arquivos

[net'ogcn
CORt - _agin
path = /varf'ib/sarnba/netlogon
read on'y - yes
Alguns ajustes na configurao precisaro ser feitos, dependendo da verso do
Windows instalado nas estaes. Contudo, o formato geral das configuraes permanecer o mesmo.

Contas de mquina
Alm dc o usurio possuir uma conta no servidor (tanto uma conta Unix padro
quanto uma conta no Samba) e o arquivo smb.conf estar corretamente configurado, para o Samba agir como PDC o usurio root e as estaes devero possuir
contas no servidor.
Ser necessrio incluir o usurio root no Samba para quando a estao for ingressar no domnio, o que requer permisses extras. Incluir o root no Samba to
simples quanto incluir qualquer outro usurio:
srbpasswd -a root

A conta para a estao chamada conta de mquina. um procedimento necessrio apenas quando o Samba age como PDC. Primeiro, deve ser criada a conta Unix
para a mquina:
passwd -s fbinffalse -d /dev/null winxp-01$

Obrigatoriamente, contas de mquina devem terminar com o caractere $ para


diferenci-las de contas de usurio. Por no se tratar de uma conta de usurio, o login de uma conta de mquina pode ser desabilitado. Inclusive, o shell padro para a
conta de mquina pode ser direcionado para /bin/false eo diretrio para /dev/null.
Outra precauo bloquear a conta com a opo -1:
passwd

winxp-01$

O prximo passo incluir a conta de mquina no Samba com o uso do seguinte


comando:
srbpasswd -- -a w1nxp-01

$
185

1186

Certificao

IP!-2

Neste caso, no deve ser includo o caractere $ ao nome da estao, pois a conta de
mquina especificada pela opo -m.

Scripts de logon
Os scripts de logon podem ser utilizados para fazer ajustes no ambiente das estaes.
Eles devem ser criados no caminho indicado pelo parmetro path da seo [netiogon]
em smb.conf (no caso do exemplo, /var/lib/samba/netlogon). Um script de logon simples e comumente usado contm o comando:

NET USE H: JHOME

Este arquivo mapear o hoine do usurio para a unidade h: na estao Windows. O


arquivo de script deve ser salvo com o nome indicado pelo parmetro logon script da seo [global] em smb.conf (no exemplo, logon.cmd). Por se tratar de um script Windows
(.cmd ou .bat) que ser executado na estao, importante que obedea s quebras de
linha. Para isso, uma opo criar o arquivo no prprio Windows, num editor como o
Bloco de noras. Em seguida, o Samba deve ser reiniciado para desempenhar suas novas
funes e assim que a estao for configurada para ingressar no domnio controlado pelo
Samba, a conta de usurio remota poder ser utilizada pata logar na estao.

Samba como servidor Wins


O Samba tambm pode atuar como um servidor de nomes NerBIOS, servio conhecido como servidor Wins, por meio do daemon nmbd. Apesar de compartilharem o
mesmo propsito, um servidor de nomes NetBIOS no o mesmo que um servidor
de nomes DNS. O servidor Wins atua apenas em redes Windows e no indicado
para redes grandes. Para ativar o Samba como um servidor Wins, o parmetro win:
suppon deve estar presente na seo [global] na seguinte forma:
wins support - yes

O mapeamento de IP e nomes feito a partir do arquivo I mhosts, por padro localizado em /etc/saniba. Este arquivo muito parecido com o /etc/hosts do GNUJ
Linux, no qual o IP seguido do nome da mquina. Exemplo de lmhosts:
192.168.1.1

lcnsqr

192.168.1.2

winxp-01

O servio Wins pode ser investigado com o comando nrnbl ookup:

Tpico 209: Compartilhamento de arquivos

#nlockup -8192i68;L255 flcnsqr'


querying icnsqr on192.168.I.255
192.168.1.1 lcnsqr<OO>

A opo -B especifica para qual endereo de broadeasta solicitao deve ser enviada.
A opo -w dorninio especifica um domnio de grupo diferente do indicado em smb . conf.
Outro comando do Samba com propsito de inspeo o srnbstatus. Este comando utilizado para listar a utilizao atual dos compartilhamentos do Samba.
Parmetros comuns para o smbstatus:
-p: Lista os processos ativos do Samba;
-5: Lista os compartilhamentos sendo utilizados;
-u usurio: Mostra apenas informaes referentes ao usurio especificado.
O smbstatus pode ser til em checagens peridicas e em identificao de situaes
crticas. Com ele, possvel identificar se o servidor pode ser reiniciado sem prejudicar um usurio utilizando o recurso.

Cliente Samba
Alm de atuar como um servidor, o Linux tambm pode utilizar compartilhamentos
de outro servidor Samba ou de um servidor Windows. Para verificar os compartilhamentos disponveis, o principal comando o smbclient:
# smbclient -L \\lcnsqr -U hill
Password:
Doinain-[HQM[) OS-[Unix] Server[Samba 3.0.23c)
Sharename

Type

Coient

netiogon

Disk

Login

IPC$

JPC

IPC Service (Servidor Slackware/Samba)

hill

Disk

Uoine directory of hill

Domain-[HOME] 05-[Unix] Server-[Sainba 3.0.23c1


Server
CNSOR
WINXN01

Comment
Servidor Slackware/Saniba
[stacao Windows

187

Certificao LPI-2

Workgroup

Ilaster

HOME

LCNSQR

O comando smbclient tambm funciona como um cliente genrico para servio


SMB/CIES, como uni cliente FTP. J a identificao das impressoras compartilhadas
por Samba ou por um servidor Windows feita automaticamente pelo sistema de
impresso CUPS, que padro na maioria das distribuies Linux atuais.
Para montar diretrios compartilhados no Linux, utilizado o prprio comando
mount. Ele empregado na sua forma mais usual, sendo necessrio apenas fornecer
o tipo de sistema de arquivos (smbft ou cifi, sendo este ltimo o mais indicado em
sistemas mais recentes), o nome do usurio e a senha:
nount t srnbfs -o usernanie=bill,password-fuba //lcnsqr/bill labJ

O compartilhamento tambm pode figurar no arquivo /ete/fstab, a fim de que


seja montado automaticamente. Para evitar que outros usurios tenham acesso
senha (o arquivo fetc/fstab legvel a todos os usurios), pode-se utilizar a opo
credentiais-nome_do_arquivo, que indica um arquivo com contedo no formato:
username = bifl
password

fuba

O arquivo em questo dever ser legvel apenas ao roor, evitando que outros usurios possam ver o contedo do arquivo. O

209.2 Configurar um servidor NFS


Peso 4
Com o sistema de compartilhamento de arquivos NFS - Network File Sysi-em - possvel montar diretrios compartilhados remotos como se fossem dispositivos locais.
O NFS precisa estar habilitado no kernel, seja nativo ou carregado como mdulo,
tanto no servidor quanto no cliente.
Para montar dispositivos remotos, necessrio que o daemon portmap (rpc.
portrnap) esteja ativo no cliente e no servidor. Em geral, sua execuo controlada
por meio do script fetc/init.d/portrnap startlstoplrestart ou /etc/rc.d/rc.portmap
startJstop restart.
188

Tpico 209: Compartilhamento de arquivos

Outros daemons so comumente necessrios para servir compartilhamentos por


meio do NFS:
rpc.nfsd: Dispara os eventos controlados pelo mdulo NFS do kernel;
rpc.mountd: Responde s solicitaes de montagem;
rpc. rquotad: Controla as cotas (se houver) dos compartilhamentos;
rpc.lockd: Controle de trava para o NFS;
rpc.statd: Notificao de reincio para o NFS.
A execuo de todos esses daemons unificada por meio do script /etc/rc,d/
init.d/nfs startlstoplrestart ou /etc/rc.d/rc.nfsd startistoplrestart.

Definindo compartilhamentos
Os compartilhamentos so configurados no servidor editando o arquivo /etc/exports, que age como uma lista de controle de acesso para clientes que tentem montar
os compartilhamentos ali definidos.
Cada compartilhamento corresponde a uma linha em /etc/exports. Um compartilhamento constitudo de dois elementos bsicos: o diretrio a ser compartilhado
e um ou mais clientes que podero mont-lo remotamente. Para cada definio de
cliente, podem ser especificadas uma ou mais opes entre parnteses. No deve haver espao entre as opes em parnteses e o cliente ao qual se referem.
Exemplo de compartilhamento em /etc/exports:
/mnt1 1 vm

192.168.1.0/24(ro) 192.168.1 .12(rw,no_roosquash)

De acordo com o exemplo, o diretrio local /mnt/lvm poder ser montado por
todos os clientes da sub-rede tocai 192.168.1.0124 apenas para leitura e, para o host
192.168.1.12, ser permitida escrita no compartilhamento. Tambm pode ser utilizado o caractere curinga "" em nomes e domnios de clientes. Uma opo de acesso
importante o no_roct_squash, que permite que o usurio remoto de ID 0 (rool)
monte o compartilhamento. Essa opo especialmente til quando o diretrio local
compartilhado o diretrio raiz no cliente remoto.
As alteraes feitas ao arquivo /etc/exports s sero utilizadas pelo servidor NFS
ativo aps a execuo do comando exportfs -a. Pata desativar os compartilhamentos
em /etc/exports, deve-se executar exportfs -ua.

Acesso ao compartilhamento
No cliente, o prprio comando mount usado para montar o diretrio remoto. Por
exemplo, para montar o diretrio compartilhado no exemplo anterior num host da
sub-rede local 192.168.1.0124:

1 190

Certificao

LPI-2

mount -t nfs 192.168.1.2:fmnt11vrn /mnt/remoto

Este exemplo presume que 192.168.1.2 seja o IP do servidor do compartilhamento


e que exista no cliente o diretrio ponto de montagem /mnt/rernoto. Da mesma forma
que montagens de parties, os compartilhamentos NUS podem ser indudos no /
etctfstab ou utilizados pelo autornount, do pacote autofi.
Para verificar quais so os compartilhamentos disponibilizados pelo servidor,
utilizado o comando showmount:
/i showmount -e 192.168.11,2

Export list for 192.168.11.2:


/nnt/lvni 192.168.11.1

A sada mostra que o diretrio /rnnt/1 via est disponvel para 192.168.1.1. Outras
opes possveis para o showmount so:
-a: Mostra o host e o diretrio montado por ele;
-d: Mostra os diretrios montados por clientes.
O comando nfsstat mostra estatsticas de uso dos compartilhamentos NFS no
servidor. No cliente, pode mostrar detalhes do compartilhamento montado, com a
opo - ia:
# nfsstat -m

/mntfrernoto from 192.168.11.2:/mntflvm


Flags: rw.vers-2.rsize-8192wsize=8192,hard,proto-udp,tineo7retrans3sec=sysad
dr=192.168.11.2

O NFS conhecido por ser um sistema de compartilhamento de arquivos inseguro, haja vista a autenticao feita apenas pelo endereamento da origem. Portanto,
relevante tomar todo cuidado nesse aspecto.

tcpwrappers
Assim como a maioria dos servios no Linux, o NFS est suscetvel ao controle via
tcpwrappers. Dessa forma, possvel obter um controle mais preciso sobre quem

poder acessar os recursos no servidor. Esse controle estabelecido a partir de regras


criadas nos arquivos fetc/hosts.allow e /etc/hosts.deny.

Tpico 209:

Compartilhamento de arquivos

O arquivo /etc/hosts.allow contm as regras para os hosts que podero acessar a


mquina local. Se um host corresponder a uma regra em /etc/hosts.allow, ele ser
liberado e o arquivo /etc/hosts.deny no ser consultado.
O arquivo /etc/hosts.deny contm as regras para os hosts que no podero acessar
a mquina local. Se no constar em /etc/hosts.allow nem em /etc/hosts.deny, o host
ser liberado.
Cada regra escrita em uma linha e o formato o mesmo tanto para /etc/hosts.
allow quanto para /etc/hosts.deny:

Servio : Host : Comando


Executar comando no
caso de cumprimento
da regra (opcional)
Um ou mais endereos
ou instrues especiais
Um ou mais nomes de
daemon de servio ou
instrues especiais

Hosts podem vir na forma de domnios, IPs de rede ou IPs incompletos. Caracteres coringa "?" e "" podem ser utilizados. Instrues especiais so ALL, LOCAL,
KNOW, UNKNOW e PARANOID. O operador EXCEPT exclui um host ou grupo hosts de uma determinada regra.
Em /etclhosts.allow, por exemplo, para liberar todos os servios a todos os hosts
da rede 192.168.1.0 com exceo do 192.168.1.20:
ALL: 192.168.1.* EXCEPT 192.168.1.20

Para bloquear todos os servios a todo host que no constar em regra de /etc/hosts.
allow, bastar incluir no arquivo /etc/hosts.deny a linha ALL: ALL , determinando
todo servio e toda origem. O

191

Exercicios
.

L_____

Certificao [21-2

Questes Tpico 209


1. O compartilhamento genrico que permite um usurio acessar diretamente seu
diretrio pessoal via Samba o:
a. [users]
Ii [global]
C. [personal]
d. [homes]

2. Quais so os principais daemons de servio do Samba? Marque todas as opes


corretas.
a. sarnbad
b. smbd
e. cifs
d. nmbd

3. O comando ____________ permite testar as configuraes do Samba e informa


sobre possveis falhas no arquivo de configurao.

4. O comando que cria uma conta de usurio do Samba o:


a. useradd
b. adduser
e. sinbuser
d. smbpasswd

5. No Samba, como o arquivo /var/]ib/samba/users,map pode ser definido como arquivo de correspondncia entre nomes de usurios remotos e locais?
/var/lib/samba/users.map
a. users map
/var/lib/samba/users.iiiap
b. username map
/var/lib/samba/users.rnap
e. narnes niap
d. hoines - /var/lib/saoiba/users.map
6. O comando
-L \\ 192.168.1.77 exibir os compartilhamentos
Samba disponveis no servidor 192.168.1.77.
194

Tpico 209:

Compartilhamento de arquivos

7. Quais servios ou daemons so necessrios para que o servio NFS funcione


corretamente?
a. portmap
b. nfsd
c. inetd
d. tcpwrapper

8. Em qual arquivo so definidos os compartilhamentos NFS? Informe o caminho


completo.

9. Aps definir um compartilhamento NFS, o comando


executado para torn-lo ativo.

-a deve ser

10. Com qual comando possvel listar os compartilhamentos NFS da mquina


192.168.1.5?
a. showmount
b. mount
c. nmap
d. exportfs

Peso total do tpico


na prova: 7

Tpico 210.
Administrao dos
clientes de rede
Principais temas abordados:
Obteno automtica de IP a partir do DHCP;
Autenticao por PAM;
Cliente LDAP,

Certificao LPI-2

host felix t
hardware ethernet 08:00:27:1A:64:EB;
fixed-address 192.168.0.4;

Em relao s chaves de opo para hosts em particular, sua utilizao mais comum determinar um IP fixo para um terminal especfico, identificado por meio do
MAC address de sua interface de rede.

Boot via rede


O dhcpd oferece compatibilidade para estaes disk/ess que utilizam o sistema bootp (Bootstrap) para carregamento remoto do sistema operacional. Neste caso, devem ser fornecidas
as opes com o nome do arquivo que ser enviado para a estao e o nome de servidon
hostfeflx[
hardware ethernet 08:00:27:IA:B4:EB;
fixed-address 192.168.0.4;
filename 'vmlinuz.felix';
server-name 'floyd.gink.go";

O daemon dhcpd deve ser reiniciado para utitizar as novas configuraes. Uma
forma comum de iniciar o dhcpd :
dhcpd -If /etc/dhcpd.leases eth

A opo -f determina qual o arquivo de frases. Se no for especificada uma interface de rede, o dhcpd ser ativado para todas as interfaces ativas.
Para utilizar um servidor DHCP centralizado, fora da rede do cliente, existe a
opo relay agent, que define o d/icre/ay. Ativado num servidor da rede loca!, ele
redireciona todos os pedidos DHCP para o servidor centralizado fora da rede local.
O comando dhcrel ay pode ser invocado da seguinte forma:
dhcrelay -i ethO floyd.gink.go

A opo -i determina em qual interface o dhcrelay aguardar por requisies de


IR No comando dhcpd, se a interface no for especificada, sero utilizadas todas as
200

Tpico 210: Administrao dos clientes de rede

inrerfaces ativas. Ao final, deve ser especificado pelo menos um servidor para onde
sero encaminhadas as requisies DHCP.
Os endereos IP distribudos para as estaes podem ser conferidos em tempo real
no servidor, observando o contedo do arquivo /var/log/daemon.log.
Sep 23 11:12:53 192.168.1.250 dhcpd: OHCPOISC0VER from 00:24:03:9e:e3:12 via eth
Sep 2311:12:54 192,168.1.250 dhcpd: 0HCPOFFER on 192.168.1.144 to
'-.. 00:24:03:9e:e3:12 via ethO
Sep 23 11:12:54 192.168.1.250 dhcpd: DHCPREQUEST for 192.168.1.144 (192.168.1.250)
'-rfrom 00:24:03:9e:e3:12 via ethO
Sep 23 11:12:54 192.168.1,250 dhepd: 0HCPACK on 192.168.1.144 to 00:24:03:9e:e3:12
'aia eth
Sep 23 13:53:45 192.168.1.250 dhcpd: HCPDISCOVER frow 00:1c:d4:4e:7a:55 via ethO
Sep 23 13:53:45 192.168.1.250 dhcpd: DHCPOFF{R on 192,168,1.70 to
00:lc:d4:4e:7a:55 via eth
Sep 2313:53:45 192.168.1.250 dhcpd: DI1CPREOUEST for 192,168.1.70 (192.168.1.250)
from 00:1c:d4:4e:7a:55 via ethO
Sep 2313:53:45192.168.1.250 dhcpd: DUCPACK on 192.168.1.70 to 00:lc:d4:4e:7a:55
'-, via ethO
Podem ser identificados os endereos IP arribudos a cada endereo MAC solicitante,
O
exatamente da maneira como so vinculados na tabela ARP no kernel do servidor.

210.2 Autenticao por PAM


Peso 3
PAM, ou Pluggable uthentication Modules, pode ser entendido como uma camada
de abstrao de autenticao de usurios. Dessa forma, diferentes programas e servios podem autenticar usurios por meio de diferentes modelos de senhas e criptografias, sem necessidade de lidar com os meandros de funcionamento interno de cada
um deles. O procedimento de autenticao delegado ao PAM, que se encarregar
de fazer os procedimentos necessrios.
Grande parte das distribuies possui suporte a PAM. A instalao do PAM em
uma distribuio que no possua suporte nativo um processo pouco utilizado, pois
envolve inmeras adaptaes no sistema, o que a torna pouco aconselhvel.
201

Certificao LPI-2

Configurao
Cada programa ou servio que utiliza autenticao possui uma configurao individual no PAM, e para a localizao destes arquivos de configurao xistem duas
possibilidades. Toda a configurao pode ser feira no arquivo /etc/pam.conf ou em
arquivos individuais, no diretrio Ietcpaiiid.
O mais comum que a configurao seja feita em arquivos individuais no diretrio /etc/paru.d. Para cada servio ou programa que utiliza autenticao via PAM,
existe um arquivo que leva o nome do programa ou servio e responsvel por sua
configurao. O contedo de /etc/parn.d varia conforme os servios e programas instalados no sistema e quais deles utilizam PAM.
Cometido tpico de /etc/pam.d:
# Is -11 /etc/pam.d/
total 27
-rw-r--r

1 root root 182 2006-01-03 05:15 atd

-rw-r--r

1 root root 384 2007-02-27 04:27 chfn

-rw-r--r

1 root root 581 2007-02-27 04:27 chsh

-rw-r--r

1 root root 392 2007-05-10 18:48 common-account

-rw-r--r- 1 root root 436 2007-05-10 18:48 cornmon-auth


-rw-r- -r- 1 root root 1097 2007-05-10 18:48 common-password
-rw-r--r

1 root root 372 2007-05-10 18:48 corion-sessjon

-rw-r--r

1 root root 289 2005-10-14 09:00 cron

-rw-r--r

1 root root

-rw-r--r

1 root root 263 2006-12-15 06:16 gdm

-rw-r--r

1 root root 270 2006-12-16 09:24 gdm-autoloqin

-rw-r- -r

1 root root

-rw-r--r

1 root root 2843 2007-02-27 04:27 login

-rw-r--r- 1 root root

69 2007-02-02 11:18 cupsys

21 2006-11-24 18:43 gnome-screensaver


382007-03-07 19:30 newrole

-rw-r -----1 root root 520 2003-08-31 19:21 other


-rw-r -----1 root root

92 2007-02-27 04:27 passwd

-rw-r--r

1 root root 168 2007-03-17 19:52 ppp

-rw-r- -r

1 root root

-rw-r--r

1 root root 1272 2007-03-05 13:36 ssh

-rw-r--r

1 root root 2305 2007-02-27 04:27 su

-rw-r--r-- 1 root root

38 2007-03-07 19:30 run_init

56 2006-04-15 04:39 sudo

A sintaxe interna de cada um dos arquivos obedece sequncia Ti Controle


Mdulo Argumentos. O tipo define o tipo de autenticao usado para o mdulo. M202

Tpico 210: Administrao dos clientes de rede

dulos do mesmo tipo podem ser interligados, exigindo que a autenticao responda

Os
autenticao MM.
a vrios critrios.

principais tipos podem ser consultados na tabela Tipos de

Tipos de autenticao PAM


account

Verifica se o usurio pode acessar o servio, se a senha no expirou etc.

autn

Determina a autenticidade do usurio, geralmente via senha,


mas poda utilizar outros meios, como biometria.
Mecanismo de alterao da autenticao (provavelmente a senha).

password

Procedimentos que devem ser reaizaos antes e depois que o usurio for autenticado
Por exemplo, podem ser realizadas a montagem/desmontagem
do diretrio pessoal ou a restrio de servios ao usurio.

session

O controle especifica o que fazer dependendo da resposta do mdulo, como mosirado na tabela Controles do MM.

8 Controles do PAM
I1fflLJ9

t(Ela

Autenticao imediatamente negada, no caso de negativa do mdulo.


Autentcao recusada no caso de negativa do mduo. mas consultar os outros
mduos para o servio antes denegar completamente a autentcao.
Se a autenticao para este mdulo for bem sucedida, a autenticao ser
confirmada mesmo que mdulos anteriores tenham negado a autenticao.

requisite
required
sufficient
optional
-

A aprovao ou negao neste mdulo s far diferena


se for o nico do tipo para o servo.

O termo mdulo indica qual mdulo utilizar e opcionalmente onde encontr-lo.


Se no for informada a localizao, o PAM procurar no diretrio padro, li ib/se'
eurity ou /usr/lib/security.

O termo argumentos opcional. Representa os argumentos passados para o mdulo. Cada mdulo tem seus prprios argumentos.
Como exemplo, tomemos o contedo do arquivo login:

II

Boqueia login de root. exceto

# e!,' tty's listados er /etclsecuretty


euth

requisite pan_securetty.so

* roqueia 1:ogn de usurios deferentes de root,


# caso o arquivo 'etc/nologin exista
203

Certificao LPI-2

auth

requisite pam,_.nologin.so

# L /etc/environment. Exige o argumento readenv-1"


session

required

pam_env.so readenv-1

# Opes padro de autenticao Un*x.


@include conmion-auth
# Configura limites de usurio definidos em /etc/security/limits.conf
session

required

pamJimits.so

# Prints the last login info upon succesful login


# (Replaces the 'LASTLOG_ENAB option from login.defs)
session

optional

pam_lastlog.so

# Mostra a motd aps um 'ogin bem sucedido


session

optional

pam_motd.so

# Padres Un*x para contas e sesses

include common-account
include common-session
tincl ude common-password

Caso as configuraes do PAM no sistema sejam feitas inteiramente no arquivo pan.


conf, as entradas so um pouco diferentes. O nome do respectivo servio deve ser includo
como primeiro termo para cada entrada. Por exemplo, entrada em /etc/pam.d/login:
auth

requisite

pam_securetty.so

No arquivo /etc/parn.conf, escrita da seguinte forma:


login

auth

requisite

parn_securetty.so

Contudo, devido ao grande nmero de tipos e controles de autenticao, recomendvel manter cada configurao em seu respectivo arquivo, facilitando a eventual
edio de manuteno.
Alguns mdulos no esto diretamente relacionados a questes de autenticao do
usurio, mas so utilizados para outros tipos de definies. Por exemplo, o mdulo
204

Tpico 21 0

Administrao dos clientes de rede

pam_motd.so determina a exibio do arquivo /etc/motd aps um login bem sucedido


via terminal. J o mdulo pam_liints.so determina os limites de urilizao de recursos para o usurio, como definidos em /etc/security/limits.conf.

PAM e LDAP
A configurao do PAM para utilizar autenticao buscando as informaes num
diretrio LDAP requer o mdulo especfico pam_ldap.so.
Para que o login faa autenticao via LDAR o arquivo /etc/pam.d/login deve ser
editado da seguinte forma:
sufficient pamjdap.so
auth
auth
required pam_unix.so tryjirstpass
account sufficient parnldap.so
account required
pam_unix.so
Tambm possvel combinar com outros mtodos de autenticao, como MIS ou
e
autenticao num servidor Active Directory, a depender das necessidades da rede,

210.3 Uso de cliente LDAP

Peso 2

O LDAP (Lightweight Directory Access Protoco)) um protocolo utilizado para pesquisar e modificar servios de diretrio numa rede TCP/IP Um diretrio um conjunto de informaes - classes de objetos com atributos e propriedades, organizadas
de forma hierrquica e lgica, como num servidor DNS.
Semelhanternente a um banco de dados, um servio de diretrio remoto fornece
informaes mediante um critrio de solicitao. Porm, diferentemente de um
banco de dados, um servio de diretrio principalmente voltado para alta disponibilidade de leitura. Dados armazenados em um servio de diretrio so criados
esporadicamente e pouco modificados.
Urna utilizao tpica de um servio de diretrio o armazenamento de contas
de usurios. Neste caso, as informaes ficam dentro de uma rvore hierrquica,
onde dados como departamento e empresa esto em nveis superiores, ao passo
que dados pessoais, por exemplo, esto em nveis inferiores. Dessa forma, um
servio dc diretrio pode substituir com vantagens o sistema clssico de contas de
usurio em ambientes Unix.
205

Certificao LPI-2

A implementao do LDAP no Linux o OpenLDAP. O daemon servidor do


OpenLDAP o slapd. A conflgurao do slapd feita no arquivo slapd.conf, comumente localizado em /etc/Idap/.
O arquivo de configurao dividido em trs sees: global, funcionamento interno (backend) e configurao de banco de dados.

Configurao bsica
Para ativar um servidor LDAP simples, poucas modificaes precisam ser feitas no
arquivo de configurao. O contedo do arquivo slapd.conf pode ser editado como
os contedos comentados a seguir:
include
include
1 nclude
include

fetc/ldap/schema/core .schema
/etc/ldap/schena/cosi ne.schema
fetclldap/schema/nis.schema
Jetc/ldap/schema/inetorgperson. schema

Incorpora os padres de esquemas e definies de classes de objetos.


pidfile

/var/run/slapd/slapd,pid

Arquivo com o MD do processo servidor (slapd).


argsfile

/varfrun/slapd/sl apd.args

Arquivo contendo argumentos passados ao daemon.


backend

bdb

Define qual ser o sistema de armazenamento de dados. Pode ser ba'b, config, dns-

srv, hdb, 4dap, lafbm, 1df metA monitor, nuiL passwa per4 relay, shellou sqL
database

bdb

Incio da seo de banco de dados. Deve ser correspondente a um valor definido


numa entrada backend.
suffix

206

o-nm-br,c-BR"

Tpico 210: Administrao dos clientes de rede

O sufixo base para o diretrio no banco de dados. A ordem significarite, os nveis


so definidos da direita para a esquerda, do mais alto para o mais baixo.
rootdn

'cnadmin,olnrtbr,c-BR"

Define o super-usurio (admin) para o banco de dados definido.


rootpw

{SSHAJ rM7fwxjKoekcavEKfBzn+ovuGdr46v3h

A senha para o super-usurio. A senha pode ser digitada diretamente, mas recomendvel gerar uma senha criptogra&da (como no exemplo), atravs do comando si appas swd.
directory

'/var/iib/idap"

Diretrio onde sero armazenados os arquivos do banco de dados.


index

objectClass eq

Definio da indexao. Essas so as configuraes bsicas para um diretrio


LDAP A partir disso, possvel testar e comear a utilizar o diretrio.

Conectando ao diretrio
Para testar a configurao, pode ser utilizado o comando si aptest:

# slaptest
config file testing succeeded

Feita a configurao, o daemon pode ser iniciado ou reiniciado. Provavelmente o


slapd poder ser executado por meio de um script de inicializao:
/etcfinit.d/slapd start

Para verificar se o servidor est funcionando e respondendo, uma pesquisa simples


realizada com o comando ldpsearch, instalado com o pacote Idapscrzpts
# idapsearch -x -b

-s base '(objectc)ass_*)* namingContexts

(.4

207

Certificao LPI-2

dn:
namingcontexts: o-lnptbr,c-BR

Dessa Forma, foi possvel verificar que o servidor LDAP est ativo e respondendo.

Arquivos LDIF
Outra diferena entre um diretrio LDAP e bancos de dados a maneira como
dados so gravados. Um diretrio no possui urna inrerfiice de insero como num
banco de dados MySQL ou PostgreSQL. Em vez disso, o procedimento mais comum
de insero de dados num diretrio LDAP utilizar um arquivo LDIF (LDAP Data
Interchange Format).
Basicamente, um arquivo LDIF contm os campos e valores necessrios para fazer
a insero no diretrio. Um exemplo de arquivo LDIF simples:
dn: o-lnrn-br, cBR
objectClass: organization
o: lnwbr
description: Editora Linux New Media do Brasil

dn: cn-Editor, o=lnm-br, &BR


objectClass: person
cn: Editor
cn: Luciano Siqueira
sn: Siqueira
description: Editor Easy Linux
Este arquivo define dois objetos: o primeiro da classe organization e outro da classe
person. As siglas utilizadas representam propriedades dos objetos:
dn: distinguishedName
o: organizationName
c: country
cn: commonName
o sn: surname
Finalizada a edio do arquivo LDIF, os dados so includos no diretrio com o
comando ]dapadd, no qual exemplo.ldif o nome dado ao arquivo criado:

208

Tpico 210: Administrao dos clientes de rede

dapadd -f exrp1o.dif -x -W 0 'cnadnin,ol.r-br,c-BR'

A opo -f especifica o arquivo LDIF, -x indica autenticao simples (no lugar de

autenticao SASL), com

-w

a senha ser perguntada na sequncia e aps -D so co-

locadas as informaes do administrador do diretrio, como configuradas em slapd.


conf. Usa-se aspas simples para evitar que o bash interprete algum caractere do trecho
do comando.
A incluso dos dados pode ser verificada com o comando )dapsearch:

if Idapsearch -x b 'o1nm-br,cBR '(objectclass_*)'

# extended LDIF

if
# LDAPv3
# base <on!'br.c-BR> with scope subtree
# filter: (objectcIass_*
# requesting: ALL

# n:-br, BR
dn: o=)nmbr,c-BR
objectCass: organ 1 zation
o:

nm-br

description: [ditara Linux New Media do Brasil

# Editor, lnrn-br, BR
dn: cn4ditor.o-n:-br,cBR
objectClass: person
cn: Editor
cn: Luciano Siqueira
sn: Siqueira
description: Editor

# search result
search: 2
result. O Success
t nurRespanses: 3
# nu"Entries: 2
209

Certificao LPI-2

Normalmente a administrao de diretrios LDAP feita por interfaces mais amigveis. Contudo, importante conhecer a operao de nvel mais baixo para realizar
diagnsticos e correes.

Grupos e usurios
A administrao de usurios e grupos POSIX (padro Unix) no LDAP facilitada
com as ferramentas do pacote LDAPscrzpts. Os principais comandos so:
Idapaddgroup
Adiciona um grupo. Sua sintaxe Idapaddgroup <nome_do_grupo> [gid]. Se no for
fornecido um gid, este ser gerado automaticamente.
Idapadduser
Adiciona um usurio. Sua sintaxe l4apadiuser <nome_do_usurio> <nome_do_
grupo lgid> [uid]. O nome do usurio e o nome do grupo/gid so obrigatrios. Se
no for fornecido um uid, este ser gerado automaticamente.
Idapaddusertogroup
Inclui um usurio num grupo. Sua sintaxe Idapaddusertogroup <nome_do_
usurio luid> <nome_do_grupolgid>.
Ida paddmachine
Cria uma conta de mquina. Sintaxe: Idapadimachine <nome$> <nome_do_
grupo gid> [uidJ.
Idapdeletegroup
Remove um grupo.
Ida pdeleteuser
Remove um usurio.
Idapdeleteuserfromgroup
Exclui um usurio de um grupo. Sintaxe: ldapdekteuserfromgroup <usurio> <nome_
do_grupo Jgid>.
Idappasswd
Altera a senha de um item no diretrio LDAJ Sua utilizao semelhante utilizao do comando passwd.
210

Tpico 210: Administrao dos clientes de rede

Com esses comandos, toda a parte de administrao de usurios pode ser feita
diretamente pela linha de comando, possibilitando a manuteno no caso de no
O
existir urna interface administrativa ou se esta estiver inacessvel.

211

Exerccios

Certificao LPI-2

Questes Tpico 210


208.67.222.222, 208.67.220.220 noarquivo
A entrada opti on
dhcpd.conf define os servidores de DNS para os clientes na rede.

2. No arquivo dhcpd.conf, quais entradas podem ser utilizadas para atribuir um nmero IP fixo para uma interface especfica?
a. mac-address e fixed-ip
b. mac address e ip
c. hardware-ethernet e fixed address
d. hardware ethernet e flxed-address

3. O comando

redireciona requisies DHCP para outro servidor.

4. As atribuies de endereos IP para os clientes da rede podem ser consultados no


no servidor DHCP. Informe o caminho completo.
arquivo

5. Quais dos tipos de autenticao PAM citados so vlidos? Marque todos os corretos.
a. gerty
b. math
e. auth
d. account

6. Qual controle do PAM nega uma autenticao, independentemente da resposta de


outros mdulo pan o mesmo tipo de autenticao?
a. requisite
b. required
e. sufflcient
d. optional

determina a configurao de limites como definidos


7. O mdulo
/etc/security/limits.conf.
no arquivo
214

Tpico 21 O: Administrao dos clientes de rede

8. Qual a finalidade do comando ldapsearch?


a. Procurar registros num servidor LDAP
b. Procurar mquinas que sejam servidores LDAP
c. Verificar a configurao de um clicnte LDAP.
d. Localizar um cliente LDAP na rede.

9. O principal arquivo de configurao do daemon servidor LDAP o:


a. ldap.conf
b. Idif.conf
c. ldaprc
d. slapd.conf

10. A senha de acesso a um recurso do LDAP definida ou alterada com o comando

215

..

\
-

Pesototaldotpico
naprova:7

TPw@ MO

Servios de e-mail
Principais temas abordados:
Configurao bsica de servidor de email:
Filtros do Procmail;
Servios POP e IMAP.

Certificao LPI-2

211.1 Utilizao de servidores de email


Peso 3

Quando algum se refere a um servidor de email, provavelmente est se referindo


a um servidor SMTP - Simpk Mail Transfer Prorocol, que o protocolo utilizado
para envio de mensagens de email a partir de clientes de email e entre servidores. A
funo desse tipo de servidor, chamado MTA (Mail TranferAgent), enviar as mensagens utilizando um ou mais servidores e armazen-las em diretrios apropriados at
que outro tipo de servidor, o MDA (MailDeliveryAgent, provavelmente um servidor
POP ou IMAP), entregue as mensagens conforme a requisio. Os principais MTA

de cdigo aberto so o Postfix, SendmaiL qmaule Erim.


Sendmail
O Sendmail o servidor de email mais tradicional. utilizado h dcadas e, apesar
de no mais fazer parte de algumas distribuies, um item de software ainda muito
utilizado. Por essa razo aprendcr sobre ele continua sendo muito importante.
Por padro, os arquivos de configurao do Sendmail ficam no diretrio/etc/mali,
Os principais arquivos de configurao esto comentados a seguir:
/etc/ma/access
Ao contrrio de verses mais antigas, verses mais recentes do Sendmail no fazem
relay - encaminhamento a partir de origem externa - por padro, e emails podero
ser enviados somente a partir do host local. Para que o servidor local possa ser utilizado como servidor de email por outras mquinas, ser necessrio incluir seus nmeros
IP neste arquivo. Este arquivo tambm utilizado para verificar e liberar (ou no)
emails cujo destino a mquina local. esquerda ficam os hosts ou usurios e direita, as respectivas aes. As aes podem ser:
OK: Aceita o email para entrega local;
RELAY: Aceita o email para encaminhamento por meio deste servidor;
REJECT: Rejeita o envio do email;
DISCARD: Descarta o email sem gerar mensagem de erro. Ao vlida apenas para nomes de domnio ou endereos de email.
Depois de criar ou editar o arquivo /etc/mai 1 /access, necessrio gerar um arquivo binrio, que ser utilizado pelo Sendmail:
makenlap hash /etc/mail/access.db < /etc/mail/access

218

Tpico 211: Servios de e-mail

O comando rnakenap l as configuraes a partir da entrada padro e gera o arquivo


que ser utilizado pelo Sendmail.

/etc/mai//Iocal-hast-names
Define quais nomes sero aceitos para a mquina local.

/etc/mail/virtusertable
Mapeia mensagens recebidas para outras contas ou domnios. Pode ser usado para
mapear destinatrios invlidos para uma conta vlida. Tambm necessrio gerar o
arquivo de mapa binrio com o comando rnakemap hash /etc/mai 1/vi rtusertabl e. db

/etc/mai 1/vi rtusertabl e.

/etc/mai//genericstable
Rescreve o endereo para emais enviados. O hostname, domnio ou mesmo nome
de usurio dos emails podem ser alterados. Tambm necessrio gerar o arquivo de
mapa binrio com o comando maernap hash fetc/rai1/genericstab1e.db > /etc/mail/

generi cstabl e.

/etc/mail/genericsdomain
Informa ao Sendmail quais endereos so considerados locais.

/etc/rnail/mai!ertabfe
Direciona ernails vindos de fora. Pode ser usado alternativamente ao vinusertabie,
porque mais rpido e mais verstil.

/etc/ma!/domaintable
Mapeamento entre domnios. necessrio criar o correspondente binrio com make-

nap hash /etc(mail/domaintable.db > /etc/rnail/domaintable.


/etc/allases
Redireciona emails enviados para contas locais especificadas. A sintaxe deste arquivo
destino_original: novo_destino. Para o Sendmail, necessrio criar o arquivo binrio
correspondente com makemap hash /etc/maillaliases.db > /etc/rnail/aliases.

/etc/mall/sendmai/. cf
Arquivo de configurao principal do Sendmail. Por ser muito extenso e de difcil
leitura, mais comum lidar indiretamente com ele, por meio do programa M.

219

Certificao LPI-2

Nem todos os arquivo mencionados necessariamente existiro em /etc/mail. Suas presenas esto condicionadas finalidade do servidor de email e a como foi configurado.
A configurao feita a partir do m4 utiliza arquivo .n1c. Vrios arquivos de exempio, que via de regra podem ser instalados com o pacote sendmail -cf, podem ser
encontrados em /usr/share/sendrail /cf/cf/. Um arquivo mc simples, para uma configurao bsica do Sendmail, pode conter as seguintes opes:
inc 1 ude(..I"4Icf.'4')

RSIONlDSendmail bsico de estudo')dnl


OSTYPE( 'inux' )dnl
dnl# Protege contra pessoas tentando descobrir e' - ss
dnl# vlidos no sistema:
define('confPRVACV FLAGS', 'a u thwarnings,no v rfy,nuexpn,restrictqrun')dni
dni# Env1a os emai 1 atavs de um servidor externo:
dn 1 define(SMART UOST',raiIserver.casadofuba.co'Y
dn'# Util ira o srrsh para restringir os programas que
dnl# o Send:ar pode executar:
dnl FEATUREV5rr5h' , /usr(sbn/srrsh' )dnl
FLATURE('use cw ffle')dnl
EEATURE( 'use ct fi'e' )dnl
FEATUR[('ma"' ertabe' ,hash -o /etc/mai1!n1ai1ertabIe,db')dn
FEATJR[( vi rtusertable' . hash -o /etc/mai 1 /vi rtusertabl e.db' )dn1
FEATUREaccess db', hash -T<TMPF> /etcfta'/accessldn1
FEATURE( bi acki 1 st. recipients )dnl
FEATURE(1oca ._procmai1',',procmai1 -t -Y -a $h -d $u')dnl
FEATJRE('always ddd domain')dnl
FEATURE( redi rect' )dn
dnl# Aceita recetentes ser resolver DM5, permite muito spam:
dn FEATURE(accept unresolvabledoinains )dnl
EXPOSEDUSER( - root )dn]
dnl# Aceita emafl de loca'hostjocaldomain:
LOCAL DOMAIN('Iocahost.localoumain')dnl
MA!LR(loca )dnl
MAl L{R( sntp)dn)
!IAILER(procma 1 )dnl
A partir de um arquivo como este, que pode ser chamado de config.mc , poder
ser gerado o arquivo de configurao do Sendmail. No diretrio /usr/share/send220

Tpico 211: Servios de e-mail

mail/cf/cf, bastar executar o comando tn4 config.mc > /etc/mail/sendriail .cf. O


Sendmail deve ser reiniciado para utilizar as novas configuraes. Para reinici-lo

sem interromper o servidor, basta enviar um sinal I-IUP com o comando killall
-HUP sendmail.

Postfix
Por padro, todos os arquivos de configuraes do Postfix encontram-se no diretrio
/etcfpostfix/. O principal arquivo de configurao o main eL um arquivo muito
mais simples em relao ao sendrnail .cf. A seguir, as definies das principais opes
em /etc/postfix/eain.cf:

myorigin
Determina o domnio que aparecer nos emails enviados deste servidor. O termo

$myhostname utiliza o nome do servidor e $mydomain utilizar o nome do domnio


da mquina. Padro: myorzin = $myhostname.
mydestination
Especifica para quais domnios as mensagens recebidas devem ser entregues localmente e no enviadas para outro servidor. Se este servidor for o servidor de

emaii para todo o domnio, o valor para esta opo deve ser mydestination =

$myhostname localhost$mydomain localhost $mydomain. O valor padro mydestination = $myhostname localhost.$mydoniain /ocalhost, que no inclui o nome
do domnio,

mynetworks
O servidor aceitar emails enviados a partir de clientes dentro da sub-rede aqui especificada. O valor padro so todas as sub-redes s quais o servidor pertence.

mynetworks_style
Usada no luga.r de mynerworks, esta opo define se o padro aceitar emails de

(mynetworks_style = subne:), apenas da mquina


local (myneiworks_sty/.e = boa) ou para clientes dentro da classe IP do servidor (mynetworks_style = class).
todas as mquinas na sub-rede local

relay_domains
Define para quais domnios ser feito relay (direcionamento) de emails recebidos de
clientes desconhecidos (fora das redes autorizadas). O padro aceitar todos emails

cujos destinos estejam definidos em mydestination.


221

Certificao LPI-2

reayhost
Por padro, o servidor Postfix ir entregar os emails diretamente na Internet. Caso
no seja esse o comportamento desejado ou possvel, pode ser especificado um caminho indireto. O servidor que servir como ponre deve ser definido na opo relayhost.
Este, por sua vez, se encarregar de entregar o email na Inrernet.
Uma particularidade do Postfix que o servidor formado por vrios comandos,
invocados por usurios ou por um servio em segundo plano. O arquivo de configurao que determina quais comandos e como devem ser executados o prprio
master.cf . Tambm possvel definir domnios virtuais com os quais o Postfix deve
atuar como servidor no arquivo /etc/postfi xlvi rtual

Exim
O Exim estruturalmente semelhante ao Sendmail, no qual um nico processo
responsvel pelo controle do envio e direcionamento dos emails. O diretrio de configurao do Exim por padro /etc/exim e, apesar de variar bastante em diferentes
distribuies, sua configurao uma das mais simples. Na distribuio Debian,
por exemplo, basta responder a algumas perguntas durantes a instalao para que o
Exim funcione corretamente. J na distribuio Red 1-Tat, algumas opes devero
ser definidas no arquivo de configurao letclexin/exirn.conf , um arquivo muito bem
documentado e com vrias configuraes exemplificadas.

qmail
A principal diferena entre o qmail e os demais servidores de email percebida antes mesmo da instalao. Em virtude de restries de licena, o qmail no pode ser
distribudo em forma binria. Ou seja, mesmo que a distribuio utilizada possua
um sistema de instalao de pacotes binrios, que inclusive resolva dependncias,
apenas o pacote de cdigo fonte do qmail poder ser obtido. Portanto, o qmail precisar ser compilado antes que possa ser utilizado.
Isso no chega a ser um problema, pois a compilao e instalao do qmail no
muito diferente da compilao e instalao de qualquer outro programa distribudo
em cdigo fonte, apesar de ser necessrio percorrer alguns caminhos no usuais,
como aqueles que so descritos nas instrues de instalao.
Aps instalado, os arquivos de configurao ficaro em /varlqiiiai 1 lcontrol. Opcionalmente, pode ser criado o link simblico /etcfqmail, que aponta para o diretrio

/varlqmai 1 /control.

222

Tpico 211:

Servios de e-mail

Aspectos comuns
Cada servidor de email tem suas vantagens e desvantagens. Apesar disso, todos eles
respondem a algumas especificaes em comum, independentemente de como seja
seu flincionamento interno. Por exemplo, todos eles obedecem s regras estabelecidas
no arquivo /etc/al iases, a menos que seja explicitamente indicado para no faz-lo.
Alm disso, para todos eles o armazenamento das mensagens locais feito em Ivarl
spool/mail ou em /var/inail e os logs, especialmente teis para monitorar ertos e o
trfego de emails, so registrados nos arquivos / v ar/logfm a il*. O

211.2 Administrao da entrega local de e-mail


Peso 2

Basicamente, administrao de entrega local de email significa administrar o Procmau, o MDA (Mii1 Delivny System) mais tradicional do Linux. Um MDA responsvel por classificar e distribuir os emails entre os usurios do sistema.
O critrio mais comum de classificao de uma mensagem de email analisar a
otigem, o destinatrio, o assunto ou o corpo da mensagem.
Definidos quais sero os critrios, diferentes aes determinam qual ser o destino da
mensagem. Possveis aes incluem apagar a mensagem, redirecionar a mensagem etc. Os
principais componentes do Procmail esto na tabela Componentes do Procmail.

componentes do Procmail
/etc/procniai 1 rc
-1. procmd ii rc

/usr/bin/procmail

Arquivo de configurao geral do procmail


Arquivo que pode conter filtros especficos de cada usurios
Programa que processa as mensagens

Criando filtros
Um filtro (receipe) pode ser criado diretamente no arquivo -/ . procnia ii rc ou criado no
diretrio -!. procnai 1. No segundo caso, o arquivo de filtro deve ser mencionado no
arquivo -1. procrnai 1 rc. Estruturalmenre, um filtro constitudo de trs partes:
Incio: Marcador determinando comeo de regra, indicado por :0;
Condio: Uma ou mais expresses regulares que funcionaro como critrio;
Ao: O destino dado mensagem.

223

Certificao LPI-2

A criao de um filtro obedece seguntc sintaxe:


:0 [opes] [: [lock-fileJ

Condio (expresso regular)


ao

Um exemplo de regra simples:


:0
* Arrom*maricota@*
namorada

Este filtro pegar todas as mensagens que se enquadrem na expresso regular remetentes contendo o termo maricota@ e as colocar no diretrio namorada dentro
da pasta de emails do usurio, provavelmente /Mai 1 1.
Pode ser utilizado um segundo caractere: (opcionalmente indicando o arquivo de
trava, 1ock-fi1e) no incio do filtro, evitando que o arquivo onde as mensagens sero
gravadas seja aberto para gravao ao mesmo tempo. Isso pode acontecer se duas
mensagens contempladas pelo filtro chegarem ao mesmo tempo. A regra reescrita
ficaria dessa forma:
:0:
* AFrom*maricotaI*
na mora da

Uma ao bastante utilizada redirecionar a mensagem filtrada para outro endereo dc email. Isso possvel utilizando urna exclamao no incio da ao:
:0
* AS u bject*linux*
1 lsiqueira@lnm.coni.br

possvel definir mais dc uma ao no filtro, utilizando chaves. A regra do exempIo anterior poderia ser reescrita da seguinte forma para utilizar duas funes:
:0
* Asubject*linux*

224

Tpico 211:

Servios de e-mail

:0 e
1squerd01n - .co..or

1 qz 4

p >) 'inux.gz

Neste caso, necessrio reescrevera marcador :0 para cada ao. O caractere c indica
que a mensagem deve ser "copiada" para a prxima ao. Esta, por sua vez adicionar a
mensagem ao arquivo linux. gz por meio de um pzpe para o comando gzi p. O

211.3 Administrar entrega de e-mail remoto


Peso 2
Atualmente, a modalidade mais comum de um cliente acessar uma caixa postal de
e-mail atravs de uma conexo IMAP ou POR Ambos podem ser utilizados juntos,
mas mais comum que apenas uma das modalidades seja escolhida. Esses protocolos esto para o recebimento de mensagens assim como o SMTP est para o envio
de mensagens.
IMAP
O IMAP - Internet Ivessage Access Protocol - compatvel com praticamente todos
os clientes de email modernos, como o Thunderbire/ou o Apple Mail Os servios de
email mais populares, como o Gmail, oferecem suporte a conexes por iMAP, usando inclusive protocolos de conexo seguros (SSL).
POP
O POP - Port Office Protocol 1cm finalidade semelhante do JMAP, mas uma
implementao mais simples. Ao longo do tempo, diferentes verses do protocolo
foram desenvolvidas. Atualmente, o POP3 o padro mais utilizado.

Servidor Courier
Normalmente, a instalao de um servidor 1MAP/POP est associada a um servidor
SMTP existente, como o Postfix. Nesse cenrio, o servidor SMTP se encarrega do
trfego das mensagens, enquanto que o servidor IMAP/POP apenas as disponibiliza
para os respectivos destinatrios.
225

Certificao LPI-2

Um dos servidores mais utilizados para oferecer acesso IMAP o Courier, que
oferece tima integrao com servidores SMTP comuns do Linux. Sua instalao
simples, tanto se feita com as ferramentas de instalao da distribuio quanto a
partir de seu cdigo fonte.
Aps a instalao, os arquivos de configurao do Courier podem ser encontrados
no diretrio /etc/courier. As definies para o daemon imapd so feitas no arquivo
/etc/courier/irapd. Em geral, no necessrio fazer qualquer alterao nesse arquivo.
Exemplo de contedo do arquivo Jetc/courier/imapd:

ADDRESSO

1$

ar- 14 3
MAX DA E MD N 5-4 O
MAXPERIP-20
PIOFILE/var/rin/cour 1 er/irnapd .pid
TCPDDPTS=' nodnslookup -noident1ookup
LOGGEROPTS=-na?neimapd
MAPCAPABILITY"lMAP4rev UDPLUS HILREN NAMESPACE THREAD-ORDEREDSUBJECT
'.-.. THREAD-REFERENCES SORT QUOTA IDL["
IMAP_KEYWORDS-1
IMAP ACL-1

!MAPCAPABILITV_ORIG-IMAP4rev1 (JJJPL.JS CHILDREN NAMESPACE THREADORDEREDSUBJEC

THREADREFERENCES soRr QUOTA AUTHCRAMM05 AUTH-CRAM-SHAI AUTH-CRAM-5HA256 JDLE"


IMAP_PROXY-O
IMAP PROXY_FOREIGN-O
IMAP_1 DLETMEOUT-60
IMAPMA: LBOX_SANTTY CHECK-1
IMAP CAPABTLITYJLS '$JMAP CAPABILITY AUTHPLAIN'
IMAP_CAPABTLITY TLS ORIG="$IMAP_CAPABILITV. ORIS AUTH-PLATN'
MAP DISABLE'HREDSORT-O
IMAP _CHECK_ALL_FOLDERS-O
IMAP_OBSDLETLCLI ENT-O
IMAP UMSK-022
IMAP_U1 IMTD-65536
IMAP_J5ELOCKS-1
IMAP SHAREDINDEXFILE/etc/courier/shared/index
IMAPNHANCEDI DLE-O
IMAPTRA5HFOLDERNAME-Trash
IMAPEMPTYTRASH-Trash: /
M.

Tpico 211: Servios de e-mail

1 MAP_MOVE_EXPUNGE_TOJRA$H-O
SENDMAIL-/usr/sbinfsendmail
HEADERFROM-X- IMAP-Sender
IMPDSTART-YES
MAILDIRPATH-Maildir
Configuraes simples como definio de endereo IP para o servidor e a porta de
conexo so especificadas logo no incio do arquivo. Se no for definido um nico
endereo IP na opo AODRESS, o servidor IMAP aceitar conexes de todas as interFaces de rede ativas.
Outras preferncias podem tambm ser ativadas, como IMPCH[CK_ALL_FOLDERS,
caso novas mensagens de emal sejam filtradas para pastas Lora da pasta INBOX.
Geralmente, notificaes de novas mensagens acontecem apenas quando o cliente
atualiza a exibio da pasta. Para que as alteraes apaream no cliente no momento
em que ocorrem no servidor, basta ativar a opo IMAPJNHANCEDIOLE.
O recurso POP do Courier geralmente vem configurado num arquivo a parte,
chamado /etc/courier/pop3d. Exemplo de arquivo /etc/courier/pop3d:

PIDFIL[=/var/run/courier/pop3d.pid
MAXDAEMONS-40
MAXPERIP-4
POP3AUTH="
P0P3UTH_ORIG-PLIN LOGIN CRM-1405 CRAM-SH1 CRAM-SHA256"
P0P3AUTHLS-'
P0P3AUTH_TLS_ORIG='LOGIN PLAIN"
P0P3_PROXY-0
PORT=11O
ADDRESS-O
TCPDOPTS-"-nodnslookup -noidentlookup"
LOGG[ROPTS-" -nanie-pop3d"
POP3DSTART-YES
MILDIRPATU-4laildi r
Dessas opes, a mais importante a POP3OSTART=YES , que determina a execuo
do servidor POP na inicializao do Courier.
Ambos possuem estrutura de autenticao modular, permitindo a escolha de diferentes mtodos como SSL/TLS.

227

Certificao LPI-2

Servidor Dovecot
Outra alternativa para servidores IMAP/POP o Dovecot. Seu funcionamento
basicamente o mesmo do Courier e a instalao to simples quanto.
Seu arquivo de configurao principal o dovecot.conf, normalmente localizado
no diretrio fetc ou /etc/dovecot.
O mtodo de autenticao mais usado o prprio PAM. Uma configurao padro precisa apenas da criao do arquivo /etc/pam.d/dovecot, contendo:
required
auth
account requl red

patuni.so
pamunix.so

Outros mtodos de autenticao podem ser utilizados, como bancos de dados de


senhas e usurios. Contudo, a autenticao por PAM suficiente, na medida em que
tambm expansvel para outros mtodos.
Caso a localizao padro para o armazenamento de mensagens no seja adequado,
uma nova pode ser definida no arquivo de configurao, com a entrada mal 1 _]ocation.
Caso outros programas acessem as caixas de mensagem do sistema, importante
certificar-se de que todos utilizam o mesmo mtodo de travamento e na mesma
ordem. A ordem importante para evitar falhas de escrita e leitura. No arquivo de
configurao do Dovecot, essas definies so feitas com as entradas mbo&.readiocks e mbox_write_locks. Em caso de utilizao do diretrio /var/nail para as caixas
de entrada, pode ser necessrio definir a opo mail_priviieged_group - mali, para
permitir a criao dos pontos de bloqueio. Para obter melhor performance, a opo
nbox_very_di rtyjyncs yes pode ser definida no arquivo de configurao.
Para utilizar o recurso de servidor POP do Dovecot, basta incluir o termo pop3 na
O
linha protocoi s do arquivo de configurao.

228

Exerccios
w

Certificao LPI-2

Questes Tpico 211


Qual desses servidores utilizado para envio de mensagens por SMTP? Marque
todas as opes corretas.
a. Exim
b. Dovecot
c. Courier
cl. Postfix

2. Qual o principal arquivo de configurao do Postfix? Informe apenas o nome,


sem o caminho.

3. Qual entrada de conflgurao do Postfix determina para quais domnios ser feito
relay de email?

4. Em qual arquivo de configurao do Postfix so definidos os domnios virtuais


aceitos pelo Postfix?
a. virtual
b. domains
e. remote-domains
cl. local-domains

S. Em qual arquivo do Procmail so definidos os filtros pessoais do usurio?


a. -/.Mail
b. -/.procmail
e. -/.procmailrc
cl. .-/Mail

6. O filtro de Procmail a seguir:


:0
* ATO.*Isiq u eirat*
cat > fdev/null
230

Tpico 211: Servios de e-mail

Causar qual resultado?


a. As mensagens locais sero descartadas.
b. As mensagens sem campo assunto sero descartadas.
e. As mensagens destinadas ao usurio Isiqueira sero descartadas.
d. As mensagens enviadas pelo usurio Isiqueira sero descartadas.

7. O arquivo
Informe o caminho completo.

contm as definies globais para o Procmail.

8. Qual desses servidores destina-se ao trfego de mensagens por IMAP?


a. Exim
b. Dovecor
e. Courier
d. Postflx

9. Qual definio de configurao do Courier determina o carregamento do servidor POP?


a. POP=YES
b. P0P3=YES
e. P0P3START=YES
d. P0P3DSTART=YES

10. Qual opo do servidor Dovecot define a localizao padro para o armazenamento de mensagens?
a. mbox
b. maildir
e. mail_location
d. mail_dir

231

Peso total do tpico


na prova: 13

\ / _____

Tpico 212.
\

Segurana
do Sistema
Prinoipas temas abordados:
Roteadores, firewalis e NA1
Proteo de servidores FTP;
Utilizao do OpenSSH;
tcp_wrappers e outras ferramentas de segurana.

1 234

Certificao LPI-2

212.1 Configurao de roteador


Peso 3
comum utilizar computadores dotados de GNU/Linux como roteadores. Vantagens como desempenho e segurana tornam o sistema uma alternativa interessante
para configuraes heterogneas.
Mesmo equipamentos especficos para essa finalidade - os chamados appliances
- costumam ser equipados com uma disrribuio GNU/Linux personalizada. Isso
demonstra a versatilidade e robustez do sistema na administrao do trfego de rede.
Para uma configurao eficiente do roteaclor, importante que o administrador
possua bons conhecimentos de endereamento IP e classificao de redes. O uso
de padres muito importante para que diferentes administradores no encontrem
problemas quando eventuais manutenes se faam necessrias.

Classes de endereos
O primeiro passo para evitar problemas numa rede assegurar-se da escolha correta
dos endereos IP. O lANA (Internet Assigned Numbers Authority) define trs categorias para endereos IP:
Categoria 1: Endereos que no precisam ter acesso a outros endereos cm
redes externas ou na Internet. Os endereos nessa categoria podem utilizar
nmeros IP que existem em redes externas, mas devem ser nicos na rede local;
Categoria 2: Endereos que precisam ter acesso a alguns servios externos
(emaiL ftp, www) que podem ser mediados via gateway. Para a maioria dos
endereos nessa categoria, o acesso direto com um IP nico desnecessrio
ou mesmo indesejado, visto que pode enfraquecer a segurana. Assim como
na primeira categoria, podem ser utilizados nmeros IP que existem cru redes
externas, mas que devem ser nicos na rede local;
Categoria 3: Endereos que necessitam de conectividade direta com a Internet. Os nmeros IP nessa categoria devem ser nicos em toda Internet.
Os endereos na primeira e segunda categoria so chamados privados. Os da terceira categoria so chamados pblicos. Os nmero IPs reservados para redes privadas
so delimitados dentro das classes mostradas na tabela Classes privadas de endereamento IP
Como os endereos privados so de competncia exclusiva da rede local onde
existem, as regras para criao de classes de rede so flexveis. A mscara de rede
pode ser manipulada para melhor satisfazer as necessidades da rede ou a preferncia
do administrador.

Tpico 212: Segurana do Sistema

Classes privadas de endereamento IP


10.0.0,0

at 10,255.255.255

192.168.0.0 at 192.168.255.255

255.0.0,0

10.0.0.018

255.255.0.0

192.168.0.0/16

Rotas
As redes privadas comunicam-se com a Internet por meio de um roteador, que por
sua vez comunica-se tanto com a rede privada interna quanto com a rede externa, por
meio de um 1P pblico. A tabela de rotas no roteador determina para onde devem
ser encaminhados. O principal comando para manejo de rotas o route. Utilizando
o route para verificar as rotas no roteador:
# route -n
Kernel Ir routing table
Gateway
Destination
192.168.3.0
0.0.0.0
192.168.2.0
0.0.0.0
192.168.1.0
0.0.0.0
201.52.48.0
0.0.0.0
127,0.0.0
0.0.0.0
201.52.48.1
0.0.0.0

kO
Genrnask
255.255.255.0
255,255.255.0
255.255.255.0
255.255.240.0
255.0.0.0
0.0.0.0

Flags
U
U
U
U
U
UG

Metric
O
O
O
O
O
O

Ref
O
O
O
O
0
O

Use Iface
O eth3
0 eth2
O ethi
O ethO
010
O ethO

Essa uma tabela de rotas tpica de um computador que age como roteador e
gateway. Existem quatro interfaces de rede conectadas e configuradas. Trs delas conectam-se a redes locais e uma Internet (endereo pblico). Tambm a interface
lo, interface de comunicao interna que no corresponde a nenhuma rede externa,
possui um endereo privado.
Todos os pacotes que chegarem sero direcionados aos respectivos destinos nas
redes locais. Se o destino de um pacote no pertence a nenhum host em uma rede
local, este ser direcionado ao gateway padro, indicado na ltima linha da tabela de
rotas com as flags UG. Apesar de, via de regra, a rota para uma rede ser automaticamente criada quando a interface configurada, pode ser necessrio adicionar uma
rota manualmente. Essa tarefa pode ser realizada com o comando route:

route add -net 192.168.1.0 netmask 255.255.255.0 dev ethi


Este comando adiciona a rota para a rede 192.168.1.0, por meio da interfiice ethl.
Para criar uma rota padro, outra forma utilizada:

235

Certificao LPI-2

route add defauft gw 192.168.1.1


Essa forma um atalho para a forma extensa:
route add -net 0.0.0.0 netraask 0.0.0.0 gw 192.168.1.1

De maneira praticamente idntica, rotas podem ser removidas utilizando dei no


lugar do termo add.

NAT

Network Address Translation

Nessa configurao de exemplo, um pacote com origem na rede 192.168.1.0 e destinona rede 192.168.2.0 atravessar o roteador e a comunicao ser estabelecida nas
duas pontas atravs do roreador. Porm, um pacote com origem na rede 192.168.1.0
(ou qualquer outra rede de IPs privadas) com destino rede de IPs pblicos (como
um sire da Web) no conseguir estabelecer comunicao, pois um IP privado ambguo na rede de IPs pblicos.
Para resolver este problema, utilizado um procedimento chamado NAT (Network Address Transiation). Com o NAT, possvel que um hosi na rede privada comunique-se com hosts na rede pblica (Internet).
A ativao do NAT feita no sistema atuando como roteador, utilizando o comando i ptabi es. O comando iptables responsvel por definir regras para o trnsito
de pacotes IP controlado pelo kernel.
O trnsito dos pacotes dividido em categorias pelo kernel, chamadas de tabelas,
justificando o nome do comando. Cada tabela possui linhas (tambm chamadas correntes, ou chains) que podem receber diversas regras, como veremos adiante.
A tabela de atuao indicada com a opo -t do comando i ptabi es. Se nenhuma
tabela for especificada, a tabela assumida ser afilter.
possvel que existam outras tabelas alm daquelas mostradas em Tabelas do iptables. Kernels modificados podem possuir outras delas.

Tabelas do iptables
ti/ter

nat
mangle

236

E a tabela padro. Contm as chains embutidas INPUT (para pacotes que chegam ao host
local), FORWARD (para pacotes sendo roteados pelo host local) e OUTPUT (para pacotes
gerados no host local e destino externo). Essa a tabela utilizada para construo de firewalis.
flra pacotes que criam noas conexs (tradues e redireionamntos).
Contm as chains embutidas PREROIJTING, OUTPIJT e POSTROUTING.
Para alteraes especializadas de pacotes. Contm as chains INPUT,
OIJTPLJT, PREROUTINO, FOR WARD e POSTROUTING.

Tpico 212: Segurana do Sistema

As operaes dentro dc urna chain so determinadas pelo uso de argumentos-comando:


-A: Adicionar regra na chain;
-1: Inserir regra numa posio especfica dentro da chain;
-R: Substituir regra na chain;
-D: Apagar chain;
-N: Criar chain personalizada;
-X: Apagar chain vazia;
-P: Definir poltica para urna chain embutida;
-L: Listar a(s) regra(s) em uma chain;
-F: Apagar todas as regras em uma chain;
-Z: Zerar os contadores de pacotes em todas as regras de uma chain.
Os pacotes de dados podem ser direcionados para um fim especfico com a utilizao de regras de filtragem. A seguir, so demonstradas algumas regras de filtragem
padro e destinos para a maioria das chain.c
-s endereo: Ou --source endereo. Endereo de origem do pacote. Pode ser
nome de rede, nome de host, IP de rede/mscara de rede ou simplesmente
um endereo IP Se o endereo for precedido de "!", intercepta os pacotes que
no corresponderem condio;
-dendere Ou --destination endereo. Endereo de destino do pacote. Mesmo formato de -s. Se o endereo for precedido de "1", intercepta os pacotes
que no corresponderem condio;
-pprotocolo: Ou --protocol protocolo. Define o protocolo. Pode ser ccp, udp,
icmp ou ali. Se o protocolo for precedido de "!", intercepta os pacotes que
no corresponderem condio;
-i interfacr Ou --in-interface inrerface. Interface atravs da qual o pacote
chegou. Se o nome interface for seguido do sinal "+" (interface+), aplicar
a todas as interfaces cujos nomes comecem por "interface". Se interface for
precedida de "!", intercepta os pacotes que no corresponderem condio.
Se -i interface no existir, todas as interfaces sero assumidas;
-o interface Ou --out-interface interface. Interface atravs da qual o pacote ser enviado. Se o nome interface for seguida do sinal "+" (interface+),
aplicar a todas interfaces cujos nomes comecem por "interface". Se interface
precedida de "1", intercepta os pacotes que no corresponderem condio.
Se interface for omitido, toda interface ser assumida;
-i au Ou --jump ao. Targets (aes) para o(s) pacote(s) interceptados.
Targets comuns para firewall so ACCEPT (permite a passagem normal do
pacote) e DROP (descarta o pacote);

Certificao 191-2

-m mdulo: Ou --match mdulo. Usa mdulo estendido "mdulo". H muitos


tipos de mdulos de controle adicionais e opes extras para cada um deles.
Um muito usado para firewall o mdulo state, cuja opo --state estado permite determinar qual a relao de um pacote com as conexes existentes. Possveis valores para estado so INVALID (o estado no pde ser determinado).
ESTABLISHED (o pacote pertence a urna conexo ativa), NEW(indicando
que o pacote inicia nova conexo e RELATED (o pacote inicia outra conexo,
porm relacionada a uma conexo existente).
Para criar uma regra de NAT, o 1 ptabl es pode ser utilizado da seguinte forma:
iptables -t nat -A POSTROUTING -s 192.168.2.0124 -o eth - i SNAT --to-source
201.52.50.11
Nesse exemplo cada argumento representa:
-t nat: Determina que a tabela natser utilizada;
-A POSTROUTINE: Inclui a regra na corrente POSTROUTJNG;
-s 192.168.2.0/24: Determina que a regra aplica-se a pacotes originados na
rede privada 192368.2.0124;
-o ethO: Determina que a regra aplica-se a pacotes cujo destino seja a interface ethO. No caso do exemplo, trata-se da interface com IP pblico;
- i SNAT --to-source 201.52.50.11:Aopo -i determina a ao a ser executada para o pacote que se enquadrar nas regras estabelecidas. SNAT(source
NAT) determina que o IP de origem do pacote enviado ser o informado
com a opo - -to-source (o IP do roteador). A opo --to-source pode ser
utilizada na forma reduzida --to.
Dessa forma, o pacote ser enviado para a rede de IPs pblicos tendo como origem
um IP pblico vlido (o IP da interface ethO do roteador). O roteador identifica
pacotes pertencentes a uma conexo NAI e direciona para o hosr correspondente na
rede privada local.
Caso o IP pblico do roteador seja dinmico, deve ser utilizado o argumento -j
MAS QUERADE. Dessa forma, o IP de sada ser automaticamente identificado.
Para permitir NAT, alm de definir a regra na tabela de trfego, necessrio alterar
o contedo do arquivo /proc/sys/net/ipv4/ip_forward para 1 (true). Essa opo fica
desativada por padro na maioria das distribuio, haja vista a maioria dos sistemas
no ser utilizada como roteadores.

238

Tpico 212: Segurana do Sistema

Red irecio na mentos


A tcnica de NAT simples possibilita que interfkes com IPs privados acessem endereos
na rede pblica (Internet). Contudo, endereos privados no podem receber conexes iniciadas fora de sua prpria rede. Ou seja, conexes iniciadas tanto em IPs privados quanto
em iPs pblicos continuam impossibilitadas de serem estabelecidas junto a um IP privado
numa rede externa. Isso porque o nico IP visvel na rede pblica o IP do roteador.
Porm, possvel criar um filtro de redirecionamento no roteador para que determinados pacotes sejam enviados para um endereo na rede privada. O prprio
comando iptabes utilizado para criar tais redirecionamentos.
Por exemplo, possvel fazer com que todas as conexes destinadas porta 80
(bttp) sejam redirecionadas para um host na rede privada. Dessa forma, o servidor
Web pode ser mantido numa mquina dentro da rede privada ou numa mquina
virtual dentro de um servidor interno- O comando para criar esse redirecionaniento
pode ser escrito da seguinte forma:
iptables -t nat -A PREROUTINO -p tcp -dport 80 - i DNAT --to-destination
192. 168.2.2: 80

Dessa vez, foi utilizada a corrente PREROUTING, que manipula os pacotes na


medida que entram na tabela. A opo -p especifica o protocolo para a prxima
opo, - dport, que determina a porta que ser redirecionada. Em seguida, - i ONT
indica que trata-se de uma traduo para outro IP de destino, indicado com a opo
--to-destination ou simplesmente --to. Note que a porta de conexo de destino
especificada aps o caractere ":", e pode ser diferente da porta original.
Outra possibilidade definir uma porta no roteador que ser utilizada para entrar
no endereo privado. Por exemplo, pode-se redirecionar pedidos de conexo na porta
22000 do roteador para o login via OpenSSH numa interface, privado da rede interna:
iptables -t nat - PREROUTING - p tcp --dport 22000 - i DNAT

to-destination

192. 168.2 .2: 22

Para apenas redirecionar uma porta do roteador para outra porta no prprio roteador, utiliza-se a ao REDIRECI':
iptables -t nat -A PREROUTING -p tcp -dport 80 - i REDIRECT

-to-port 8080

Neste exemplo, todas as solicitaes para a porta 80 sero redirecionadas para a


porta 8080 na prpria mquina.

1 240

CertificaD LPI-2

Bloqueando ataques
Alm de criar redirecionamentos, possvel utilizar o iptables para bloquear transmisses utilizando o mesmo modelo de regras. Para criar regras de bloqueio, utilizada a tabela Jilter, que a tabela padro do iptables e que por isso no precisa ser
indicada com a opo -t.
Uma estratgia simples de firewall bloquear todas as tentativas de conexo para
a mquina com IP pblico e apenas permitir a entrada de conexes j estabelecidas.
A seguir, mostrado um exemplo de aplicao dessa estratgia.
Apagar todas as regras da tabela filter:
ptables -t filter -F

Liberar todos os pacotes gerados localmente:


iptables t filter -A INPUT -i lo -i ACCEPT

Liberar para entrar pela interface ethO somente os pacote pertencentcs (ESTABLISHED) ou relacionados (PELA TED) a uma conexo existente:
iptabes -t fi 1 ter -A JNPUT -m state --state ESTABLISHED.RELATEQ J ACC[PT

Estabelecer poltica de descartar todos os pacotes na chain INPUTda tabela filters:


iptabes -t filter -p INPUT DROP

As novas regras podem ser verificadas com o comando iptables -L. Para liberar o
acesso externo porta 80 (ht), cria-se outra regra:
iptables -A INPIJT -p tcp --dport 80 - i ACCEPT

Tambm recomendvel manter a porta 22 (OpenSSR) aberta, permitindo um


acesso administrativo seguro ao servidor:
iptables -A INPUT -p tcp --dpart 22 - j ACCEPT

Dessa forma, apenas a porta 80 e 22 estaro visveis para a rede pblica, o que
garante um bom nvel de segurana. Apesar disso, o servidor ainda pode estar vulnervel a um ataque como Denial ofService (DoS). Um ataque desse tipo consiste em

P
1

Tpico 212: Segurana do Sistema

fazer um nmero altssimo de solicitaes a um servidor, de forma que este no seja


capaz de responder a todos e torne-se inacessvel. Como sistemas mais antigos esto
vulnerveis a ele, importante precaver-se. Para evitar que tal cenrio ocorra, devem
ser ativados os recursos de verificao de endereo de origem (para evitar IP spoofing
- IPs forjados) e proteo TCP SYN Cookie

II
#

sysctl -w netipv4.conf.a11.rp_filter

sysctl -w net.ipv4.tcp_syncookes - 1

Essas alteraes podem ser includas no arquivo /etc/sysctl .conf em outro arquivo de inicializao do sistema.

Salvamento de regras
As configuraes do i ptabl es tambm devem ser armazenadas para recuperao fritura, pois sero perdidas em caso de desligamento da mquina. Existem dois comandos
com essa finalidade, o iptables - save e iptables - restore.
O iptables-save tem a finalidade de listar a configurao ativa do iptables. Sem
argumentos, ele simplesmente exibe as configuraes atuais na sada padro, que via
de regra a prpria tela do terminal. Para salvar as regras, basta direcionar essa sada
para dentro de um arquivo:
ptab1es-save > /etcfiptables.conf

No exemplo, as configuraes foram salvas no arquivo /etc/i ptabl es. conf. Esse arquivo no existe por padro e as configuraes podem ser gravadas em qualquer outro. No entanto, prudente gravar as configuraes num arquivo que esteja acessvel
no momento da recuperao das configuraes, durante a inicializao, por exemplo.
Para restaurar as configuraes gravadas no arquivo, utilizado o comando iptabies-restore. De maneira semelhante ao iptables-save, bastar direcionar o arquivo
para entrada padro do comando, o que pode ser feito com o comando cat e um pipe
ou simplesmente com o sinal de menor:
iptables-restore ( /etc/iptables.conf

conveniente que esse comando esteja presente em algum script de inicializao.


Algumas distribuies possuem scripts com essa finalidade, porm, caso no exista,
basta criar um com essa finalidade ou simplesmente incluir o comando no script de
execuo inicial padro, como fetc/rc.local ou /etc/rc.d/rc.loeal. O
241

Certificao LPI-2

( 212.2 Segurana de servidores FTP


Peso 2
Os servios de FTP ainda so uns dos mais utilizados para troca de arquivos em
redes privadas e pblicas. Contudo, quando no configurados corretamente, podem
conter certas vulnerabilidades.
Existem vrios servidores M. Dentre eles, o mais utilizado e considerado o mais
seguro o vsftpd ( Very Secure FTP aaemon), desenvolvido com enfoque na segurana.
Seu daemon o vsftpd e seu arquivo de configurao o /etc/vsftpd.conf. Uma
das principais caractersticas do vsFTPd criar um ambiente chroot quando um usurio entra no sistema via FTR sem necessidade de preparar uma rvore de diretrios
especifica para isso.
Em primeiro lugar, necessrio criar o diretrio base para o FTP, geralmente
/home/ftp ou /var/ftp. Este diretrio deve pertencer ao usurio root, e no ter permisso de escrita para o usurioN. Caso contrrio, o vsftpd informar que existe uma
brecha de segurana e no funcionar corretamente.
As configuraes so simples e dificilmente necessrio alterar o padro. Se o
vsftpd no for utilizado atravs do inetd ou xineuh a opo listen=YES deve estat
presente no arquivo /etc/vsftpd.conf.
Para que o servidor aceite conexes annimas, as seguintes opes devem ser utilizadas em /etc/vsftpd.conf:
anonymous_enabl e=Y[S
write_enableYES
anon_upload_enabl e-YES

chroot acal._user-YES

A opo mais importante a chroot_1 ocaluser=YES, que far com que o diretrio
raiz mostrado ao cliente FTP seja o prprio diret6rio do usurio ou /honie/ftp para
conexes annimas. Para que o usurio annimo seja capaz de copiar arquivos para
o servidor, deve ser criado um diretrio em thome/ftp - normalmente chamado
incorning que permita a escrita para o usurio ftp. Isso feito com a sequncia
de comandos:
# mkdir /home/ftp/incoming

fi

chown ftp:ftp /honiefftp/incominy

# Is -id /horne/ftp/incoming
drwxr-xr-x 2 ftp ftp 62007-06-12 17:16 /home/ftp/incoming/
242

0
1

Tpico 212: Segurana do Sistema

Para que usurios cadastrados no sistema possam utilizar o FTP com seus nomes
de usurio e senha, a opo locaLenable=YESdeve estar presente no arquivo vsftpd.
conf. Caso chroot_IocaLusers=YES esteja presente, o diretrio raiz enviado ao cliente
FTP ser o diretrio do usurio local. Neste caso, os nomes de usurio presentes no
arquivo indicado peia opo chrooc.list_file no tero um ambiente chroot para seus
diretrios pessoais. Caso a opo chrootjocaLuser no esteja presente ou seja igual a
no, o arquivo chrooLlist_file determinar quais usurios utilizaro o FTP com chroot
em seus diretrios pessoais. O

212.3 Shell seguro (SSH)


Peso 4

A ferramenta padro para acesso remoto a mquinas equipadas com um sistema


GNU/Linux o OpenSSH. Ele permite a operao do terminal da mquina remota
exatamente como se a operao fosse local. Sua principal diferena em relao a outras ferramentas de acesso remoto a forte preocupao com a segurana e criptografia dos dados. Apesar de ser um item fundamental na manuteno e operao segura
de computadores remotos, o prprio OpenSSH no totalmente livre de brechas de
segurana. muito importante que servidor e cliente estejam sempre atualizados e
que algumas precaues bsicas sejam tomadas.

Ajustes do servidor OpenSSH


Para limitar ao mximo brechas de segurana, algumas opes devem ser observadas
no arquivo /etc/ssh/sshd_conf:
PerrnitkootLogin no

Ao bloquear o acesso direto ao usurio root, acrescentada uma segunda camada


de segurana, pois somente aps um invasor ou mesmo um usurio legtimo conseguir entrar como um usurio comum que se poder fazer o login como roor.
Protocoi 2

O OpenSSH pode trabalhar com o protocolo do tipo 1, menos seguro, e o protocolo do tipo 2, mais seguro. Por isso, muito recomendvel manter apenas o protocolo 2.
243

Certificao 191-2

JgnoreRhosts yes

Ignora uma modalidade deliberao de acesso legada, onde bastava que os endereos presentes nos arquivos I. rbosts e -1. shosts pudessem entrar sem fornecer senha.
$

XllForwarding yes

Essa opo permite que janelas de programas sejam abertas atravs da conexo
SSI-1. necessrio passar a opo -x para o comando ssh no cliente. Dessa forma,
um programa sendo executado no servidor exibir sua janela no ambiente grfico do
cliente.

Cliente OpenSSH
O programa cliente do pacote ssh o comando ssh. As configuraes globais para o
cliente so feitas no arquivo fetcfssh/ssh_config. A utilizao do ssh muito simples,
bastando fornecer o nome de usurio e o endereo de destino:

ssh luciano@192.168.1.1

Esse comando abrir uma sesso do shell com o computador de endereo


192.168.1.1, atravs de uma conexo segura. Ser usado o usurio luciano e todas as
configuraes de sesso a ele correspondentes. Tanto a senha do usurio quanto os
dados transmitidos estaro protegidos por forte criptografia. Mesmo que eventualmente sejam interceptados, praticamente impossvel que sejam decodificados.

Chaves criptogrficas
a partir da chave criptogrfica que o OpenSSH determina a confiabilidade e o
mtodo de criptografia usada numa conexo segura.
As chaves criptogrficas para o computador so geradas automaticamente pelo
servidor SSH. Os arquivos para armazenar a chave privada e a chave pblica variam
de acordo com o tipo de criptografia utilizado, como mostrado na tabela Chaves
do computador.

Chaves do computador
RSA
OSA

244

/etc/sslVssh_host_rstkey
/etc/ssh/ssh_host_dsa_key

/etc/ssh/sshhost_rstkeypub
/etc/ssh/ssfrMost.dsa_key.pub

Tpico 212:

Segurana

do Sistema

Na primeira vez que o cliente ssh conecta-se a um computador remoto, o usurio


questionado sobre aceitar a chave pblica do computador remoto. Se for aceita, ela
ser armazenada em -I.ssh/knowhosts e garantir a confiabilidade da conexo entre
os dois computadores. O contedo desse arquivo pode ser includo no arquivo Ietc/
ssh_know_hosts, para que a chave passe a valer para todos os usurios. Ainda assim,
ser necessrio que o usurio fornea sua senha ao conectar-se no destino.
Dessa forma, se outro computador assumir o nome ou o IP da mquina remota, o
cliente SSH informar o usurio que a identificao do scrvidor mudou e no estabelecer a conexo. Nesse caso, s ser possvel fazer o login via SSH se o usurio apagar a chave
pblica original do servidor armazenada anteriormente no arquivo -/.ssh/know_hosts.

Autenticao por chave


Alm das chaves do prprio computador, cada usurio pode possuir sua chave pblica e privada, utilizada para garantir sua autenticidade.
Dessa forma, possvel fazer com que o acesso via SSH seja feito automaticamente,
sem necessidade de fornecer a senha em todo login. Isso especialmente til quando
um computador remoto acessado frequentemente. Antes de conseguir fazer o login
sem senha, necessrio que o usurio crie a chave pblica e a chave primria.
A chave pblica do usurio dever ser includa no arquivo authorized_keys, criado
no computador de destino. Esse arquivo pode conter uma ou mais chaves que foram
criadas cm mquinas utilizadas como origem de acesso. As chaves so criadas com o
comando ssh-keygen.
As chaves criptogrficas podem utilizar diferentes tipos de formatos, sendo os mais
populares o DSJ4 e o RSA. Para gerar uma chave DSA de 1024 birs, utiliza-se:
$ ssh-keygen -t dsa b 1024

Chaves RSA suportam um tamanho em birs maior, como 4096:


$ ssh - keygen t rsa -b 4096

Um tamanho maior em bits torna ainda mais dificil a quebra da criptografia.


As chaves podem ser criadas com ou sem senha, as chamadas passphrases. Chaves
protegidas com senhas so mais seguras, pois toda vez que forem utilizadas ser necessrio informar a senha respectiva.
O comando ssh-keygen criar as chaves no diretrio -/.ssh/ na mquina de origem para o usurio atual. A tabela Chaves do usurio mostra quais so os arquivos
de chave do usurio.

Certificao LPI-2

Chaves do usurio
RSA

-/.ssh/id_rsa

DSA

-/sshfrd_dsa

-/ssh/id_rsa.pub
-/.ssMd_dsa.pub

O contedo da chave pblica poder ento ser includo em -1. sshf authori zed_keys
para o usurio especfico no computador de destino. Supondo que o computador de
destino tenha IP 192.168.1.1 e uma conta para o usurio Luciano, a chave pblica do
formato DSA pode ser copiada com o comando:
$ cat -/.ssh/iddsa.pub

ssh luciano@192.168.1.1 'cat -/.ssh/authorized_keys"

O contedo do arquivo -/.ssh/id..jisa.pub ser direcionado para o comando ssh. O


ssh, por sua vez, redirecionar o contedo para o comando catna mquina remota,
que por sua vez incluir o contedo no arquivo -/.ssb/authorized_keys da conta na
mquina remota. Enviar a chave por uma conexo segura aitidamental para que
no seja interceptada.
Por questo de segurana, importante que todos os arquivos contendo chaves em
/etc/ssh/ e -/ . ssh/ tenham permisso 600 escrita e leitura s para o dono do arquivo.
Esse processo de cpia da chave pblica pode ser simplificado ao utilizar o comando ssh-copy-id. Usando as informaes do computador remoto mostradas no
exemplo, bastaria executar ssh-copy-id 1uciano@192.168.1.1. Por padro, o comando
utiliza a chave pblica Id.. rsa.pub. Outro arquivo de chave pblica pode ser especificado com a opo -i. Se necessrio, o ssh-copy-id tambm se encarrega de alterar
no computador remoto as permisses de acesso do diretrio do usurio, do diretrio
-/.ssh e no arquivo authorized_keys pessoal.
Se for informada uma pa.ssphrasc durante a criao da chave, ser perdida toda a
convenincia de realizar o login sem senha, pois ser necessrio informar a senha da
chave toda vez que ela for utilizada. Contudo, possvel evitar a digitao da passphrase a todo momento se for utilizado o comando ssh-agent.
O ssh-agent atua como uma espcie de chaveiro. Ele armazena a autorizao e
libera o usurio da ncccssidade de digitar a passphrase novamente durante a mesma
sesso. Para utiliz-lo, basta executar o comando ssh-agent:
$ssh-agent
SSH_AUTH_SOCK-/tmp/ssh-GnbrnWl47O9/aqent.14709: export SSH AUTH_50CK:
5SH_AGENT_P114710; export SSHAGENT_PI0;
echo Agent pid 14710;
246

Tpico 212: Segurana do Sistema

O ssh-agent ir para segundo plano e exibir as variveis de ambiente que necessitam ser declaradas. Somente se essas variveis estiverem acessveis na sesso que a
autorizao automtica do ssh-agent poder ser utilizada. Essas variveis sero usadas
pelos outros programas para fazer a autenticao via ssh-agent.
Com o ssh-agent ativo e as variveis de ambiente declaradas, utilizado o comando ssh-add para incluir a chave do usurio no ssh-agent:
$ sshadd
Enter passphrase for /horne/luciano/.ssh/id rsa:
Identity added: /hore/1uciano/.ssh/id sa (/ho'ie/luciano/.ssh/idrsa)
A passphrase ser solicitada apenas uma vez, quando a chave do usurio for includa no ssh-agent. Feito isso, no ser necessrio informar a passphrase nas sesses
onde as variveis exportadas estiverem acessveis.

Tneis criptografados
Alm de abrir sesses remotas do shell, o SSH pode ser utilizado como veculo para outras
conexes. Essa tcnica conhecida como tnel de porta ou simplesmente tnel SSH.
Aps criar um tnel criptografado, outro programa poder comunicar-se com a
mquina remota em questo atravs desse tnel, de maneira que todos os dados estaro protegidos ao longo da conexo. Esse recurso especialmente til para programas
que no possuem a funcionalidade de criptografia de dados.
o caso dos clientes e servidores VNC mais simples. Por padro, o VNC utiliza a
porta 5900 e envia os dados sem criptografia. Uma maneira de contornar esse inconveniente criar um tnel SSH entre a porta 5900 do computador local at a porta
5900 do computador remoto. Dessa forma, bastar apontar o cliente VNC pata a
porta 5900 do computador local e a conexo ser automaticamente direcionada atravs do tnel seguro para a porta 5900 do computador remoto.
Para criar o tnel seguro, utilizado o prprio comando ssh com a opo -Lporta
local:localhostporta remota, na qual porta loca/especifica qual porta na mquina local
ser a entrada do tnel, /ocalhost diz respeito mquina de destino e porta remota,
sada do tnel. Por exemplo, para criar um tnel pata luciano@192. 168.1.1:
$ ssh -fNL 5900:1ocalhost:5900 luciano192.168.1.1
A opo -f indica que o comando deve ser executado em segundo plano. A opo
-N determina que no deve ser aberta uma sesso do shell na mquina remota. Depois

de criado o tnel, bastar apontar o cliente VNC para a mquina local:


247

1 248

Certificao LPI-2

$ vncviewer localhost:

A indicao :0 determina que o vncviewer utilize sua primeira porta padro, ou


seja, a porta 5900. Toda a transmisso enviada e recebida para a mquina remota
acontecer atravs do tnel criptografado.

X remoto via SSH


Tcnica semelhante aos tneis SSH abrir a janela de uma aplicao remota por
meio de uma conexo SSH, usando a opo -X. Por exemplo, para exibir localmente
o programa VirtualBox presente na mquina remota:
$ ssh

X luciano@192.168.1.1

E na mquina remota executar o programa desejado:


$ VirtualBox

O processo pode ser simplificado em um s comando:


$ ssh

-x

1uciano192,168.1,1 'Virtu&Box"

O comando passado como argumento final para o ssh ser executado na mquina
remota - opcionalmente o comando ssh tambm pode enviar os dados recebidos pela
entrada padro para a entrada padro do comando remoto. Nesse caso, ser exibida na
O
mquina local a tela do programa VirtualBox em execuo na mquina remota.

212.4 TCP Wrappers


Peso 1.
Daemons de servios de rede compilados com suporte biblioteca libwrap podem
utilizar o mecanismo chamado TC1 1 wrappers para controlar o acesso por hosts na
rede. Esse controle estabelecido a partir de regras criadas nos arquivos /etc/hosts.
aflow e /etc/hosts.deny.
Por um lado, o arquivo /etc/hosts.allow contm as regras para os hosts que podero acessar a mquina local. Se um host corresponder a uma regra em /etc/hosts.
ai 10w, ele ser liberado e o arquivo /etc/hosts .deny no ser consultado.

Tpica 212:

Segurana

da

Sistema

Por outro lado, o arquivo /erc/hosrs.deny contm as regras para os hosts que no
podero acessar a mquina local. Se um host no constarem /etc/hosts.allow nem em
/etcfhosts.deny, ele ser liberado.
Cada regra escrita em uma linha e o formato o mesmo tanto para /etc/hosts.
allow quanto para /etc/hosts.deny:

Servio Host: Comando


Executar comando no
caso de cumprimento
da regra (opcional)
Um ou mais endereos
ou instrues especiais

Um ou mais nomes de
daemon de servio ou
instrues especiais
Hosis podem vir na forma de domnios, IPs de rede ou IPs incompletos. Caracteres curinga '2" e "*" podem ser utilizados.
Instrues especiais so Ali, LOCAL, JCNOW UNKNOWe PARANOJD. O operador EXCEPTexclui um host ou grupo de hosts de uma determinada regra.
Por exemplo, no arquivo /etc/hosts.ailow, para liberar todos os servios a todos os
hosts da rede 192.168.1.0 com exceo do IP 192.168.1.20:
ALL: 192.168.1.* EXCEPT 192.168.1.20

Em seguida, para bloquear todos os servios a todo host que no constar em regra de
/etc/hosts.allow, em Ietc/hosts.deny:
ALi: ALL

Para servidores disparados por meio do daemon super-servidor inetd, necessrio


forar a urilizao de TCP_wrappers. O arquivo /etc/ 1 netd . conf configura o daemon
249

Certificao LPI-2

inetd. Nele, cada linha corresponde configurao para um servio vlido, como listado no arquivo Ietclservi ces. A linha de configurao contm os seguintes campos:
service name: Nome de um servio vlido em /etc/services;
socket type: siream se TCP e dgram se UDP. Outros valores possveis so raw,
rdm e seqpacker,
protocol: Protocolo vlido em /etclprotocols, como tcp ou udp;
waitinowait: Especifica se o inerd deve ou no esperar o programa servidor
retornar para continuar aceitando conexes para o mesmo;
user.group: Rodar o programa servidor como usurio e grupo especificados.
Dessa forma, possvel rodar o programa servidor com permisses diferentes
de roor. O grupo opcional;
server program: Caminho do programa para executar quando um pedido
existir no respectivo socket. Para controle dos pedidos por meio do TCP_
wrappers, deve ser /usrfsbin/tcpd;
server program arguments: Quando tcpd usado para controlar os pedidos, neste campo dever constar o caminho para o programa que de fato o
servidor do servio.
Exemplo de entrada em /etc/inetd.conf, para o servidor de email pop3:
pop3 stream tcp nowait root fusrfsbin/tcpd /usr/sbin/popa3d

Para desativar o uso de um servidor, basta coment-lo com o caracter


# pop3 stream tcp nowait root /usr/sbin/tcpd /usr/sbin/popa3d
Aps alterar o arquivo /etc/inetd.conf, necessrio fazer com que o daemon inetd
releia as configuraes, o que pode ser feito reiniciando o daemon ou enviando o sina] SIGHUP. O PID para o daemon inetd pode ser consultado por meio do arquivo
/var/run/inetd .pid.
Verso aprimorada do servidor inerd, o super-servidor xinetd dispensa a utilizao
do daemon tcpd, pois ele prprio se encarrega de controlar os pedidos. A configurao feita do arquivo Ietclxi netd . conf ou atravs de arquivos correspondentes a cada
servio em /etc/xinetd.d/.
Os valores de configurao para cada servio so como os do /etc/inetd,conf,
porm o formato do arquivo difere. Se iniciado com a opo inetdcompat, o xinerd adicionalmente usar as configuraes que constarem no arquivo /etc/inetd.
conf (se existirem).
250

Tpico 212: Segurana do Sistema

Estrutura de configurao de um servio em /etc/xinetd.conf:


nome do servio
disable - yeslno
socket_type - stream,dgram,raw,rdm ou seqpacket
protocol = Protocolo vlido em /etc/protocols
wait - yes/no
user - Usurio de inicio do servidor
group - Grupo de incio do servidor
server - Caminho para o programa servidor do servio solicitado
no_access - 192.168.1.0
only_from - 0.0.0.0
(

As opes em destaque, no_acce e only_from, podem ser utilizadas adicionalmente ao TCP_wrappers. Os valores podem ser nmeros IR nomes (resolvidos inversamente a partir do IP de origem), nomes de rede que constem em /ctc/networks
(somente para IPv4) e abreviaes endereo/mscara, entre outras. Ao contrrio do
TCP_wrappers, se um host de origem se enquadrar para ambos, o acesso ao respectivo servio ser bloqueado. O

212.5 Tarefas de segurana


Peso 3
Todo administrador deve estar atento a possveis ataques e invases. Para isso, operaes de
monitoramento devem fzcr parte da rotina de administrao da rede. Alm disso, importante atualizar-se junto a boletins de segurana mantidos por entidades especializadas.
Entidades tradicionais que emitem boletins de segurana frequentes e relevantes
so a lista Bugtraq, atualmente mantida pelo Security Focus, CERT e CIAC. Os
endereos onde esses informativos podem ser encontrados so:
Bugtraq: www.securityfocus.com/archive/]
CERT: www.cert.org
CTAC: www.ciac.org
Nestes sites, possvel tomar conhecimento de falhas em programas antes que
estas possam causar dano.

1 252

Certificao LPI-2

Deteco de intrusos
Existem diversos procedimentos manuais para verificao de tentativas de login mal
sucedido, que geralmente significam tentativas de invaso. Alm de analisar os arquivos de log dos servios ativos, que podem listar tentativas seguidas de acesso mal
sucedidos, o comando lastb exibe as tentativas de login que no lograram xito.
Alm dos procedimentos manuais dc identificao de tentativas de acesso suspeito, existem ferramentas com essa finalidade especfica que podem inclusive bloquear
conexes que apresentem algum comportamento suspeito. Esses programas so conhecidos como IDS (Intrusion Detection System).
Existem diferentes programas que usam diferentes abordagens. Daqueles disponveis para ambientes GNU/Linux, trs merecem meno: Fai12ban, Snorte OpenVAS.
O Fai12ban analisa arquivos de log como /var/log/pwdfail ou /var/log/apaehe/
error e bloqueia endereos IP com muitas tentativas de acesso mal-sucedidas. Ele
atualiza as regras de firewall para ignorar o endereo IP em questo.
O Snort usa estratgias mais elaboradas na deteco de conexes suspeitas. Ele
pode analisar protocolos e buscar por padres especficos de comunicao. Ele pode
ser utilizado na deteco de diversos ataques e varreduras, como estouros de pilha,
varreduras invisveis, ataques por CGI, anlise por SMB, tentativas de deteco de
sistema operacional, entre outras.
O trfego de dados filtrado por regras personalizveis, definidas usando uma
linguagem prpria. Seu sistema de deteco modular, tornando possvel a utilizao
de plugins externos.
Os alertas emitidos pelo Snort podem ser transmitidos por diversas maneiras como
Syslog por rede, sockets Unix ou mesmo mensagens por WinPopup em clientes Windows. Aes especficas tambm podem ser tomadas, dependendo das configuraes
pr-definidas.
J o OpenVAS possui uma estrutura ainda mais elaborada, baseada em arquitetura
cliente/servidor. O componente principal um servidor com um conjunto de restes
de vulnerabilidade - conhecidos como NVTs, Network Vulnerability Test para identificar problemas nos sistemas remotos e em aplicativos. Ele derivado do Nessus, um
dos IDS mais populares e utilizados do mundo. O

Exerccios

1254

Certificao LPI-2

Questes Tpico 212


Qual a principal finalidade do NAT em um gateway de rede privada?
a. Permitir a comunicao entre os computadores na rede interna.
b. Bloquear o acesso externo aos computadores da rede interna.
c. Permitir que os computadores da rede interna acesseni endereos externos.
d. Permitir a identificao dos endereos da rede interna.

2. Em qual tabela do iptables so definidas as regras de NAT?


a. filter
ti nat
c. mangle
d. forward

3. De que forma todos os pacotes chegando a mquina local podem ser bloqueados?
a. iptables -P INPUT -i DROP
b. iptables -P INPUT DROP
c. iptables -I INPUT DROP
d. iptables -F INPUT

4.0 comando

iptables -t nat -A PR[ROUTJNG -p tcp --dport 80 - j

_______
redireciona as conexes para a porta 80 da mquina
local para a porta 80 da mquina 192.168.2.2.
destination 192.168.2.2:80

5. O comando
mando iptables-save.

utilizado para ativar as regras salvas com o co-

6. Na configurao do vsftpd, qual opo libera a gravao de arquivos em sesses


annimas?
a. anon_writeenable=YES
b. anon_rwenable=YES
c anon_login_enable=YFS
d. anon_upload...enable=YES

Tpico 212: Segurana do Sistema

no arquivo /etc/ssh/sshd_conf bloqueia o lo7. A opo


gin direto via ssh para o usurio roor.

8. Qual a finalidade do comando ssh-agent?


a. Armazenar a autorizao de acesso chave do usurio.
b. Reestabelecer uma conexo ssh perdida.
c. Gerar a chave criprogrfica pblica.
ci. Gerar a chave criptogrfica privada.

deve ser utilizado pelo inetd para consultar as regras de TCP Wra9.0
pper e liberar a solicitao de acesso a um servio. Informe apenas o nome, sem
o caminho.

10. Quais das referncias a seguir informam sobre falhas em sistemas e alertas de
segurana? Marque todas as corretas.
a. Cert
b. lANA
e. Bugtraq
ci. TGP Wrapper

255

Peso total do tpico


na prova: 19

Tpicio 213*.,
Soluo
de problemas
Principais temas abordados:
Reviso dos tpicos anteriores;
Identificao de falhas do sistema;
Identificao de falhas de programas.

1 258

Certificao LPI-2

213.1 Identificar estgios de boot e consertar carregadores de boot


Peso 4

Um sistema GNUJLinux caracteriza-se por sua grande versatilidade para instalao,


atualizao e administrao. Contudo, essa versatilidade tambm permite que configuraes errneas sejam Leitas, o que pode provocar mal funcionamento do sistema.
Felizmente, a totalidade desses problemas pode ser solucionada sem necessidade de
solues drsticas, como a reinstalao do sistema.
Um problema que pode assustar administradores o travamento do carregador de
boot. Isso pode acontecer depois de atualizaes incorretas do kernel ou mudanas
nos dispositivos ou parties. Contudo, tanto o Grub quanto o Lilo podem ser restaurados sem maiores prejuzos.

Etapas da inicializao
A inicializao de um sistema Linux pode ser dividida em quatro estgios principais:
1. Carregamento do kernel pelo Lilo ou Grub;
2. Inicializao do kernel;
3. Identificao de configurao do hardware;
4. Disparo dos daemons.
O primeiro estgio o mais breve dos quatro. O BIOS do sistema executa as
informaes encontradas no setor de boot no dispositivo marcado como boot primrio. Se o carregador de boor estiver instalado corretamente num dos dispositivos
indicados, ele ser disparado:

GRUB Lnding stageL5

GRUB loading, please wait...

Neste caso, o carregador de boot utilizado o GRUB. Em seguida, o kernel ser


carregado ou aparecer um menu com as opes de Kernels e outros sistemas operacionais porventura instalados no computador. Essa ltima o comportamento padro na maioria das distribuies Linux:

Tpico 213: Soluo de problemas

Como descrito nas instrues do menu, basta pressionar [Enter] ou aguardar 5


segundos para que a primeira opo seja utilizada.

carregador de boot, como o nome sugere, carregar o kernel, que passar a ter

o controle sobre o computador. Algumas informaes bsicas passadas ao kernel pelo


carregador de boot sero mostradas na tela e o processo de carregamento ter incio:

Booting 'iJebian GNu,Llnux. kernel 2.6.18-4-606'


root (hd0,8)
Fliesustem type is cxt2ts, p&rtition type 0x83
hernei
boot/vmi inuz-Z .6.18-4-686 root,dev/hdal rD
tLinux-bzlr.age, setup0x1c00, size0x131e9d1
iultrd /boot/initrd.img-2.6.113-4-686
tLtnux-initrd 13 0x7b18800. 0x1c7cb? bytes]
savedernult
uncompressing Linux... -

Neste momento o Kernel ser iniciado. A partir dessas informaes podemos


verificar que o dispositivo raiz indicado para o sistema ser a primeira partio
no primeiro disco (hdo.0), o sistema de arquivos identificado (ext2f5) e o tipo da
partio (0x83 - Linux). Tambm mostrada qual imagem do kernel ser utilizada (/boot/vrnlinuz-2.6.18'4-686) e a imagem (se houver) initrd(/boot/initrd.
1 rnq 2.6.13-4'585).
Assim que o kernel assume o controle, informaes conseguidas junto ao BIOS e
outras informaes de hardware so mostradas na tela. um processo muito rpido
e dificilmente pode ser acompanhado:
259

1 260

Certificao

LPI-2

1B HIGOMEM available.
127MB LOL4MEM avallable.
DM1 2.3 preseM.
ACPI: PM-Tir ID Port: 0x4006
Ailocatlng FCI resources startlnB at 10000000 (gap: 08600000:f7fc0000)
Detected 2134.743 11Hz processar.
BuiIt 1 zonelists. Total papes: 32752
Kernel coiand Une: ront=,dev,hdal rn
Found and enabled local APICI
Enabiing fast FPU save and restara... doar.
Enabting unmasked SIMD FPU exception support... dono.
Initiollxing CPIJIIO
PIO hash tabte entries: 512 (arder: 9. 2048 bytes)
Console: colour liGa, 00.25
Dentry cache hash table entries: 16304 (order: 1. 65536 bytes)
mude-cacho hash tabie entries: 0192 (order: 3. 32760 b1jtes)
Meniory: 121760k.'131008k aveilable (1541k kernet cade. 0700k reserved. 577k data,
196k init. 0), high.em)
Checking Ii this processor honours the WP bit even ia supervisor mude... 0k.
Ceilbrating delali lising timcr specific routiiie. . 20353.96 B0poMIPS C1pJr40707926
Security Framework v1.0.0 initinlized
SELinux: Dlsabled at boot.
Capabilty 1.511 initiallzed
MoaM-cacho hash tabme entries: 512

O hardware fundamental do sistema, como portas seriais, teclado e mouse, ser


ento iniciado:

Activating ISA DMA hang unrkarounds.


lsapnp: Scanning for FnF cards.
isapop: No PIug a PIey device tound
Serial: 625016550 driver GRevision: 1.90 $ 1 ports. IRQ sharing enebird
BAMDISK driver initiaIized: 16 RAM disks ar 6192K size 1024 hlncksize
P11?: F3,2 controlier rF11p0303:rs2x.pMper03:ps2111 at 0.60,0.61 Irq 1.12
seria: 10042 AUX part at 0x60,0x64 irq 12
seria: 10012 KBD part at 0x60.0x61 lrq 1
mico: I'S2
usc device comnon lar alI mice
PM-Ti.er running at Invalid reta: i?Oz af normal -- aborting.
TCP bic regiztered
MET: Registered prntocoi famity 1
MET: Registered pratacai famlty 17
MET: Registered protocal family O
IIET: Begistered protocol tan'ily 20
lising 1H No-Shortcut mode
Time: tsc cIocksource has bern installed.
Inpuit: AT Trenslated Set 2 keyboard as ,class,input,mnpot
ACPI: (supports 50 55)
Freeing untssed kernel memory: 196k freed
Loading, please walt.
Begin: Loading essential dri.jers .....
Done.
flegin: Running /scripts/init-premount

Outros itens de hardware sendo identificados e minimamente configurados, como


barramentos, discos rgidos e dispositivo de rede:

Tpico 213: Soluo de problemas

Begin: Loading essential drivers ......


fone.
Begin: Bunning ,scrlpts/lnit-premount
Unifor Multi-Platform E-IDE driver Revisinn: 7.00alphaZ
ide: Assu.lng 3311'iz system bus speed for PIO mudes; override wlth idebusxx
Puxa: IDE controlier ai PCI siot 80000001.1
Puxa: chipset revision 0
Pl1X3: nnt leOz native moda: will probe irqs Inter
ideO: 011-DMA at OxcOOG-OxcOO?, BIUS settlngs: hdn:DM. hdb:DPm
Hei: BM-DMA ai Oxc006-Oxc0ef, BIOS settings: l.dc:DMA, hdd:DMA
pcnet32.c:v1.32 18.Mnr.2006 tsbogendl!alpha.frnnkcn.de
hda: UBOX UARDDISIC, ATA DISE drive
hdb: UBOX HARDDISII, ATA Dl3l< drive
ideS ai exlfO-Ox1f7.0x3f6 ou lrq 14
hdc: UBOX CD-ROM, ATAPI CD,1JUD-I1OM drive
hdd: IJBOX HABODIS}C, ATA DISX drlve
idel ai 0x170-'Oxl?7,9x376 on irq 15
ACPI: PCI lnterrupt Llnk LLIIXC] enabled ai 11114 li
ACPI: PCI Interrupt 0880:ee:03.erAl -) LInk [LURCI -> GSI ii (levei, IoLJ) -) IRQ
ii
pcnet32: PCnet,'FAST III 79C9?3 at Oxceze, 08 80 27 28 92 5d assigned IRQ ii.
pcuet32: FOLLUd FHY 0000:0000 ai nddress 0.
efl: registered as PCnet'FAST III 79C973
pcnet32: 1 cardsjouud.

Assim que a identificao inicial do hardware terminar e a partio raiz for montada, o init ser disparado e as configuraes mais avanadas de hardware e os daemons
sero iniciados. Neste estgio, entre outros procedimentos, so montadas as demais
parties, inclusive a partio swap, conforme constadas em /etc/fstab:

Dona.
II1IT: version 2,86 booting
Starting ibe hotplug events dispatcher: udevd.
Syntheslzing the initial hotplug events ... done.
L4altiug for ,dev tu be fuiiy popuiated... lnput: PC Speaker as 'class,'input,input
1
Floppy drive(s): fd0 is 1.4111
FDC O Is a S828788
input: ImExPSfl Generic Explorar Plouse as cIasslnput,'input2
ACPI: PCI Interrupt Li,ik (LMEA] enabled ai IBQ 9
ACPI: PCI Interrmpt 0000:00:05.0(A] -> Link [LMKA] -> CSI 9 (levei. low) -> IRIJ
9
is: Compaq touchscreen protocol output
lnte18x0measureac97clock: measured 25465 osecs
intelfix: n,easmred clock 117153 rejected
intel8xe: clocking to 46000
done.
Activating swap. . .Addlng 321260k swap ou idev,hda?. Prlority:-1 extents:1 actos
s :3212601c
dona.
Cbecking root file system ... fsck 1.I0-LJ1P (14-Mov-2006)
devhdaL clean, 10421,68272 files, 113Z84,273$72 blocks
dona.
EXT3 FS ou hdal, internal jaurnal

Continuando a ltima etapa, demais daemons de servios so disparados, permitindo que o usurio ingresse no sistema:
261

1 262

Certificao LPI-2

Lnadlng ACPI Modules:


battery
dc

ACFI: AC Adapter mcl ton-line)


processor
botton
ACPI: Loser Button (FF) (PIIRFI
ran
therp.a 1
atartlng Aduanccd Conflouration and Power Interface daenon: acpld.
Starting fltTorrent tracker: disabled lo ,etc.'default,bittorrnnt.
Starting Co..on Unix Printing 3ystei: cupsdlp: driver Ioaded but no devices Foun
d
ppdev: user-space paraliel port driver
Startlng stjstem nessage bus: dbus.
Startlng Hardware abstractiun laver: hald.
Startln DHCP D-Bus daeu.on: dhcdbd.
Startlng network connectlon nanager: Networkllanager.
Startlng Avabi ,.DM3iIlIlS-31) Daenon: avahl-daenon,
Startlng network events dlspatcher: P4et.iorkflanagerDispatcher.
Startlng PITA: exlni
Startlng internet superseruer: lnetd.
Sterting OpenUSD Secure Shell server: sshd.
Startlng OMOrIE Dlsp1aj Manauer: gdn_

Esse

um processo correto de carregamento que pouco varia nas distribui-

es voltadas para servidores. Uma listagem que foge muito da sequncia exibida
ou que sequer alcana uma das etapas

sinal de problemas em alguma etapa

da inicializao.

Problemas no carregador de boot


O carregador de boot pode deixar de funcionar corretamente por uma variedade de
fatores, como remoo do kernel, defeito no sistema de arquivos, entre outros.

processo de boot acontece em dois estgios.

primeiro estgio do

Lilo consiste

BIOS, que por sua vez carrega o segundo estgio: o


carregador Lilo multi-setor. O Lilo capaz de informar ao administrador a natureza
do erro ocorrido, sinalizando no momento em que carregado.
Quando o primeiro estgio est ativo, mostrada a letra "L". Assim que o primeiro estgio for invocar o segundo estgio, mostrada a letra "1". Neste momento, caso
ocorra algum erro, um cdigo hexadecimal mostrado:
00: Nenhum erro identificado;
num nico setor carregado pelo

1:

Comando de disco invlido;

2:

Indicador de endereo no encontrado;

3:

Disco protegido contra gravao;

4:

Setor no encontrado;

06: Disquete removido;


08: DMA overrun;
OA: Setor defeituoso;

Tpico 213: Soluo de problemas

OB: Trilha defeituosa;


20: Falha no controlador;
40: Falha no rastreio (BIOS) ou Cilindro> 1023 (LILO);
99: ndice de setor invlido para o segundo estgio (LILO);
9A: Ausncia de assinatura para o carregador de segundo estgio (LILO);
AA: Drive no pronto;
FF: Palha geral.
O erro 40 gerado pelo BIOS ou pelo Lilo quando convertendo um endereo
de disco linear (24bit) para um endereo geomtrico (C;H:S). Os crros 99 e 9A
geralmente ocorrem quando o arquivo de mapa no pode ser lido. No caso de
erro, o Lilo repetir a operao, o que pode gerar o mesmo cdigo de erro repetidas vezes.
Se o carregador de segundo estgio for carregado, ser mostrada outra letra "L".
Ento, se a tabela de kernels e outros sistemas puder ser verificada, ser mostrada a
letra "', completando a palavra "LILO", em maisculas. Mensagens de erro do
carregador de segundo estgio so textuais.
Ainda, podem aparecer erros da seguinte forma:
LJL? O carregador de segundo estgio foi carregado num endereo incorreto.
LIL-: A tabela de kernels est corrompida.
A maioria desses erros podem ser corrigidos simplesmente reinstalando o carregador de boot. Isso pode ser feito iniciando o sistema por uma mdia alternativa, como
o prprio CD ou DVD de instalao, iniciando o sistema instalado. a partir dele
que o carregador poder ser reinstalado.
O carregador Grub oferece mensagens de erro mais claras e via de regra informam
que no foi possvel encontrar o carregador de segundo estgio ou o dispositivo com
o kernel especificado. O

213.2 Soluo geral de problemas


Peso 5

Apesar de existirem problemas realmente difceis de diagnosticar e corrigir, a maioria


das causas para uma interrupo de funcionamento do sistema so mais simples do
que parecem. Muitas vezes, detalhes como um cabo mal conectado podem levar a
crer que a configurao das rotas da rede ou o firewall esto com problemas.

EI

1264

Certificao LPI-2

Falhas de kernel
Sempre que um problema surgir devem ser primeiro investigados os detalhes mais
fundamentais do funcionamento do sistema, evitando embrenhar-se em configuraes avanadas que podem no ser a causa dos problemas.
O primeiro passo checar os logs e mensagens do kernel, buscando por possveis
avisos de erro. Dependendo do escopo da falha identificada, o log especfico de um
servio em Iva r/log deve ser consultado. Mensagens do Kernel, mostradas por meio
do comando dniesg, podem ajudar tanto no diagnstico de problemas de hardware
quanto de problemas de software.
Falhas de hardware
Para verificar se dispositivos de hardware foram corretamente identificados pelo sistema, podem ser utilizados os comandos lspci e lsdev. Se o dispositivo suspeito de
falha aparecer na listagem, provavelmente trata-se de um erro de software.
Caso o dispositivo tenha sido corretamente identificado, mas ainda assim no fimciona, o problema pode ser um mdulo no existente ou no carregado. Com o comando unanie - r mostrada a verso do kernel utilizado. Verifique em /11 b/modu) es
se existe um diretrio de mdulos para a verso do kernel em questo. Este tipo de
problema comum quando se esquece de instalar os mdulos aps instalar um kernel.
Se o mdulo do dispositivo no for carregado automaticamente, inclua nos scripts
de inicializao o comando Isbinlmodprobe noive_do_nodulo. Consulte na documentao do kernel - /usr/src/]inux/Docuinentation, se o cdigo fonte do kernel estiver
instalado - o nome do mdulo para o dispositivo em questo.
Falhas em programas
Um erro pode ainda ser provocado por programas buscando recursos no disponveis, como bibliotecas no instaladas. O comando strace capaz de rastrear todas as
chamadas de sistema feitas por um programa. Basta fornecer o nome do comando
como argumento para strace para que todas as chamadas de sistema feitas por ele
sejam mostradas na tela. Para rastrcar um programa j em execuo, utilize a opo
p P111, com o PID do programa em questo.
Com propsito parecido ao do strace, o 1 trace intercepta e mostra todas as chamadas que um programa faz para bibliotecas dinmicas. Tambm pode ser utilizada
a opo -p para fornecer o PID de um processo existente.
Para investigar quem ou quais processos esto utilizando um determinado arquivo, usado o comando 1 sof. Na medida que, em ambientes Unix, praticamente
todos os recursos podem ser acessados a partir de arquivos ou pseudo-arquivos, o Isof
uma ferramenta de investigao bastante poderosa.
-

Tpico 213: Soluo

de problemas

Por exemplo, possvel listar todos os arquivos abertos por um determinado processo utilizando o comando:
$

isof - D 0 1D

Neste cdigo, PID representa o PID do programa em questo. Para verificar todos
os arquivos sendo utilizados por processos disparados por um usurio em particular,
utiliza-se a opo -u usurio. Para checar quais processos esto utilizando um arquivo, basta executar o comando Isof fornecendo como argumento o caminho completo
para o arquivo:
# sof /aev/net/tun
OOMMAN

PIO
'JSER
VB0xVR0P 25874 luciano
VBoxVRDP 25922 1cano

r0

TYPE XVICE SuE N0DE NAME

12u

CHR 10,200

7885 /dev/net/tun

12u

211R 10.200

7885 /lev/netitun

A sada deste comando mostra vrias informaes teis sobre o(s) processo(s) a
acessar o arquivo /dev/nct/tun (interface de rede TUN). Este uso especialmente til
O
para checar processos bloqueando dispositivos ou pontos de montagem.

213.3 Problemas em recursos do sistema

EI

Peso 5
Configuraes mal feitas no ambiente do shell tambm podem causar falhas no funcionamento do sistema ou mesmo travamento total. Mesmo aplicaes do modo
grfico, como navegadores e editores de texto, podero no funcionar se algumas
variveis do shell no estiverem corretamente especificadas.

Variveis de ambiente
As variveis de ambiente principais do shell so utilizadas pela maioria dos programas. Os padres para o sistema so especificados no arquivo /etc/profi le e /etcl
bashrc. As principais variveis globais so:
PATH: Lista de direrrios, separados por dois-pontos, nos quais programas
requisitados sero procurados. A menos que possa ser encontrado em um
dos diretrios na varivel, o programa em questo s poder ser executado se
fornecido seu caminho completo na rvore de diretrios;
265

Certificao

LPI-2

LANG: Idioma padro do sistema. Usado inclusive pelo ambiente grfico;


EDITOR: Especifica qual o editor de textos padro usado no console;
PAGER: O paginador usado no console, como o less ou more.

A lista completa de variveis globais pode ser obtida executando o comando env:
env
SH EL L/ b 1 n / ba s h
TERM-xterm
USER=root
MAIL/var/mai 1/root
PATH-/usr/local/sbin:/usr/local/bin:/usr/Sbin:fuSr/bin:Jsbin:/bin
PWD-/ root
LANG-pt_BR. UTF-8
PS1\h:\w\$
SHLVL-1
HOME/root
LANGUAGE-pt.JR pt : en
LOGHAMEroot
/usr/bin/env
OLDPWD/etc

Semelhante varivel PATU, que determina onde so encontrados os comandos, a


varivel LD_LJBRARYPATH pode ser utilizada para especificar onde podem ser encontradas as bibliotecas de sistema. Porm, essa varivel no utilizada por padro (apenas
em circunstncias pontuais). Em seu lugar, os caminhos para as bibliotecas de sistema devem ser especificados no arquivo /etc/ld.so.conf:
/usr/local/lib

/usr/XI1R61lib
fopt/kde/1 1h
/usr/lib/qt/lib

Caso alguma alterao seja feita neste arquivo, ser necessrio executar o comando
lciconfig, que regenerar o arquivo binrio /etc/ld.so.cache, onde so armazenados
os endereos das bibliotecas.

266

Tpico 213: Soluo

de problemas

Opes do Kernel
O kernel tambm possui algumas opes que influem diretamente no funcionamenLo de programas, por exemplo i p_forward, que determina se o sistema deve agir como
um roteador de pacotes IR Essas opes podem ser alteradas sem reiniciar o sistema,
editando diretamente os arquivos sob o diretrio /proclsys ou por meio do comando
sysctl. O comando sysctl -a pode ser utilizado para mostrar rodas as opes possveis e seus valores.
A sintaxe do comando sysctl para alterar parmetros :
sysctl -w net.ipv4.ip_forward-1

A opo -w deve ser fornecida para alterar a opo indicada; caso contrrio, ser
mantido o valor atual. Esses valores podem ser mantidos incluindo as mudanas no
arquivo /etc/sysctl.conf, no formato nome_uarivel=vaior. O

213.4 Problemas em configuraes de ambiente


Peso 5

Alguns problemas de login podem ocorrer quando se editam os arquivos /etc/


passwd, /etc/shadow ou /etc/group diretamente. Se um deste arquivos estiver corrompido, o login poder no acontecer. Por esse motivo, estes arquivos devem ser
editados por meio dos comando especializados vipw e viyr, que utilizam o editor
padro do sistema e evitam que o arquivo seja alterado por outro comando ou usurio durante a edio.
Usurios podem no conseguir entrar no sistema se suas contas estiverem bloqueadas. Isso pode acontecer se estiver presente a exclamao no lugar da senha em Ietc/
shadow ou se o shell padro apontar para /bin/false, por exemplo.
Outras configuraes referentes ao modo e segurana do login podem ser feitas
no arquivo /etc/login.defs. Por exemplo, valores padro para validade de contas e
nmero mximo de tentativas de login. Importante lembrar que algumas opes
deste arquivo podem estar em desuso se for utilizado outro sistema de autenticao,
como o PAM. *

267

[ Exerccios

Certificao [91-2

Questes Tpico 213


1. Durante a inicializao do sistema, o sistema trava logo aps o kernel invocar o
comando inir. Das listadas, qual a causa mais provvel para a falha?
a. O kernel no foi corretamente instalado.
b. O Grub no pde encontrar o kernel.
c. O teclado no foi localizado.
d. O arquivo /erc/inittab foi editado incorretamente.

2. Em caso de falha na execuo de um servio que interrompa o carregamento, qual


procedimento deve ser tomado?
a. Formatar o disco e reinstalar o sistema.
b. Pressionar [Fi] durante o carregamento do sistema.
c. Aguardar at que o sistema se atualize.
cl. Entrar no runlevel 1 e corrigir o script do servio em questo.

3. Dos comandos abaixo, quais podem ser utilizados para inspecionar os itens de
hardware do computador? Marque todas as opes corretas.
a. lsdev
b. modprobe
e. lspci
cl. strace

4. Aps compilar e instalar o kernel verso 2.6.32, onde devero ser localizados seus
respectivos mdulos
a. Iusr/lib/2.6.32
b. /libI2.6.32

e. /lib/modules/2.6.32
cl. flib/2.6.32/modules

270

Tpico 213: Soluo de problemas

5. Qual comando utilizado para rastrear os recursos utilizados por um programa?


Marque todas as alternativas corretas.
a. pidof
b. p5

o. Isof
d. strace

6. A varivel global PATH incorretamente definida deve ser corrigida no arquivo


Informe o caminho completo.

7. Em qual arquivo ficam os caminhos para os dirctrios com bibliotecas compartilhadas?


a. /etc/ld.so.cache
b. /etc/ld.so.conf
o. /etcfldconfig
d. /etc/ldd

8. Aps alterar o contedo do arquivo /erc/ld.so.conf, qual comando deve ser executado?
a. ldd
b. ldconfig
o. update
d. lilo

9. Para evitar a corrupo dos dados, o comando _________ deve ser utilizado para
editar o arquivo /etc/passswd.

10. Coniguraes de tempo de execuo Leitas pelo programa sysctl podem ser
armazenadas no arquivo
. Informe o caminho completo.

271

Apndice

Certificao LPI-2

C!ligtirnb

ramnr' ljrn

EI

Primeira prova para a certificao LPI nvel 2.

Tpico 201: O Kernel Linux


201.1 Componentes do Kernel
Peso 2

O candidato deve ser capaz de operar componentes do kernel necessrios a uni hardware especfico, drivers de hardware, recursos e necessidades do sistema. Este objetivo
contempla a implementao de diferentes tipos de imagens de kernel, identificao
de kernels e patches cstveis e dc testes e a operao dos mdulos do kernel.
Conhecimentos chave

Documcntao do kernel 2.6.x


Lista parcial dos arquivos, termos e ferramentas utilizados

/usr/src/linux
/usr/src/linux/Documentation
zlmage
bzlmage
201.2 Compilando um kernel
Peso 2

O candidato deve ser capaz de configurar adequadamente um kernd de modo a


incluir ou excluir um recurso especfico, conforme necessrio. Este objetivo inclui
compilar e recompilar o kernel Linux quando necessrio, atualizando e marcando as
mudanas no kernel novo, alm de criar uma imagem initrd e instalar novos kernels.
Conhecimentos chave

/usr/src/linux
Arquivos de configurao do GRUB
Alvos do make para o kernel 2.6.x

274

Apndice

Lista parcial dos arqu ivos, termos e ferramentas utilizados


mkinitrd
mkinirramfs
make
Alvos do rnake (conflg, xconfig, menuconfig, oldconfig, mrproper, zlmage,
bzlmage, modules, modules_instali)

201.3 Aplicar um patch ao kernel


Peso 1
O candidato deve ser capaz de aplicar um patch ao kernel para incluir suporte a um
novo hardware. Este objetivo inclui ser capaz de remover patches previamente aplicados ao kernel.

Conhecimentos chave
Arquivos Makeflle do kernel
Lista parcial dos arquivos, termos e ferramentas utilizados
patch
gzip
bzip2

201.4 Personalizar, compilar e instalar um kemel personalizado e seus mdulos


Peso 2
O candidato deve ser capaz de personalizar, compilar e instalar um kernel 2.6 para
necessidades especficas do sistema, seja aplicando um patch, compilando ou editando sua configurao. Este objetivo inclui ser capaz de identificar as exigncias para
uma compilao de kernel, assim como configurar e compilar seus mdulos.

Conhecimentos chave
Personalizar a configurao atual do kernel;
Compilar um novo kernel e os mdulos apropriados;
Instalar um novo kernel e qualquer mdulo;
Assegurar que o gerenciador de boot conhece a localizao do novo kernel e
dos arquivos relacionados;
/usr/src/linux/;
Arquivos de configurao dos mdulos;
275

Certificao LPI-2

Lista parcial dos arquivos, termos e ferramentas utilizados;


patch;
make;
Ferramentas de mdulos;
I usrlsrcllinux /* ;
/usr/src/linux/.config;
/Iibf mod u les/verso_do_kernel/* ;
/boot/* ;
Alvos do make: ali, config, menuconfig, xconfig, gconfig, oldconflg, modules,
instali. modules_instail, depmod, rpin-pkg, binrpm-pkg, deb-pkg.

201.5 Controlar/investigar o kernel e seus mdulos durante sua execuo


Peso 3

O candidato deve ser capaz de controlar e investigar um kernel 2.6.x e seus mdulos
disponveis.
Conhecimentos chave
Usar comandos para obter informaes sobre o kernel em execuo e seus
mdulos;
Carregar e descarregar mdulos manualmente;
Identificar quando um mdulo pode ser descarregado;
Identificar quais opes um mdulo aceita;
Configurar o sistema para carregar um mdulo por um nome diferente de seu
nome de arquivo.
Lista parcial dos arquivos, termos e ferramentas utilizados
/lib/modules/verso-do-kernelfmodules.dep
Arquivos de configurao de mdulos em /etc
/proc/sys/kcrnel/
dcpmod
insmod
lsmod
rmmod
modinfo
modprobe
uname

276

Apndice

Tpico 202: Incio do sistema


202.1 Personalizar o incio do sistema e o processo de boot
Peso 4

O candidato deve ser capaz de analisar e alterar o comportamento dos servios do


sistema cm qualquer nvel de execuo. exigido slido conhecimento sobre a estrutura do init e do processo de boot. Este objetivo inclui a interao com os nveis
de execuo.
Conhecimentos chave
Linux Standard Base Specification (LSB)
Lista parcial dos arquivos, termos e ferramentas utilizados
/etc/inirtab
/etc/init.d/
/etc/rc.d/
chkconfig
update-rc.d
202.2 Recuperao do sistema
Peso 4

O candidato deve ser capaz de operar adequadamente um sistema Linux durante tanto o processo de boot quanto o modo de recuperao. Este objetivo inclui a utilizao
do inir e as opes do kernel relacionadas a efe.
Conhecimentos chave
initrab
GRUB
shell do grub
Lista parcial dos arquivos, termos e ferramentas utilizados
init
mount
fsck
telinir

1 278

Ceititicao 191-2

Tpico 203: Sistemas de arquivos e Dispositivos


203.1 Trabalhando com o sistema de arquivos Linux
Peso 4
O candidato deve ser capaz de navegar e configurar um por um, sistema de arquivos
Linux padro. Este objetivo inclui saber como configurar e montar diversos tipos dc
sistemas de arquivos.

Conhecimentos chave
Conceito de configurao do fstab;
Ferramentas de manipulao de parties e arquivos SWAP;
Utilizao dc UUIDs.
Lista parcial dos arquivos, termos e ferramentas utilizados
Ietclfstab
/ctc/mtah
tproc/mounts
mount e umount
sync
swapon
swapoff

203.2 Manuteno de sistemas de arquivos Linux


Peso 3
O candidato deve ser capaz de fazer a manuteno adequada de um sistema de arquivos Linux usando as ferramentas de sistema. Este objetivo inclui a manipulao de
sistemas de arquivos padro.

Conhecimentos chave
Ferramentas de manipulao de ext2 e ext3;
Ferramentas de manipulao reiserfs V3;
Ferramentas de manipulao de xfs.
Lista parcial dos arquivos, termos e ferramentas utilizados
fsck (fsck . *)
badblocks

Apndice

mkf's ( mkfs. *)
dumpe2fs
debugfs, debugreiserfs
tune2fs, reiserfstune
mkswap
xfs_info, xfs_check e xfs_repair

203.3 Criando e configurando opes de sistemas de arquivos


Peso 2

O candidato deve ser capaz de configurar a montagem automtica de sistemas de


arquivos utilizando o AutoFS. Este objetivo inclui a configurao de montagem automtica para sistemas de arquivos em dispositivos locais e na rede. Tambm inclui a
criao de sistemas de arquivos para dispositivos como CD-ROMs.
Conhecimentos chave
Arquivos de configurao do autofs;
Ferramentas UDF e 1S09660;
Conhecimento sobre sistemas de arquivo de CD-ROM (UDF, 1S09660,
HFS);
Conhecimento sobre extenses de sistemas de arquivos de CD-ROM (Joliet,
Rock Ridge, EI Tonto).
Lista parcial dos arquivos, termos e ferramentas utilizados
/etcfauto.master
/etc/auto.[dir]
mkisofs
dd
mke2fs

203.4 Gerenciamento de dispositivos udev


Peso 1

O candidato deve entender como o udev identifica e controla dispositivos. Este objetivo inclui a correo de regras do udev.
Conhecimentos chave
Regras do udev;

Certificao

LPI-2

Interface do kerne].

Lista parcial dos arquivos, termos e ferramentas utilizados


udevmoniror
/erc/udev

Tpico 204: Administrao avanada de dispositivos de armazenamento


204.1 Configurao de RAID
Peso 2
O candidato deve ser capaz de configurar e implementar um RAI.D por software.
Este objetivo contempla a configurao de RAiD O, 1 e 5.

Conhecimentos chave
Ferramentas e arquivos de configurao de RAID por software.
Lista parcial dos arquivos, termos e ferramentas utilizados
ntdadm.conf
mdadm
/prc/rndstat
fdisk
204.2 Ajustar o acesso a dispositivos de armazenamento
Peso 1
O candidato deve ser capaz de configurar opes do kernel para diversos dispositivos.
Este objetivo indui saber corno utilizar ferramentas de software para verificar e alterar configuraes de discos rgidos.

Conhecimentos chave
Ferramentas para configurar DMA para dispositivos IDE, incluindo ATAM e
SAlA;
Ferramentas para analisar e manipular recursos do sistema (como inrerrupes);
Conhecimento sobre o sdparm e suas finalidades.

280

Apndice

Lista parcial dos arquivos, termos e ferramentas utilizados


hdparm
sdparm
tune2fs
sysctl
Idevlhd* e Idev /sd*

204.3 Gerenciamento de volumes lgicos (LVM)


Peso 3
O candidato deve ser capaz de criar e apagar volumes lgicos, grupos de volumes e
volumes fsicos. Este objetivo inclui saber como realizar snapshots e redimensionar
volumes lgicos.

Conhecimentos chave
Ferramentas do pacote LVM;
Redimensionar, renomear, criar e apagar volumes lgicos, grupos de volumes
e volumes fsicos;
Criao e manuteno de snapshots;
Ativao de grupos de volumes.
Lista parcial dos arquivos, termos e ferramentas utilizados
tsbi n/ pv*
/sbi n/lv*
/ sbi n /vg*
mount
/dev/mapper/

Tpico 205: Configurao de rede


205.1 Configurao bsica de rede
Peso 3
O candidato deve ser capaz de configurar um dispositivo de rede para conexo local,
com ou sem fio, ou para uma WAN (Wide Arca Nerwork). Este objetivo inclui a
comunicao entre diversas sub-redes dentro de uma rede.

[1

1 282

Certificao LPI-2

Conhecimentos chave

Ferramentas para configurao e manipulao de interfaces de rede ethernet;


Configurao de redes sem fio.
Lista parcial dos arquivos, termos e ferramentas utilizados

/sbin/route
/sbin/ifconfig
fsbin/ip
/usr/sbin/arp
/sbin/iwconfig
/sbin/iwlist
205.2 Configurao avanada de rede e resoluo de problemas
Peso 4
O candidato deve ser capaz de configurar um dispositivo de rede para aceitar diversos tipos de sistemas de autenticao. Este objetivo inclui a configurao de um
dispositivo de rede em trnsito, configurar um ciiente VPN e solucionar problemas
de comunicao.
Conhecimentos chave

Ferramentas para manipular tabelas dc rotas;


Ferramentas para manipular e configurar interfaces de rede ethernet;
Ferramentas para analisar o estado dos dispositivos de rede;
Ferramentas para monitorar e analisar o trfego TCP/IP;
OpenVPN.
Lista parcial dos arquivos, termos e ferramentas utilizados

fsbin/route
/sbin/ifconfig
/bin/netstat
/bin/ping
/usr/sbin/arp
/usr/sbin/tcpdump
/usr/sbin/lsof
/usr/bin/nc
/sbin/ip
/etc/openvpn/*

Apndice

openvpn
nmap
wireshark
205.3 Soluo de problemas de rede
Peso 5

O candidato deve ser capaz de identificar e corrigir problemas comuns de configurao de redes e conhecer a localizao de arquivos e comandos bsicos de configurao.
Conhecimentos chave

Localizao e contedo dos arquivos de restrio de acesso;


Ferramentas para configurar e manipular interfaces de rede ethernet;
Ferramentas para manipular tabelas de rotas;
Ferramentas para exibir o estado da rede;
Ferramentas para obter informaes sobre a configurao da rede;
Maneiras de obter informaes a respeito dos dispositivos reconhecidos
e utilizados;
Arquivos de inicializao do sistema e seus contedos (processo de inicializao SysV).
Lista parcial dos arquivos, termos e ferramentas utilizados

/sbin/ifconfig
/sbinlroute
/bin/netstat
/etc/network II /etc/sysconfig/necwork-scripts/
Arquivos de Iog como /var/logtsyslog e /var/log/messages
/bin/png
Jetc/resolvconf
fetc/hosts
/etc/hosts.allow e /etc/hosts.deny
/etc/hostname 1 /erc/HOSTNAME
/bin/hostname
/usrfsbin/rraceroute
/usr/bin/dig
/bin/dmesg
/usr/bin/host

283

1284

Certificao

LFI-2

205.4 Informar usurios sobre questes relativas ao sistema


Peso 1

O candidato deve ser capaz de informar os usurios sobre os acontecimentos que


atualmente afetam o sistema.

Conhecimentos chave
Automatizar a comunicao com os usurios usando as mensagens de logon;
Informar os usurio no sistema sobra manutenes no sistema.
Lista parcial dos arquivos, termos e ferramentas utilizados
/ctc/issue
/etc/issue.net
/etc/motd
wall
/sbin/shutdown

Tpico 206: Manuteno do Sistema


206.1 Compilar e instalar programas a partir do cdigo fonte
Peso 4

O candidato deve ser capaz de compilar e instalar programas a partir do cdigo fonte,
o que significa saber como descompactar um arquivo de cdigo fonte.

Conhecimentos chave
Descompactar arquivos de cdigo usando as ferramentas comuns de compresso;
Entender o bsico de como utilizar o make para compilar programas;
Usar parmetros em um script configure;
Saber a localizao padro dos cdigos fonte.
Lista parcial dos arquivos, termos e ferramentas utilizados
/usr/src/
gunzip
gzip
bzip2

Apndice

tar
configure
make
uname
insta!!

206.2 Operaes de Backup


Peso 3

O candidato deve ser capaz de usar as ferramentas do sistema para criar cpias de
segurana dos dados importantes.

Conhecimentos chave
Conhecimento sobre quais diretrios devem ser includos num backup;
Conhecer as soJues de backup em rede como Amanda, Bacula e BackupPC;
Conhecer os prs e comias de fitas, CDR, discos ou outros meios de backup;
Realizar backups manuais e parciais;
Verificar a integridades de arquivos de backup;
Restaurat backups parcialmente e completamente.
Lista parcial dos arquivos, termos e ferramentas utilizados
/bin/sh
cpio
tar
fdev/st * e /dev/nst
mt
rsync

Tpico 207: Domain Name Server


207.1 configurao bsica de um servidor ONS
Peso 2

O candidato deve ser capaz de configurar o BIND para funcionar como um servidor
DNS apenas de cache. Este objetivo contempla saber como converter configuraes
antigas do BIND para o novo formato, administrar um servidor em execuo e configurar o registro de log.
285

Certificao

LPI-2

Conhecimentos chave
Arquivos de configurao, termos e ferramentas do BIND 9.x;
Definio de localizao dos arquivos de zona do BIND nos arquivos de
configurao do BIND;
Recarregar configuraes e arquivos de zona alterados.
Lista parcial dos arquivos, termos e ferramentas utilizados
/etc/named.conf
/var/ narne d/*
/usrfsbin/rndc
kill

207.2 Criar e manter zonas de DNS


Peso 2
O candidato deve ser capaz de criar um arquivo de zona para redirecionamento,
zona reversa ou servidor raiz. Este objetivo inclui definir apropriadamente valores de
registros, incluindo bons em zonas e adicionando as zonas ao DNS. Tambm deve
ser capaz de delegar uma zona a outro servidor DNS.

Conhecimentos chave
Arquivos de configurao, termos e ferramentas do BIND 9;
Ferramentas para solicitar informaes de um servidor DNS;
Formato, contedo e localizao dos arquivos de zona do BIND;
Mtodos para incluir um novo host zona, incluindo zonas reversas.
Lista parcial dos arquivos, termos e ferramentas utilizados
/var/namedl*
Sintaxe de arquivos de zona
Formato dos registros
dig
nslookup
host

Apndice

207.3 Segurana de servidor ONS


Peso 2

O candidato deve ser capaz de configurar um servidor DNS para operar sob um
usurio diferente do root e dentro de uma ambiente chroot. Este objetivo inclui
realizar a troca segura de dados entre servidores DNS.
Conhecimentos chave

Arquivos de configurao do BIND 9;


Configurao do BIND para operar num ambiente chroot;
Dividir a configurao do BIND usando redirecionamentos.
Lista parcial dos arquivos, termos e ferramentas utilizados

/etc/named.conf
fetc/passwd
DNSSEC
dnssec-keygen

287

1288

Certificao LPI-2

:ojato

1Iiu1
1!1 iat

!Wii 4ifr)

Primeira prova para a certificao LPI nvel 2.

Tpico 208: Servios Web


208.1 Implementar um servidor Web

Peso 3
O candidato deve ser capaz de instalar e configurar um servidor web. Este objetivo
inclui monitorar a carga e performance do servidor, restringindo o acesso, suporte
aos mdulos de linguagens de script e configurao de restrio de acesso por cliente.
Inclui saber como configurar o servidor para restringir o uso de recursos.
Conhecimentos chave

Arquivos de configurao, termos e ferramentas do Apache 2.x;


Contedo e configurao dos arquivos de log do Apache;
Arquivos e mtodos de restrio de acesso;
Configurao do PHP e mod_perl;
Arquivos e ferramentas para autenticao por usurio;
Configurao de requisies mximas, mnimo e mximo e de servidores e clientes.
Lista parcial dos arquivos, termos e ferramentas utilizados

Logs de erro e logs de acesso


.htaccess
httpd.conf
mod_auth
htpasswd
htgroup
apache2cri
httpd
208.2 Manuteno de servidor web

Peso

O candidato deve ser capaz de configurar um servidor web para usar domnios virtuais, Secure Sockets Layer (SSL) e personalizar o acesso a arquivos.

Apndice

Conhecimentos chave
Arquivos de configurao e ferramentas do SSL;
Manuseio de certificados SSL;
Implementao de domnios virtuais no Apache 2.x;
Uso de redirecionamento nos arquivos de configurao do Apache para personalizar o acesso a arquivos.
Lista parcial dos arquivos, termos e ferramentas uti/izados
Arquivos de configurao do Apache
/ ctc/ssllt
openssl

208.3 Implementao de um servidor proxy


Peso 1
O candidato deve ser capaz de instalar e configurar um servidor de proxy, incluindo
polticas de acesso, autenticao e consumo de recursos.

Conhecimentos chave
Arquivos de configurao, termos e ferramentas do Squid 2.x;
Mtodos de restrio de acesso;
Mtodos de autenticao de usurios;
Formato e contedo de ACL nos arquivos de configurao do Squid.
Lista parcial dos arquivos, termos e ferramentas utilizados
squid.corif
ad
http_access

Tpico 209: Compartilhamento de arquivos


209.1 Configurao de servidor SAMBA
Peso 4
O candidato deve ser capaz de configurar um servidor Samba para diversos clientes.
Este objetivo inclui configur-lo para login dos clientes, configurar o grupo de trabalho do servidor e definio das impressoras e diretrios compartilhados. Tambm

Certificao LPI-2

necessrio configurar um cliente Linux para usar um servidor Samba e testar e


solucionar problemas de instalao.
Conhecimentos chave

Documentao do Samba 3;
Arquivos de configurao do Samba;
Ferramentas do Samba;
Montar compartilhamentos Samba no Linux;
Daemons do Samba;
Mapear nomes de usurio do Windows para nomes de usurio do Linux;
Segurana em nvel de usurio e em nvel de compartilhamento.
Lista parcial dos arquivos, termos e ferramentas utilizados

smbd, nmbd
smbstatus, testparm, smbpasswd, nmb!ookup
smbclient
net
/etc/sm b/*
/varflog/samba/
209.2 Configurao de servidor NFS
Peso 4

O candidato deve ser capaz exportar um sistema de arquivos usando o NFS. Este
objetivo inclui restringir o acesso, montar um sistema de arquivos NFS no cliente e
scgurana NFS.
Conhecimentos chave

Arquivos de configurao NFS;


Ferramentas do NFS;
Restrio de acesso para hosts ou sub-redes especficos;
Opes de montagem no servidor e no cliente;
tcpwrappers.
Lista parcial dos arquivos, termos e ferramentas utilizados

/etc/exporrs
exportfs
showmount
290

Apndice

nfsstat
/proctmounts
/etc/fstab
rpcinfo
mountd
portmapper

Tpico 210: Administrao dos clientes de rede


210.1 Configurao DHCP
Peso 2
O candidato deve ser capaz de configurar um servidor DHCP Este objetivo inclui
configurar opes padro e por cliente, incluindo hosts estticos e hosts BOOTE
Tambm inclui configurar um agente de redirecionamento DHCP e manuteno de
um servidor DHCP.

Conhecimentos chave
Arquivos de configurao, termos e ferramentas DHCP;
Configurao de sub-rede e faixas atribuidas dinamicamente.
Lista parcial dos arquivos, termos e ferramentas utilizados
dhcpd.conf
dhcpd.lcases
/var/logfdaemon.log e /var/log/messagcs
arp
dhcpd

210.2 Autenticao por PAM


Peso 3
O candidato deve ser capaz de configurar o PAM para trabalhar autenticao com os
diferentes mtodos disponveis.

Conhecimentos chave
Arquivos de configurao, termos e ferramentas do PAM;
Senhas passwd e shadow.

1292

CertifIcao LPI-2

Lista parcial dos arquivos, termos e ferramentas utilizados


/etc/parn.d
pam.conf
nsswitch.conf
pam_unix, pam_cracklib, pam_limits, pam_listfile

210.3 Uso de cliente LDAP


Peso 2
O candidato deve ser capaz de realizar consultas e atualizaes cm uni servidor LDAP.
Inclui tambm importar e incluir itens, assim como incluir e administrar usurios.
Conhecimentos chave
Ferramentas do LDAP para administrao de dados e consultas;
Alterar senhas de usurios;
Consultar o diretrio LDAP.
Lista parcial dos arquivos, termos e ferramentas utilizados
ldapsearch
ldappasswd
ldapadd
ldapdelere

Tpico 211: Servios de email


211.1 Utilizao de servidores de email
Peso 3
O candidato deve ser capaz de administrar um servidor de email, incluindo a configurao de aliases de email, cotas e domnios de email virtuais, que inclui saber
configurar redirecionamento interno de emails.
Conhecimentos chave
Arquivos de configurao do Postfix;
Conhecimento bsico do protocolo SMTP, sendmail e Exini.

Apndice

Lista parcial dos arquivos, termos e ferramentas utilizados

Arquivos de configurao e comandos do Postfix;


Configurao bsica do sendmail;
Ietclaliases;

Ietc/mail/';
Ietclpost fix /* ;
Comandos da camada de emulao do sendmail;
/var/spoollmail;
Arquivos de log relacionados a email em /var/log/.
211.2 Administrao da entrega local de email
Peso 2

O candidato deve ser capaz dc implementar programas dc gerenciamento de email


cliente, classificar e monitorar a entrada de email.
Conhecimentos chave

Arquivos de configurao e Ferramentas do procmail


Uso do procmail no cliente e no servidor
Lista parcial dos arquivos, termos e ferramentas utilizados

-/.procmail
fetc/procmailrc
procrnail
Formatos mbox e Maildir
211.3 Administrar entrega de email remoto
Peso 2

O candidato deve ser capaz de instalar e configurar servios POP e IMAP


Conhecimentos chave

Configurao Courier IMAP e Courier POP;


Configurao Dovecot.
Lista parcial dos arquivos, termos e ferramentas utilizados

Jetc/courier/*
dovecot.conf

Certificao LPI-2

Tpico 212: Segurana do Sistema


212.1 Configurao de roteador
Peso 3
O candidato deve ser capaz de configurar um sistema para realizar traduo de endereo de rede (NAT, Mascaramento de IP) e determinar sua importncia na proteo
da rede. Este objetivo inclui configurar redirecionamento de portas, regras de filtros
e preveno de ataques.

Conhecimentos chave
Arquivos de configurao e ferramentas do iptables;
Ferramentas e comandos para administrar tabelas de rota;
Faixas de endereos privados;
Redirecionamento de portas e de endereos IP;
Exibir e criar filtros e regras que aceitem ou b!oqueiem datagramas baseados
na origem, destino, protocolo, porta ou endereo;
Salvar e recuperar configuraes de filtragem.

Lista parcial dos arquivos, termos e ferramentas utilizados


/procfsys/net/ipv4
/etc/services
iptables
routed

212.2 Segurana de servidores FTP


Peso

O candidato deve ser capaz de configurar um servidor FTP para download e upload
annimo. Este objetivo inclui as precaues necessrias quando upload annimo
permitido e com as configuraes de acesso de usurios.

Conhecimentos chave
Arquivos de configurao e ferramentas do Pure-FTPd e vsftpd;
Conhecimento do ProFTPd;
Entendimento de conexes FTP passivas e ativas.

294

Apndice

Lista parcial dos arquivos, termos e ferramentas utilizados


vsfrpd.conf
Opes de linha de comando importantes do Pure-FTPd
212.3 Shell seguro (SSH)
Peso 4
O candidato deve ser capaz de configurar e tornar seguro um daemon SSH. Este objetivo inclui administrar chaves e configurar o SSH para os usurios. AJm disso, deve
ser capaz de redirecionar um outro protocolo atravs do SSH e controlar o login SSH.
Conhecimentos chave
Arquivos de configurao e ferramentas do OpenSSH;
Restries de login para o superusurio e para usurios normais;
Controlar e usar chaves de cliente e servidor para realizar login com e sem senha;
Uso do XWindow e outros protocolos atravs de tneis SSH;
Configurao do ssh-agent;
Uso de vrias conexes de diversos hosts para garantir a manuteno da conedo em caso de perda de conexo com um host remoto.
Lista parcial dos arquivos, termos e ferramentas utilizados
ssh
sshd
/etc/ssh/sshd_config
Arquivos de chaves pblicas e privadas
-f.ssh/authorized_keys
PermitRootLogin, PubKeyAuthentication, AliowUsers, PasswordAuthentication. Prorocol
212.4 TCP Wrapper
Peso 1
O candidato deve ser capaz de configurar o recurso TCP Wrapper para liberar conexes para servidores especficos apenas se vindas de hosts ou sub-redes especficos.
Conhecimentos chave
Arquivos de configurao e ferramentas de TCP Wrapper;
Arquivos de configurao e ferramentas do inetd.

Certificao

LPI-2

Lista parcial dos arquivos, termos e ferramentas utilizados

/etc/inerd.conf
/etc/hosts.allow
/etc/hosts.deny
Iibwrap
tcpd
212.5 Tarefas de segurana
Peso 3

O candidato deve ser capaz de buscar alertas de segurana de diversas fontes, instalar,
configurar e operar sistemas de deteco de intrusos, aplicar patches de segurana e
corrigir erros.
Conhecimentos chave

Ferramentas para varrer e testar portas em um servidor;


Endereos e organizaes que divulgam alertas de segurana, como Bugtraq,
CERT, CJAC ou outras fontes;
Ferramentas de implementao de sistemas de deteco de intrusos (IDS);
Conhecimento de OpenVAS.
Lista parcial dos arquivos, termos e ferramentas utilizados

telnet
nmap
snort
fail2ban
nc
iprables

1296

Tpico 213: Soluo de problemas


213.1 Identificar estgios de boot e consertar carregadores de boot
Peso 4

O candidato deve ser capaz de determinar as causas de erros ocorridos durante o


carregamento e uso dos carregadores de boot. Os carregadores de boor em questo
so o GRUB e o LILO.

Apndice

Conhecimentos chave
Incio da operao do carregador de boot e liberao para o kernel;
Carregamento do kernel;
Inicializao e configurao do hardware;
Inicializao e configurao dos servios/daemons;
Conhecer as diferentes localizaes de instalao dos carregadores de boot no
disco ou em mdias removveis;
Sobrepor opes padro do carregador de boot e usar o shell do carregador
de boot.
Lista parcial dos arquivos, termos e ferramentas utilizados
Contedos de ibooti e /boot/grub/
GRUB
grub-install
initrd, initramfs
Master Boor Record
/erciinit.d
lilo
/etc/lilo.conf

213.2 Soluo geral de problemas


Peso 5

O candidato deve ser capaz de identificar e corrigir problemas comuns de boor e


execuo.
Conhecimentos chave
Sistema de arquivos /proc;
Arquivos de log diversos dos daemons e do sistema;
Contedo dei, /boot e /lib/modules;
Informaes exibidas durante o boot;
Entradas do syslog correspondentes ao kernel nos logs do sistema;
Ferramentas para analisar as informaes do hardware utilizado;
Ferramentas para rastrear programas e suas chamadas de sistemas e bibliotecas.
Lista parcial dos arquivos, termos e ferramentas utilizados
dmesg
/sbin/lspci

Certificao LPI-2

/usr/bin/lsdev
fsbin/lsrnod
fsbin/rnodprobe
fsbin/insmod
/bin/uname
strace
strings
Itrace
Isof
lsusb
213.3 Problemas em recursos do sistema

Peso 5
O candidato deve ser capaz de identificar, diagnosticar e consertar problemas no
sistema local usando programas da linha de comando.
Conhecimentos chave

Principais variveis do sistema


fetc/profile && /etc/profile.d/
/etc/init.d/
Ietc/rc.t
/etc/syscrl.conf
/etc/bashrc
/etc/ld.so.conf
Outros arquivos relacionados configurao global do shell
Qualquer editor padro
Ferramentas e comandos padro para edio dos arquivos e variveis mencionados
Lista parcial dos arquivos, termos e ferramentas utilizados

/bin/ln
/bin/rm
/sbin/ldconfig
/sbin/syscrl

302

Tpico 201

Tpico 204

Tpico 207

1.a
2.c
3.b
4.c
5patch
6.e, d
7.modules.dep
8,a, b, c, d
9.d
]O.c

1.b
2.c
3.hdparm
4.a
5./proc/sys/fs/file-max
6.syscrt
7.c
8.vgcreate
9.1vcrcate
10.d

1.b
2.d
3.c
4.rndc
5.c
6ptr
7.c
8.a, c
9.d
10.dnssec-keygen

Tpico 202

Tpico 205

Tpico 208

1.c
2./etc/inittab
3.d
4.b, c
5.a
G.chkconfig --levei 234 ntpd on
7.d
8.root
9.a, b
10.init=/bin/bash

1.b
2h, d
3.arp
4.iwconfig
5.c
6.a, b, e
7.a, b, e, d
8.openvpn.conf
9.c, d
10.wall

1.c
la
3.apache2crl
4.b
5.d
6.c
7.openss1
8.d
9.a
lO.c

Tpico 203

Tpico 206

Tpico 209

2.c, d
3d
4.blkid
5.d
6.sync
7.a
8.c
9.automount
10./etdudev/ruks.d

1.c,d
2./usr/src
3.d
4.make
5.d
G.b
7.a, b
8.mt
9.dd
10.b, d

1.d
2h, d
3.testparm
4.d
5.b
6.smbclient
La, b
8/etc/exports
9.exporrfs
10.a

Tpico 210

Tpico 213

1 .domain-name-servers
2.d
3.dhcrelay
4./var/log/daemon.log
5.c, d
6.a
7.pam_limits.so
8.a
9.d
10.Idappasswd

1 .d
2.d
3.a, c
4.c
5.c, d
6./etc/prof3le
7.b

81
9.vipw
1 O./etc/sysct!.conf

Tpico 211
la, d
2.rnain.cf
3.relay_domains
4.a
5.c
6.c
7. /etc/procmailrc
8.b, c
9.d
1 O.c

Tpico 212
1 .c
2.b
3.b
4dnat
5 .iptables-restore
6.d
7.permitrootlogin no
8.a
9. tcpd
1O.a, c

303

Na pioduo desse livro, uliI'zamos as fanilas tipogrficas:


Garemond IM Franidiri Goihic, Heetica Neue. Heotica LT e intersiate.
O mko do Ivro fco improsse em papsi OUsei 759oe capa
em papei Carto 230 g cora laninao BOPP Britio.
Impresso por RR Donnoosy.

Apndice

2 13.4 Problemas em configuraes de ambiente


Peso 5
O candidato deve ser capaz de identificar problemas comuns na configurao do
sistema e do ambiente e maneiras comuns de corrigi-los.
Conhecimentos chave
Variveis principais do sistema;
Arquivos de configurao do inir;
Processo de inicializao do init;
Arquivos de configurao do cron;
Processo dc login;
Arquivos de armazenamenro das senhas e contas de usurios;
Determinar associaes de usurios e grupos;
Arquivos de configurao SHELL do bash;
Anlise de quais processos ou daemons esto ativos.
Lista parcial dos arquivos, termos e ferramentas utilizados
/etc/inirtab
/etc/rc.local
/erc/rc.boot
/var/spool/cron/crontabs/
Arquivos de configurao padro do shell em Ietc/
/etc/login.defs
/etc/syslog.conf
/ctc/passwd
/etc/shadow
/etc/group
/sbin/init
/usr/sbin/cron
/usrlbin/crontab


-y

Respostas

302

Tpico 201

Tpico 204

Tpico 207

1.a
2,c
3.b
4.c
5.patch
6x, d
7.modules.dep
8.a, Ii, e, d
9.d
10.c

I.b
2.c
3.hdparm
4.a
5.fprodsys/Fs/fi1e-max
6.sysctl
Te
8.vgcreate
9.Ivcreate
10.d

1.b
24
3.c
4.rndc
5.c
6.ptr
7.c
8.a, e
9.d
10.dnssec-keygen

Tpico 202

Tpico 205

Tpico 208

1.c
2./etc/inittab
3.d
4.b, e
5.a
6.chkcoiifig -levei 234 ncpd on
7.d
8.root
9.a, b
10.inic=/bin/bash

1.b
2.b, d
3.arp
4.iwconfig
5.c
6.a, b, e
7.a, b, e, d
8.openvpnconf
9.c, d
IO.wall

1.c
2.a
3.apache2ctl
4.b
54
6,c
7openssl
8.d
9.a
10.c

Tpico 203

Tpico 206

Tpico 209

1.b
2.c, d
3.d
4.blkid
5.d
6.syric
7.a
8.c
9.autoniount
10./etc/udev/rules.d

1.c,d

14
2.b, d
3.cestparm
44
5.b
6.smbclient
7.a, b
8./etc/exports
9exportfs
10.a

2.Iusrfsrc

3.d
4.make
5.d
6.b
La, b
8.mt
9.dd
101, d

Tpico 210

Tpico 213

1 .domain-name-servers
2.d
3.dhcrelay
4./var/log/daemon.log
5.c, d
6.a
7.pam_Iimits.so
8.a
9.d
lidappasswd

1 .d
2 .d
3.a, c
4.c
5.c, d
6.Ietclprofi!e

7.b
8.b
9.vipw
1 O./etc/sysctl.conf

Tpico 211
La, d
2.rnain.cf
3.relay_domains
4.a
5.c
6.c
7./etc/procmailrc
8.b, c
9.d
1O.c

Tpico 212
1 .c
2.b
3.b
4.dnat
5 .iptables-restore
6.d
7.permitrootlogin no
8.a
9.tcpd
lOa, c
303

Na xoduo desse livro, ulrszarncs as famias lipog!Mcas:


Gararnond, ITC Frarn Gott HeMtIa Neoe. Helvelica LT e InIerstalo.
C miolo do Svro toi impresso em papol 051$85 75 9 O a capa
ei, papel Cartn 230 g com lannao BOPP Bilho,
Impresso por RR Corais

Potrebbero piacerti anche