Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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.
~
LPI 2
201 202
Lela tambm:
Certificaco LPI-1
lu
Y
E"
Certficaao
2
UNLIX NEWMIDIA
1
T edio
So Paulo
2009
Certificao LPI-2
por Luciano Antonio Siqueira
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
Sumrio
Prefcios
Introduo
11
11
15
16
19
25
27
28
41
42
46
55
56
63
69
74
83
84
87
91
99
100
106
120
122
129
130
133
143
144
146
155
163
164
171
175
181
182
188
197
198
201
205
217
218
223
225
233
234
242
243
248
251
257
258
263
265
267
Apndice
273
Respostas
301
Li
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
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).
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
13
Certificao LPI-2
14
Tpico 201.
O kernel Linux
Principais temas abordados:
Identificao dos componentes do kernel;
Compilao do kernel;
Patches e personalizao do Remei.
Certificao LPI-2
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
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
2e
6-'
e
30
Verso principal
Correes urgentes
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 .
arquivo imagem o kernel em si, que mais tarde ser invocado pelo carregador de
boor durante o carregamento do sistema.
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
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
- -
Figura 1. A intertace de configurao neurses a mais simples e a mais utilizada para configurao
do kernel.
20
a-,
LaSIelat ipp.idtokat.S...e
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,..,
tanI4.00 1E5PCan4EKT4LJ
*
ii
-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.
DXC
1M
PMTBACETC
V5
5 5
5 5
HIDEIVdATION
LOPI
Anil
CPU DO/O
SUSPEND
PMOOSABLO_CONSOLE -
ii
II
5 5
21
Certificao LPI-2
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
22
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,
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
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
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.
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
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.
capaz de executar;
Networking: Suporte e configurao dos diferentes tipos de plataformas
de rede;
Certificao LPI-2
relacionados;
Kernel hacking: Opes de depurao do kernel.
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
: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-
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.
Apesar de o comando insmod ainda ser aceito, o comando padro para manejo de mdulos nas verses mais teceMos do kernel
o nodprobe.
30
lsrod
S 1 ze
Module
Jsed by
81440
snd_usb
ib
15276
pppdef1ate
4652
bsd coiiip
5228
ppp_async
8428
crc ccitt
1612
1 ppp async
ppp_generic
23136
5260
shc
option
21296
usbserial
30568
3 opton
7184
ppdev
v412 cornion
13164
2 tunersaa7134
snd
47668
19 snd usb
udio,snd uso
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
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
11ib/Inodules/2.6.30.4-smp/kernel/sound/pci/hda/snd-hda-intel .ko
descrpt 1 on:
:ense;
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:
parm:
pari":
pari':
parr:
array of charp
fone. 2 = POSBUF).
parr:
parifi:
par:":
parin:
Si).
(array of int)
pari:
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
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
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
38
6. Quais comandos podem ser utilizados para gerar uma Initial Ramdisk? Marque
todas as opes corretas.
a. mkisofs
Ii fdisk
c. mkinitramfs
d. mkinitrd
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
39
Tpico 202
Inicio do sistema
Certificao IPI-2
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
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
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:
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
stop 190 1 6
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
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
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.
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
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
mil
d. grub
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
6. Com o comando chkconfig, como o servio ntpd pode ser ativado nos nveis de
execuo 2, 3 e 4?
c.M
d. 3
substitui o
53
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
Kernel Linux
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.
(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
'O arquivo /etc/mtab j no mais o padro para conferncia de sistemas de arquivos montados em sistemas Linux, mas ainda
57
CerlIfIcao LPI-2
# 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
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.
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.
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:
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
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
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:
Q iournauingem Sistemas de
64
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
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
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
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.
Certificao LPI-2
# debugfs -w /dev/hda6
debugfs:
isdel
12
Size
O 100644
32
Blocks
Time deleted
1/
1 Thu May 10 17:42:13 2007
<12> relatorio.txt
sejam verificados uni aps o outro e tio taja cohfso no caso do modo Intorativo.
N
-P
R
68
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.
1 70
Certificao
LPI-2
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.
/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 :
-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/&
-fstype=nfs
192.168.11.1:/horne/adeniar
osires
-fstypenfs
192.168.11.1:/home/osires
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:
dd if-/dev/cdrom ofinagem.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
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
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
# udevadm monitor
monitor wfl print the received events for:
-
KERNEL
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-
/devices/pc0000:00/0000:00:1d.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
/devices/pci0003:00/0000:00:Id.3/usb4/4-1/4-
/dev1ces/pci0000:0010000:00:ld.3/usb4/4-1 (usb)
/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
/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
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'
Exerccios
1 80
Certificao LI'I-2
4. O comando
utilizado para obter os nmeros UUID de todas os sistemas de arquivos utilizados pelo sistema.
7.
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
10. As regras de eventos udev ficam armazenadas em arquivos dentro de qual diretrio? Informe a caminho completo para o diretrio.
81
Tpico 204.
Hardware
Principais temas abordados:
Configurao de RAIO e LVM;
Ajustes de dispositivos de armazenamento.
Certificao LPI-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
S
O
2
8
Certificao LPi-2
-c
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
86
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
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
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
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
Em um disco SATA:
i hdparrn -
/dev/sda
/dev/sda:
Mod&-ST3I602I1AS
, Fwy34AE
, Sera 1 Nr
6PT136AM
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
Certificao LPI-2
SAMSUNG HM32031
2S50
ARRE
PER
RCO
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.
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
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;
Certificao LPI-2
# 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
/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
# 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
- - -
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
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
94
Exerccios
Certificao
LPI-2
3. O comando
utilizado para ligar ou desligar a configurao DMA dc
um dispositivo de armazenamento.
a. sdparm /dev/sda
ti hdparm /dev/sda
e. fdisk /dcv/sda
d. is -1 Idevlsda
6. O comando
Iproc/sys.
96
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.
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
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
1 102
Certificao 191-2
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
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:
#
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:
#
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
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
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
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
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
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
ECHO_RE-
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
netstat -1 --inet
Conexes Internet Ativas (sem os servidores)
State
Foreign Address
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
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
OO
00
O
O
ethO
ethO
1112
Certificao LPI-2
II isof -1 tcp
COMMANO
PID
USER
FD
1554
rpc
4u
1Pv4
4358
rpc.statd 1583
root
7u
IPv4
4421
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
-t
-e
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
-1
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
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
Certihcao
LPI-2
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
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
STATE SERVICE
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
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:
host nome
Mostra pacotes cujo destino seja a rede especificada peo termo rede.
Pode ser no formato numrico ou um nome em /etc/networks.
net rede
port porta
portrange porta1porta2
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
um tnel criptogra-
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
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
.=
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
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.
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
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
II dig webmail
192.168.1.250
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
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.
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.
15 minutos.' 1 wa]
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
126
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
10. O comando __________ utilizado para enviar mensagens para todos os usurios
acessando o sistema cm questo via terminal.
127
Tpico 206,
Manuteno
do sistema
Principais temas abordados:
Compilar e instalar programas;
Operaes de backup.
Certificao LPI-2
cat resynthesizer-0.16.tar.9z
xzf
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.
Certificao LPI-2
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
132
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
Certificao
LPI-2
I*.'{'I t*T'
ihome
Ietc
Cooflgbraes gerais
iva r
/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.
134
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
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
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:
-
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
Exerccios
)
1140
Certificao 121-2
2. Pelo padro FHS, onde devem ficar os arquivos de cdigo fonte dos programas?
Informe o caminho completo.
7. Quais desses comandos podem ser utilizados para aglutinar arquivos? Marque
todas as respostas corretas.
a. tar
b. cpio
C.
gzip
ci. bzip2
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
'
- 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
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.
e 'roct.nnts";
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
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";
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
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)
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
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
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
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;
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
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;
type forward;
forwarders (
200. 192. 140. 21;
200.192.143.5;
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
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.
Certificao LP!-2
# diq SflDyd
nk.qo 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
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
259203
;; ADOITIONAI SECTION:
# flsloOkup
)
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
LI
Certificao 191-2
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:
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
Tpico 207:
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 [
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
160
Tpico 207:
S. Quais comandos permitem o diagnstico detalhados de um servidor DNS? Marque todas as opes corretas.
a. nslookup
b. ping
e. dig
d. nmap
10. O comando
tem a finalidade de getar chaves criptogrficas
para troca segura de zonas entre servidores DNS.
Certificao LPI-2
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
Certificao LPI-2
StartSeryers 5
MaxCiients 150
MaxRequestsPerChild O
LoadModue vhost
'odu'e
LoadModue env_module
1 Dexec/apache/ruo env.so
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
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
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
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
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
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:
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
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>
>
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>
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
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
Certificao 191-2
jeioInks&di Se.fln.
do
certifica-
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.
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
4. Qual comando do Apache utilizado para criar uma conta de autenticao HTTP?
a. passwd
b. htpasswd
e. htaccess
cl. apache2ctl
178
179
/-
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
[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
bili:
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
0
1 bi
Certificao
1.21-2
domain kgons' Determina a ativao do login remoto para o domnio especificado acima.
Yes
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$
winxp-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:
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
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
hill
Disk
Comment
Servidor Slackware/Saniba
[stacao Windows
187
Certificao LPI-2
Workgroup
Ilaster
HOME
LCNSQR
fuba
O arquivo em questo dever ser legvel apenas ao roor, evitando que outros usurios possam ver o contedo do arquivo. O
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
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
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
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
Tpico 209:
Compartilhamento de arquivos
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
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
-a deve ser
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.
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
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.
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
-rw-r--r
-rw-r--r
-rw-r--r
-rw-r--r
-rw-r--r
1 root root
-rw-r--r
-rw-r--r
-rw-r- -r
1 root root
-rw-r--r
-rw-r--r
-rw-r- -r
1 root root
-rw-r--r
-rw-r--r
dulos do mesmo tipo podem ser interligados, exigindo que a autenticao responda
Os
autenticao MM.
a vrios critrios.
autn
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
requisite
required
sufficient
optional
-
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
requisite pan_securetty.so
Certificao LPI-2
auth
requisite pam,_.nologin.so
required
pam_env.so readenv-1
required
pamJimits.so
optional
pam_lastlog.so
optional
pam_motd.so
include common-account
include common-session
tincl ude common-password
requisite
pam_securetty.so
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
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,
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
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
/var/run/slapd/slapd,pid
/varfrun/slapd/sl apd.args
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
206
o-nm-br,c-BR"
'cnadmin,olnrtbr,c-BR"
{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"
objectClass eq
Conectando ao diretrio
Para testar a configurao, pode ser utilizado o comando si aptest:
# slaptest
config file testing succeeded
(.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
208
-w
# 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
# 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
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
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
5. Quais dos tipos de autenticao PAM citados so vlidos? Marque todos os corretos.
a. gerty
b. math
e. auth
d. account
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
218
/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//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-
/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')
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
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
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
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
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
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
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
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
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
228
Exerccios
w
Certificao LPI-2
3. Qual entrada de conflgurao do Postfix determina para quais domnios ser feito
relay de email?
7. O arquivo
Informe o caminho completo.
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
\ / _____
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
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.
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:
235
Certificao LPI-2
NAT
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.
Certificao 191-2
238
to-destination
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
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 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
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
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
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
Certificao LPI-2
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
# Is -id /horne/ftp/incoming
drwxr-xr-x 2 ftp ftp 62007-06-12 17:16 /home/ftp/incoming/
242
0
1
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
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
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
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
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
1 248
Certificao LPI-2
$ vncviewer localhost:
X luciano@192.168.1.1
-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.
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:
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
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
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
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
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
_______
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.
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
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
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:
carregador de boot, como o nome sugere, carregar o kernel, que passar a ter
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
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
Esse
es voltadas para servidores. Uma listagem que foge muito da sequncia exibida
ou que sequer alcana uma das etapas
da inicializao.
primeiro estgio do
Lilo consiste
1:
2:
3:
4:
Setor no encontrado;
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.
-
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
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.
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
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
/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
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
267
[ Exerccios
Certificao [91-2
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
o. Isof
d. strace
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
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
/usr/src/linux
/usr/src/linux/Documentation
zlmage
bzlmage
201.2 Compilando um kernel
Peso 2
/usr/src/linux
Arquivos de configurao do GRUB
Alvos do make para o kernel 2.6.x
274
Apndice
Conhecimentos chave
Arquivos Makeflle do kernel
Lista parcial dos arquivos, termos e ferramentas utilizados
patch
gzip
bzip2
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
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
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
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
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
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].
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
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/
[1
1 282
Certificao LPI-2
Conhecimentos chave
/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
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
/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
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
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!!
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
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
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
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
/etc/named.conf
fetc/passwd
DNSSEC
dnssec-keygen
287
1288
Certificao LPI-2
:ojato
1Iiu1
1!1 iat
!Wii 4ifr)
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
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
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
Certificao LPI-2
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
/etc/exporrs
exportfs
showmount
290
Apndice
nfsstat
/proctmounts
/etc/fstab
rpcinfo
mountd
portmapper
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
Conhecimentos chave
Arquivos de configurao, termos e ferramentas do PAM;
Senhas passwd e shadow.
1292
CertifIcao LPI-2
Apndice
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
-/.procmail
fetc/procmailrc
procrnail
Formatos mbox e Maildir
211.3 Administrar entrega de email remoto
Peso 2
Jetc/courier/*
dovecot.conf
Certificao LPI-2
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.
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
Certificao
LPI-2
/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
telnet
nmap
snort
fail2ban
nc
iprables
1296
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
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
/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
Apndice
-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