Você está na página 1de 59

APOSTILA TREINAMENTO AVANADO EM LINUX

V1.5


Instrutor: Rodrigo Rubira Branco
Empresa: Firewalls Security
Corporation Site : www.irewalls.com.br
!"ttp:##www.irewalls.com.br#$
Contatos: cursos%irewalls.com.br
&ata : 15#'1#(''(
&ura)*o : +' "oras
Contedo do Curso:
-ChangeLog v1.5
-Introduo
-Objetivos
-Listas de Discusses de auru
-!eca"itu#ando o $%du#o &sico
o'ist%ria do Linu( )no ser& revisado*
oInsta#ao do Conectiva+ do ,#ac-.are+ via !ede )no ser& revisado*
oCo$andos &sicos do ,iste$a
Man
Projeto LDP, help, info (no ser revisado)
Logout
Shutdown -r now
Su
Ls (-la)
Cd (desloa!ento relativo " a#soluto)
Cp
Mv
$lias
Clear
M%dir (-p)
&!dir (-p)
&! (-rf)
'ho (w, who is god, whoa!i)
Df
(ree
Cat )pro)puinfo
Setter!
*put
+pti!e
$r,uivos da -niiali.a/o
0ariveis
0arivel PS1
$r,uivo )et)!otd
$r,uivo )et)issue e )et)issue2net
Ps (au")
3ill
3illall
Sinais (1, 4, 15)
*ouh
(ind
Loate
*op
0i (6w 6" 6, 6,7 ))
8a%ground (9)
:o#s
(g
Ln (-s)
Ch!od (ugo ;rw")
+!as%
Chown (user6group)
Chgrp
Carateres <speiais (=,>?,@,A)
Bo!e do +surio
$diionando u! Crupo
$diionando u! +surio
Senhas SB$DD'
$r,uivo )et)passwd
$r,uivo )et)group
Por,ue sa#er editar !anual!ente usurios e gruposA
oCaracter/sticas da ,he## 0,'
o,he## ,cri"t
E7)#in)#ash
-f > ondiao ? then fi
(or variavel in lista do done
Sript $diiona 1FFF usurios
Sript $#rir -nterfae ,ue <solher
-0"ro1undando-se e$ ,'2LL ,cri"t
oCase
o&eesrevendo o sript de a#rir interfae usando o ase
o'hile
oD o!ando C+*
o<srevendo u! sript para aertar as per!issGes do BDM< dos usurios
oPara aprofundar6 Sript Log&otate2sh
-3ti#i4ando o 5I
o<ditando u! te"to
o-ndo para a Hlti!a linha
o-ndo para a pri!eira linha
o-ndo para a enIsi!a linha
o&e!ovendo u!a linha
o&e!ovendo a partir do ursor
oColoando nH!ero nas linhas
oSu#stituindo linhas
oSalvando
oSaindo e salvando
oSaindo se! salvar
oSalvando para outro ar,uivo
oSaindo e salvando e! outro ar,uivo
o(or/ar salva/o
o-nserir linha a#ai"o do ursor
o-nserir linha ai!a do ursor
oCopiar e olar linhas
-2ntendendo o siste$a de ar6uivos do Linu(
o<strutura de DiretJrios
oMD+K*
o(S*$8
o(D-S3
o(SC3
o(D(D&M$*
oM3(S
oM3S'$P
-Con1igurao e Insta#ao do 7erne#
o<ntendendo o oneito de !Jdulos
oCereniando MJdulos
o$diionando Suporte a u! Kovo Bardware
oPersonali.ando o %ernel
-8erra$entas &sicas de !ede
o-fonfig
o&oute
oKetstat
oPing
o*raeroute
oKsloo%up
o<ditando os ar,uivos de onfigura/o !anual!ente
-Co$"actadores e 2$"acotadores de 0r6uivos
oC.ip
oLip
o8.ip
oCo!press
o*ar
-0genda$ento de 9are1as
oCron
o$t
-2ntendendo o ,u"er Dae$on Inetd
o)et)inetd2onf
o)et)hosts2allow
o)et)hosts2denM
-Con1igurando o boot da $&6uina: :etc:#i#o.con1
-Insta#ao e co$"i#ao de a"#icativos
oD g
oD o!ando 2)onfigure
oMJdulos do perl
oD o!ando !a%e
oD o!ando !a%e install
oNuando oorre! os pro#le!as222
o;erencia$ento de "acotes !<=
-nstalando
&e!ovendo
$tuali.ando
Pes,uisando
<rros Co!uns
-Con1igurando o >8,
o<solhendo os diretJrios a o!partilhar
o$tuali.ando ta#ela de ar,uivos o!partilhados
oPort!ap
o$ionando o Port!ap
o$ionando o K(S
o0erifiando ar,uivos o!partilhados pela !,uina
o0erifiando lientes ,ue esto aessando os ar,uivos o!partilhados
-,0=0
o<ntendendo o (uniona!ento do Ket8-DS
o<ntendendo o (uniona!ento do Sa!#a
oConfigurando u! servidor S$M8$
oCo!partilhando DiretJrios atravIs do S$M8$
o$essando ar,uivos o!partilhados atravIs do Linu"
o(a.endo u!a !,uina 'indows se autentiar no Linu"
-Con1igurando o ,,'D
o&etirando a o!pati#ilidade o! a 0erso 1
o&etirando o uso da diretiva +seLogin
o$u!entando a have riptogrfia
oPer!itindo ao root se logar re!ota!ente
-Con1igurando o <ro89<d
oBa#ilitando usurio anonM!ous
oMudando infor!a/Ges do servidor
oDiretivas de onfigura/o
-Con1igurando o I>D
o<ntendendo o DKS
oConfigurando u!a Lona de <"e!plo
oConfigurando u!a Lona &eversa de <"e!plo
oDs ar,uivos de Lonas
-Con1igurando o 0"ache
oSo#re
oPor,ue utili.a-lo
o<"e!plo de onfigura/o
-Con1igurando o <ost8i(
o<ntendendo o servidor de <!ails
oPor,ue utili.ar postfi"
oDiretivas de onfigura/o
-,egurana
oNuesitos para u! siste!a seguro
oDnde se atuali.ar
o=ontando u$ 1ire.a## #inu(
<ntendendo o ipta#les
&egras de entrada, saOda e passage! de paotes
*a#elas do ipta#les
Proi#indo protoolos
Proi#indo portas e tipos de !ensagens
Proi#indo flags *CP
Proi#indo estados de paotes
Li!itando as one"Ges
ChangeLog v1.5
,s mudan)as da -ers*o 1.' para a -ers*o 1.5 s*o:
.Corrigido erro pe/ueno na parte de 0"ile
.Inclu1do o comando tput
.Inclu1do o comando setterm
.Inclu1do o desaio logRotate.s"
.Inclu1da a parte de 2FS
.Inclu1da a parte sobre S,3B, . 14#'5#(''(
.,dicionada a se)*o de SE67R,28, . 14#'5#(''(
.3udado um pouco o comando 9:; . 14#'5#(''(
.Corrigido pe/ueno erro na parte de samba reerente a -alid users< /ue
antes esta-a como %usuario o /ue na -erdade poderia ser %grupo ou
simplesmente usuario . 1=#'5#(''(
.Corrigido pe/uena al"a na parte sobre man< >? /ue ica-a um n@mero = auto.
colocado pelo :pen:ice como continua)*o da ordena)*o
.Corrigidos erros de acentua)*o . 1=#'5#(''(
.Faltou a op)*o countAB1C= no comando && . 1=#'5#(''(
.SDria incongruEncia na :BS do comando 3:729 oi corrigida< >? /ue # D um
ponto de montagem de uma parti)*o de nosso F& e n*o nosso F& como oi dito
. 1=#'5#(''(
.Corrigidos erros de escrita . 1=#'5#(''(
.Corrigido problema sDrio no comando 3GFS onde se diHia /ue o mIs &EVERI,
suportar o sistema de ar/ui-os a ser montado< mas /uem realmente de-e suportar
este sistema D o Iernel . 1=#'5#(''(
.,dicionada a se)*o: ,r/ui-o #etc#group . 1=#'5#(''(
.,dicionada a se)*o: ;or/ue saber editar manualmente usu?rios e gruposJ .
1=#'5#(''(
.&isponibiliHada -ersKes em .S&0 e .9L9 do documento . 1=#'5#(''(
.Reescrita e mel"orada um pouco a parte sobre S,3B, Mcorrigido pe/ueno detal"e
no mapeamento de diretNrios -ia script de logon< por/ue utiliHa-a.se H:< mas este
diretNrio D utiliHado pelo windows como um tempor?rio do netlogon e isto
causa-a problemasO . (1#'5#(''(
.Reescrita a parte sobre FS9,B para corre)*o de alguns erros . (1#'5#(''(
I>9!OD3?@O
P muito importante a constante atualiHa)*o tecnolNgica< principalmente nos dias
atuais nos /uais a internet se tornou n*o sN uma realidade global< como tambDm uma
necessidade empresarial.
,s institui)Kes de ensino< sempre pioneiras no gEnero 72IL e I29ER2E9< n*o
de-em e n*o podem icar para tr?s nesta no-a onda global: o QI27L.
Sistema operacional /ue surgiu e se diundiu com o apoio de 72IVERSI&,&ES< o
QI27L -em crescendo esplendorosamente e se mostrando um sistema operacional
altamente coni?-el e robusto< satisaHendo todas as necessidades do mercado< com eRce)*o
da alta de proissionais espec1icos para ele.
&e-ido a isto< -en"o com esta apostila e este treinamento Ma apostila ser? distribu1da
gratuitamente na internet e eu oere)o o treinamento para /ual/uer empresa ou institui)*o
/ue dese>arO tentar reprimir a alta de proissionais e o mais importante< di-ulgar ainda mais
o QI27L.
OA29I5O,
:s ob>eti-os deste treinamento n*o s*o os de tornar seus adeptos especialistas
a-an)ados no sistema operacional< e sim usu?rios e administradores a-an)ados.
Isto /uer diHer /ue eles dominaram algumas caracter1sticas do sistema< mas de-em
estudar e se aproundar muito para se tornarem especialistas e proissionais no mesmo.
Espero con-erter os usu?rios /ue leiam e a)am o treinamento e mostrar.l"es /u*o
?cil D entrar no mundo QI27L.
;ercebam /ue a apostila D tDcnica< n*o sendo altamente instruti-a isoladamente< por
isso< a)am os eRemplos desta e -e>am os manuais para maiores entendimentos. Ela D
apenas um complemento do treinamento completo< mas pode acilmente se tornar um curso
atra-Ds de um documento para as pessoas mais esor)adas e interessadas.
2S: icarei preso a uma @nica distribui)*o< mas gostaria de lembrar /ue
pessoalmente eu utiliHo o FwSec QinuR< um SlacIware QinuR modiicado e com a seguran)a
reimplementada pela min"a empresa MFirewalls SecurityO< portanto< todos os eRemplos
mostrados ser*o em Conecti-a QinuR Mno /ual sou certiicadoO e SlacIware QinuR.
9ambDm 2S: mencionarei o uso de Coniguradores 6r?icos Mtais como QinuRCon
e 0eb3inO.
:s eRemplos a/ui apresentados s*o ELE3;Q:S< embora as conigura)Kes
uncionem podem n*o ser as ideais para um ser-idor e de-em ser re-istas e acrescentadas.
Esta apostila ;:&E e &EVE ser distribu1da li-remente< desde /ue n*o se>a alterada.
Esta pode ser encontrada online em !"ttp:##www.irewalls.com.br#cursos#linuR$.
Listas de Discusses de auru
Estou tentando ormular algumas listas para discuss*o sobre o sistema operacional
QinuR em Bauru.
,tualmente< eRistem as seguintes listas criadas:
senac
cti
tc"du$"
seguranca
#inu(
;ara se cadastrar acesse:
www.irewalls.com.br#mailman#listino#nome&aQista
!"ttp:##www.irewalls.com.br#mailman#listino#nome&aQista$
Colo/ue seu email e uma sen"a e -ocE receber? uma mensagem com instru)Kes.
: ob>eti-o destas listas D ter discussKes de /ualidade< portanto ser*o monitoradas e
assuntos inundados ser*o proibidos.
!eca"itu#ando o $%du#o &sico
. =an
Comando /ue nos mostra o manual de um outro comando.
7so: man Tse)*oU comando
:bser-e /ue se)*o D opcional< mas pode ser:
1
(
C
+
5
5
4
B
ERemplo de uso:
man 1 ls
7tiliHe #pala-ra para procurar e / para sair.
- Logout
Fec"a a s"ell do usu?rio. Este comando D utiliHado /uando se termina sua
sess*o ou para se trocar de usu?rio.
. ,hutdo.n -r no.
Comando utiliHado para reiniciar a m?/uina. ;ossui alguns similares:
Reboot
Init 5
Ctrl V ,lt V &el
ERiste tambDm o s"utdown ." now /ue desliga a m?/uina. Seus similares:
Falt
Init '
. ,u
7tiliHado para se trocar de usu?rio sem eetuar logout. 3uito comum em
acessos -ia rede< >? /ue -ia rede por deault o root n*o pode se logar.
7sa.se tambDm su .c Wcomando a eRecutarW para se eRecutar um comando
com poderes de root e depois retornar. :b-iamente ser? pedida uma sen"a.
7so do su:
su nome&o7suario,seVirar
. Ls
Comando /ue ser-e para listar ar/ui-os. Suas op)Kes mais utiliHadas s*o
.la< onde o .l signiica para listar as permissKes Minclusi-eO e o .a para listar todos os
ar/ui-os Mlembrando /ue para o linuR ar/ui-os come)ados com . s*o ocultosO.
:BS: : Conecti-a QinuR possui um alias c"amado l para o comando ls .la<
use.o e caso a sua distribui)*o n*o conten"a tal alias< crie.o. Ve>a mais adiante como aHE.
lo.
. Cd )des#oca$ento re#ativo ( abso#uto*
Comando para mudar.se de diretNrio. : deslocamento absoluto se tem
/uando utiliHamos a raiH M#O para indicarmos para onde /ueremos ir. ;or eRemplo<
imaginemos /ue estamos no diretNrio #usr#src#linuR e dese>amos ir para o diretNrio
#usr#src#teste. 9emos duas op)Kes< a seguir:
cd #usr#src#teste &eslocamento absoluto< obser-e o uso do # no in1cio do
diretNrio para o /ual /ueremos ir
cd ..#teste &eslocamento relati-o< perceba /ue se esti-Dssemos em um
outro diretNrio M#usrO por eRemplo< n*o ir1amos cair onde /ueremos. &a1 a con-en)*o de
Wrelati-oW.
- C"
Copia ar/ui-os. 7se: cp ar/ui-o,SerCopiado no-o,r/ui-o
:p)Kes interessantes:
.i ;ede conirma)*o antes de substituir um ar/ui-o eRistente
.R CNpia recursi-a. Ser-e para copiar diretNrios e seu conte@do.
. =v
3o-e ar/ui-os. 7se.o tambDm para renomear.
7so: m- ar/ui-o no-aQocaliHacao#
m- ar/ui-o no-o2ome
Recomendado:
.i Conirma antes de substituir um ar/ui-o eRistente.
:BS: 2o Conecti-a QinuR eRiste um alias tanto para o comando cp como para o m-
com a op)*o .i.
- 0#ias
Cria um apelido para um comando. 9em precedEncia sobre o comando< ou
se>a< pode.se criar um alias do tipo: alias lsAWls .laW. 9oda -eH /ue digitarmos ls na
-erdade ele eRecutar? ls .la.
- C#ear
Qimpa a tela. Recomenda.se a cria)*o de um alias c"amado c para este
comando.
- =-dir )-"*
Comando para a cria)*o de diretNrios. 7sa.se o .p caso se /ueira criar uma
W?r-oreW de diretNrios.
- !$dir )-"*
Complemento do comando mIdir. Ser-e para remo-er um diretNrio -aHio.
, op)*o .p ser-e para remo-er uma ?r-ore de diretNrios -aHia Msem ar/ui-osO.
- !$ )-r1*
Comando utiliHado para apagar ar/ui-os. :bser-e /ue o rm simplesmente
n*o apaga diretNrios. Sua op)*o .r indica para apagar recursi-amente< ou se>a< ir apagando
todos os ar/ui-os em subdiretNrios e inclusi-e os prNprios diretNrios. , op)*o . or)a
apagar< e n*o emite mensagens de erro caso n*o eRista um ar/ui-o.
ER: rm .r ar/ui-oXue2aoERiste
2*o acontecer? 2,&,. 2en"uma mensagem de erro ser? inormada.
- Bho ).+ .ho is god+ .hoa$i*
: commando w"o e w listam os usu?rios /ue est*o logados na m?/uina. :
w tem uma sa1da um pouco mais compleRa< mostrando mais inorma)Kes.
: comando w"o is god D uma s?tira e retorna o nome de seu usu?rio.
: comando w"oami Mpode ser escrito w"o am iO tambDm retorna o nome de
seu usu?rio e D utiliHado para saber com /ual usu?rio -ocE est? logado< muito usado /uando
se utiliHa o su e acaba se conundindo /uem D -ocE.
- D1
3ostra inorma)Kes de sistemas de ar/ui-os montados Mmesmo C&Rom e
&is/ueteO.
- 8ree
3ostra inorma)Kes de memNria Mswap inclusi-eO.
- Cat :"roc:c"uin1o
Inorma)Kes muito completas de seu processador.
- ,etter$
Este comando ser-e para modiicar conigura)Kes do terminal do QinuR< tais
como cor de undo e cor da letra.
ER:
setterm .bacIground green ..$ Fundo Verde
setterm .oreground yellow ..$ Qetra WamarelaW. : amarela
est? entre aspas de-ido ao ato de /ue a cor n*o parece ser amarelo n*o.
:BS: Este comando mudar? a cor a partir do momento em /ue ele or dado<
ou se>a< -ocE precisa imprimir algo na tela ou dar um clear para realmente mudar a cor.
. 9"ut
7tiliHaremos este comando para posicionar o cursor na tela< onde /uisermos.
Ele ser? muito @til /uando esti-ermos construindo s"ell scripts.
ER:
tput cup 5 1' ;osiciona o cursor na lin"a 5 coluna 1'.
- 3"ti$e
3ostra a /uanto tempo o sistema est? ligado. :s maiores uptimes da
internet s*o com m?/uinas 72IL.
- 0r6uivos da Inicia#i4ao
,lguns ar/ui-os s*o eRecutados /uando o sistema reinicialiHa. : /ue nos
ser? con-eniente alar por agora ser? o ar/ui-o #etc#rc.d#rc.local Mtodas as distribui)Kes
de-em tE.lo implementadoO.
Este ar/ui-o ser? o @ltimo a ser eRecutado /uando da inicialiHa)*o do
sistema.
&i-ersos ar/ui-os s*o eRecutados no processo de entrada de um usu?rio no
sistema.
S*o eles:
.bas"rc
.proile
.bas"Ylogin
:s C se localiHam no F:3E do usu?rio
E:
#etc#bas"rc
#etc#proile
:bser-e /ue en/uanto os C primeiros s*o eRclusi-os dos usu?rios Mcada
usu?rio pode ter suas conigura)KesO< os @ltimos ( s*o globais a todos os usu?rios /ue
entrarem no sistema.
2*o recomenda.se alterar o ar/ui-o #etc#proile >? /ue este D de
conigura)Kes e -ari?-eis.
- 5ari&veis
Vari?-eis nada mais s*o do /ue espa)os na memNria /ue armaHenam -alores.
: linuR possui -ari?-eis do prNprio sistema< /ue armaHenam -alores de conigura)Kes ou
inorma)Kes da m?/uina.
;ara -E.las utiliHe o comando set.
;ara darmos um -alor a uma -ari?-el e torna.la global ao sistema< aHemos
eRport -ari?-elA-alor.
;ara retirarmos uma -ari?-el aHemos unset -ari?-el.
- 5ari&ve# <,1
Esta -ari?-el guarda os -alores para o ;R:3;9 do QinuR. :bser-e /ue
estes -alores podem ser -ari?-eis interpretadas pela SFEQQ< e por deault o s*o< ou se>a< se
-ocE utiliHar uma s"ell /ue n*o a s"ell B,SF< eles podem icar sem sentido.
, -ari?-el ;S1 D uma -ari?-el normal do sistema< /ual/uer -alor /ue or
dado a ela ir? icar no prompt.
2o entanto ela possui alguns -alores especiais interessantes< eis alguns:
Z" Fost da m?/uina
Z0 &iretNrio Corrente
Zw Camin"a completo do diretNrio corrente
Zu 2ome do usu?rio
Zt Fora
ZZ[ Fica [ se or usu?rio normal e \ se or root
ERemplo:
eRport ;S1AWTZ"%ZwUZZ[ W
- 0r6uivo :etc:$otd
Este ar/ui-o D lido pelo sistema /uando um usu?rio loga na m?/uina e seu
conte@do D en-iado para a tela do usu?rio< como uma mensagem de boas -indas ou algo do
tipo. ;reste aten)*o /ue comandos 2S: ser*o interpretados.
- 0r6uivo :etc:issue
9ela -ista ,29ES do usu?rio se logar. Seria a prNpria mensagem antes do
login. :bser-e /ue o ar/ui-o #etc#issue.net D o mesmo /ue o issue mas D -?lido para
coneRKes -ia rede MtelnetO. Em algumas distribui)Kes este ar/ui-o D apenas um linI para
o #etc#issue.
- <s )au(*
Comando /ue lista os processos em eRecu)*o no sistema. Recomenda.se
sempre utiliHa.lo com as op)Kes ,7L< para /ue liste 9:&:S os processos ati-os no
sistema.
- 7i##
Ser-e para matar um processo em eRecu)*o. &e-e.se utiliHar um dos sinais
eRistentes para esta tarea. : sinal padr*o D o sinal 15. ,pNs o sinal< de-e.se inormar o
;I& Midentiicador @nico de processosO do processo /ue se dese>a matar MencerrarO.

- 7i##a##
Implementa)*o do linuR muito interessante. ;ermite.se /ue se mate di-ersos
processos com o mesmo nome de uma @nica -eH. :bser-e /ue pode utiliH?.lo para matar
um @nico processo pelo nome< desde /ue se ten"a o cuidado de perceber se n*o eRistem
outros processos com este nome.
ER: Iillall "ttpd
Gillall .= -i
- ,inais )1+ C+ 15*
P importante se lembrar destes C sinais principais:
1.O SigF7; 3anda a aplica)*o reiniciar
=.O SigGIQQ 3anda o Iernel tirar a aplica)*o da lista de
processos ati-os Mmata mesmo]O
15.O Sig9ER3 3anda um sinal para /ue a aplica)*o termine
normalmente
:s sinais s*o utiliHados para comunica)Kes I29ER.;R:CESS:S< ou se>a<
/uando um processo dese>a indicar algo para outro processo.
2este caso< o processo Iill MIillall D a mesma coisaO< en-ia o sinal /ue
pedirmos para a aplica)*o.
ERistem outros sinais Mcomo SigI29O /ue s*o utiliHados pelo sistema. ;ara
-isualiH?.los utiliHe o comando Iill .l.
- 9ouch
Cria um ar/ui-o teRto -aHio. 3uito interessante na "ora de se testar alguma
coisa.
7so: touc" nome&e,r/ui-oaCriar nome&e,r/ui-oaCriar( ...
;ode.se criar di-ersos ar/ui-os de uma @nica -eH.
- 8ind
Busca ar/ui-os. 3uito a-an)ado.
7so: ind &ir,;rocurar op)Kes
ERemplos de uso:
ind # .name Rodrigo.tar ;rocura a partir da raiH Mno sistema todoO
o ar/ui-o c"amado Rodrigo.tar
ind #"ome .eRec grep WtesteW ^_ Z` .eRec ls .la ^_ Z: ;rocura a
partir do diretNrio #"ome ar/ui-os com o conte@do teste Mgrep testeO e lista este
ar/ui-o Mls .laO.
ind #usr .type l .oI rm .r ^_ Z` ;rocura no diretNrio #usr linIs M.
type lO e caso encontre< conirma se de-e ou n*o apagar M.oI rm .rO.
Consulte o manual para inorma)Kes mais interessantes.
- Locate
Busca ar/ui-os< mas utiliHa uma base de dados como padr*o< o /ue o torna
muito r?pido. Cuidado]] ,tualiHe sempre sua base de dados< ou ir*o aparecer ar/ui-os /ue
>? oram remo-idos em suas buscas.
:utro problema do locate D o ato de /ue ele busca /ual/uer ocorrEncia da
pala-ra a buscar< ou se>a< se -ocE iHer locate a< ele ir? listar 97&: no sistema /ue contDm
a pala-ra a.
;ara atualiHar sua base de dados utiliHe: updatedb
;ara buscar utiliHe: locate o/buscar
- 9o"
3Dtodo interessante de se -iHualiHar os processos ati-os na m?/uina.
7se: 3 ..$ :rdenar por consumo de memNria
; ..$ :rdenar por consumo de C;7
- 5i ):. :( :6 :6D :*
atimo editor de teRtos /ue recomenda.se e muito saber. ,s op)Kes -istas
oram:
3odo Comando< Fim de Qin"a e de Edi)*o
:w Sal-a ar/ui-o
:R Sal-a e sai
:/ Sai /uando -ocE n*o alterou nada
:/] Sai sem sal-ar
#pala-ra ;rocura pala-ra
n ;rocura pela prNRima ocorrEncia de pala-ra
- ac-ground )E*
: linuR possui uma op)*o interessante /ue D a de mandar processos para o
segundo plano< liberando assim o ambiente do usu?rio.
;ode.se aHer isso atra-Ds do sinal b apNs /ual/uer comando.
- Aobs
Qista os processos /ue est*o em segundo plano< retornando o n@mero do
processo de segundo plano< /ue de-er? ser utiliHado para traHe.lo de -olta.
- 8g
Comando /ue tr?s de -olta um processo do segundo plano.
7so: g numero;rocessodeSegundo;lanoRetornado;elocobs
- #n )-s*
Este comando cria um linI Matal"oO entre diretNrios e ar/ui-os. 7m linI
simbNlico Mop)*o .sO nada mais D do /ue um ar/ui-o no F& /ue aponta para a ?rea
onde est? o ar/ui-o original. Se o original D apagado< o linI ica W/uebradoW. c? um
linI direto Mapenas lnO d? um outro nome para a mesma ?rea do F&. Como um
bacIup contra remo)*o inde-ida< no entanto usa.se o mesmo espa)o do F&<
reerenciando.no de duas maneiras dierentes. Crie e compare. 7m linI direto n*o
pode ser eito entre diretNrios.
7so: ln .s :riginal QinI
ln :riginal QinI
- Ch$od )ugo Fr.(*
Comando /ue muda as permissKes de um ar/ui-o. Estas podem ser -istas
atra-Ds do comando ls .l.
, es/uerda dos ar/ui-os aparecer? uma cadeia de caracteres de di1cil
compreens*o inicial< mas prestem aten)*o:
;rimeiroCaractere Indica o tipo de ar/ui-o< pode ser:
. ,r/ui-o normal MeRecut?-el ou teRtoO
d &iretNrio
c &ispositi-o orientado a caracteres Mmodem< portas seriaisO
b &ispositi-o orientado a blocos M"dO
s SocIet mapeado em ar/ui-o MWEm 7niR tudo D ar/ui-oWO
p FIF:< comunica)*o inter.processos
l QinI Simblico
C prNRimos Caracteres ;ermissKes V?lidas para o &:2: do ar/ui-o< 1d coluna
com nome de usu?rio.
R ;ermiss*o de leitura. ;ara diretNrios< pode listar seu conte@do.
0 ;ermiss*o de escrita.
L ;ermiss*o de eRecu)*o. ;ara diretNrios< pode entrar nele.
C prNRimos Caracteres ;ermissKes V?lidas para o 6R7;: dono de um ar/ui-o< (d
coluna< do lado da do &:2: do ar/ui-o. :bser-e /ue o 6R7;: dono n*o
necessariamente tem o &:2: como membro.
C prNRimos Caracteres ;ermissKes para o restante dos usu?rios do sistema.
ER: c"mod ugoVrwR .R ar/ui-o:udiretNrio.
, op)*o .R manda dar a permiss*o recursi-amente a todos os ar/ui-os e
subdiretNrios deste diretNrio em /uest*o.
Esclarecendo a SintaRe 76::
7 Reere.se as permissKes para o &:2:
6 Reere.se as permissKes para o 6R7;: &:2:
: Reere.se as permissKes para o restante dos usu?rios
, Reere.se as permissKes para 9:&:S os usu?rios Mmesmo /ue
7go >untoO
VrwR Est?.se dando todas as permissKes
.rwR Est?.se tirando todas as permissKes
:BS: ;ode utiliHar apenas .r ou .w soHin"os< por eRemplo.
Arw Estaria.se igualando as permissKes a VR0.L< ou se>a< /uando
se utiliHa o sinal de igual< as permissKes se I67,Q,3 as /ue o sinal indica< sendo retiradas
as /ue n*o orem mencionadas.
- 3$as-
Comando /ue muda a m?scara de permissKes padr*o para a cria)*o de
ar/ui-os e diretNrios.
Seu uso ser? eRplicado mais adiante< apenas em modo :C9,Q e n*o
C,R,C9ERE. : modo C,R,C9ERE oi eRplicado no curso b?sico< mas n*o o ser? nesta
apostila.
- Cho.n )user:grou"*
7tiliHado para mudar o &:2: e o 6R7;: dono de um ar/ui-o ou
diretNrio.
7so: c"own no-odono:no-ogrupo ar/ui-o:udiretorio
:bser-e /ue a op)*o :no-ogrupo pode ser omitida ou trocada por
.no-ogrupo.
9ambDm a/ui eRiste a op)*o .R.
- Chgr"
7tiliHado para mudar apenas o grupo dono de um ar/ui-o.
7so: c"grp no-ogrupo ,r/ui-o:u&iretNrio
- Caracteres 2s"eciais )G+HI+J+K*
S*o tambDm con"ecidos como 3E9,C,R,C9ERES.
:s mais comuns e utiliHados s*o:
e SimboliHa 97&:
J SimboliHa X7,QX7ER C,R,C9ERE
f SimboliHa o F:3E do usu?rio Corrente
T,BUe Xual/uer ar/ui-o MeO come)ado com , ou com B.
- 'o$e do usu&rio
&iretNrio /ue pertence ao usu?rio< onde ele pode tudo. : comando cd
isolado le-a o usu?rio atD este diretNrio. ,o logar no sistema< o usu?rio cai tambDm em seu
"ome.
- 0dicionando u$ ;ru"o
7m grupo nada mais D do /ue a uni*o de di-ersos usu?rios com as mesmas
caracter1sticas. ;or eRemplo< poder1amos ter um grupo estudantes ou alunos.
;ara adicionarmos este grupo< de-emos utiliHar o comando:
groupadd alunos
2o ar/ui-o #etc#group ser? adicionada uma entrada alunos< e ser? dado um
6I& Midentiicador de grupoO a este grupo.
- 0dicionando u$ 3su&rio
Xual/uer pessoa /ue or utiliHar o linuR de-e necessariamente possuir um
usu?rio -?lido na m?/uina. Qembrando /ue 2S: de-emos utiliHar o root a menos /ue
necess?rio< esta tarea D important1ssima mesmo para usu?rios caseiros.
,dicionando:
useradd rodrigo .g alunos
,dicionamos o usu?rio rodrigo no grupo alunos. :bser-e /ue a op)*o .g
nomegrupo n*o se aH necess?ria< e caso se>a omitida< teremos comportamentos dierentes
em algumas distribui)Kes:
RedFat e amiliares Mincluindo Conecti-aO:
Ser? criado um grupo com o mesmo nome do usu?rio e este ser?
adicionado neste grupo
SlacIware:
: usu?rio ser? adicionado em um grupo c"amado users
Isto ocorre de-ido a n*o padroniHa)*o deste ato e ao ato de um usu?rio
2ECESS,RI,3E29E pertencer a algum grupo
- ,enhas ,'0DOB
: es/uema de sen"as c"amado SF,&:0 oi criado de-ido ao ato de o
QinuR Me os 7niR.QiIe da -idaO utiliHarem em suas sen"as um mDtodo de criptograia
c"amado &ES M&ata Encryption StandardO. Este mDtodo D raco MutiliHa c"a-es de apenas
5+ bitsO e pode ser acilmente /uebrado MVe>a o li-ro CracIing &ES para entender mel"or
sobre este assuntoO. Como o ar/ui-o #etc#passwd necessita ter permiss*o de leitura para
todos< /ual/uer usu?rio acilmente conseguiria obter a sen"a de R::9 do sistema.
Com isso criaram o SF,&:0< onde as sen"as criptograadas com o &ES
icam no ar/ui-o #etc#s"adow /ue sN pode ser -isto pelo root.
Sobra ent*o no ar/ui-o #etc#passwd apenas um e ou ] no lugar da sen"a
criptograada do usu?rio.
9odas as distribui)Kes linuR traHem o SF,&:0 por padr*o.
- 0r6uivo :etc:"ass.d
Este ar/ui-o contDm os usu?rios cadastrados na m?/uina e inorma)Kes
sobre eles. Sua sintaRe D:
login:7I&:6I&:&escri)*o:Fome:S"ell
:nde:
login 2ome do usu?rio na m?/uina
7I& Identiicador do usu?rio. : QinuR utiliHa este
n@mero para dar ou tirar permissKes. ;ode ser repetido
entre usu?rios.
6I& Identiicador do grupo principal do usu?rio.
&escri)*o Xual/uer coisa< se or omitido< de-e.se
deiRar ::. 6eralmente coloca.se nome e cargo do usu?rio
Fome &iretNrio pessoal do usu?rio. 2*o necessariamente<
mas recomenda.se /ue ele i/ue no #"ome e ten"a o
mesmo nome do usu?rio.
ER: 7su?rio: Rodrigo
Fome: #"ome#Rodrigo
S"ell S"ell /ue o usu?rio ir? utiliHar para se logar no
sistema. 7se #bin#alse caso o usu?rio n*o de-a logar. E
#bin#bas" caso de-a.
:BS:
&e-e ter icado na cabe)a do leitor atento o ato de C,S: :
7S7gRI: 2S: &EV, Q:6,R.
3as /uando isto aconteceJ
&igamos /ue temos uma aplica)*o /ue de-e ser eRecutada com as
permissKes de um usu?rio. Criamos um para ela< mas este n*o D um usu?rio -?lido< como
min"a aplica)*o iria entrar na m?/uinaJ Este D um caso.
- 0r6uivo :etc:grou"
Similarmente ao #etc#passwd este ar/ui-o possui as conigura)Kes dos grupos
Mo #etc#passwd possui dos usu?riosO
Sua sintaRe geral D:
!grupo$:R:!gid$:!usuario1$<!usuario($
:s usu?rios /ue pertencerem a este grupo estar*o listados neste ar/ui-o< a
menos /ue o grupo se>a prim?rio do usu?rio< neste caso apenas estaria reerenciado em
#etc#passwd no campo gid.
;reste aten)*o /ue D neste ar/ui-o /ue o 6I& dos grupos est? especiicado<
sendo /ue o #etc#passwd apenas consulta ele.
- <or6ue saber editar $anua#$ente usu&rios e gru"osK
Esta D uma pergunta bem simples< >? /ue teremos de editar manualmente em
di-ersas situa)Kes onde dese>armos modiicar op)Kes de usu?rios e dese>armos aHer
isto de uma orma r?pida e segura.
Caracter/sticas da ,he## 0,'
: 9,B completa< tanto comandos como nomes de ar/ui-os ou diretNrios<
use.o.
Setas para cima e para baiRo mo-imentam.no entre os comandos /ue >?
oram digitados.
S"itV;age7; sobe a tela.
CtrlV& eetua Q:6:FF.
Cuidado]] : QinuR F,h &IFERE28, E29RE 3,IiSC7Q,S E
3I2iSC7Q,S.
Cuidado]] 2*o eRiste 72&EQE9E no QinuR por/ue seu sistema de ar/ui-os
se auto.deragmenta durante seu uso.
,he## ,cri"t
7m s"ell script nada mais D do /ue se utiliHar di-ersos comandos encadeados
em um ar/ui-o. Estes comandos ser*o eRecutados na ordem em /ue orem -istos.
7se: s" ar/ui-o para eRecutar.
LD:bin:bash
o&e-e ser utiliHado no in1cio dos s"ell script
oIndica /ual s"ell de-er? ser utiliHada para a eRecu)*o
o2*o D necess?rio
oCaso omitido< o script ser? eRecutado usando.se a s"ell /ue o
usu?rio esti-er utiliHando no momento.
I1 H condicao I then 1i
oComando condicional< caso a op)*o or -erdadeira ele eRecuta o
/ue esti-er entre o t"en e o i
o:pcionalmente pode.se utiliHar o else.
oER:
i T [-alor A W1W U
t"en
ec"o WValor A 1 W
ec"o W legal]W :correr? um erro< por/ue as W
permitem /ue -alores dentro dela se>am interpretados.
2este caso o ] ser? interpretado como o operador
2:9 e causar? um erro. ;ortanto de-e.se utilHar jj
/ue impede /ue /ual/uer coisa se>a interpretada.
else
ec"o j Valor ]A 1j ,gora esta certo
i
8or variave# in #ista do done
oComando de loop
o, -ari?-el ir? assumir a cada itere)*o do loop um -alor da lista
oER:
or nome in Rodrigo ,lberto 6ilberto
do
ec"o [nome
done
oIr? ter a sa1da:
Rodrigo
,lberto
6ilberto
,cri"t 0diciona 1MMM usu&rios
Cria.se um ar/ui-o c"amado #tmp#nomes.tRt
2este ar/ui-o coloca.se o nome dos 1''' usu?rios.
FaH.se o seguinte script:
oor user in kcat #tmp#nomes.tRtk
odo
useradd [user
odone
:bser-e o kcat #tmp#nomes.tRtk no lugar da lista. , crase aH
com /ue o comando se>a eRecutado.
: comando C,9 lista o conte@do de um ar/ui-o< no caso
nomes.tRt /ue ica no lugar da QIS9,.
, -ari?-el user assume -alor por -alor desta lista a cada
itera)*o e D utiliHado o comando useradd para adicionar o
usu?rio.
9ambDm pode ser escrito assim:
or user in kcat #tmp#nomes.tRtk ` do useradd [user`
done
,cri"t 0brir Inter1ace 6ue 2sco#her
Qembre.se /ue o ar/ui-o .Rinitrc localiHado no "ome do
usu?rio D eRecutado assim /ue a interace gr?ica abre.
\]#bin#bas"
ec"o WEscol"a a interaceW
ec"o W 1. G&EW
ec"o W (. 0maIerW
ec"o W C. 6nomeW
read iace
i T [iace A W1W U
t"en
Ide
eRit
i
i T [iace A W(W U
t"en
ec"o WwmaIerW $ f#.Rinitrc
i
i T [iace A WCW U
t"en
ec"o WgnomeW $ f#.Rinitrc
i
startR
:BS: :bser-e o ec"o WgnomeW $ f#.Rinitrc< utiliHei o
metaractere f para indicar o "ome do usu?rio< assim independente do usu?rio /ue eRecutar<
o script uncionar?.
: comando eRit ser-e para ec"ar o script< por/ue eu n*o
dese>o /ue o startR se>a eRecutado caso Ide ten"a sido.
Colo/uei um @nico startR ao inal do script< ao in-Ds de um
por i.
7tiliHei o comando read para acessar um -alor digitado pelo
usu?rio e armaHenei este -alor na -ari?-el iace< /ue n*o precisa ser pre-iamente declarada.
0"ro1undando-se e$ ,'2LL ,cri"t
- Case
7sado /uando se necessita de muitos Ijs.
Funciona assim:
case [Vari?-el in
-alorO comando
comando
comando
``
-alor(O comando
comando
``
eO comando
comando
``
esac
ERerc1cio: Reescre-er o script de abrir interace usando o case
- Bhi#e
FaH um loop /ue sN sair? /uando encontrar o comando breaI ou a condi)*o
or F,QS,.
SintaRe:
w"ile Condi)*o
do
comandos
done
ER:
aA'
w"ile T [a .le 1' U
do
ec"o [a
eRpr [a V 1
done
;rimeiro indi/uei /ue a -ari?-el a tem -alor '.
: 0"ile testa se a -ari?-el a D menor ou igual a 1' M.le D um operadorO
Se or< e D< imprime seu -alor< primeiramente '.
: comando eRpr soma 1 ao -alor de a.
: loop D reeito< no-amente se testa se a D menor /ue 1' e assim por diante.
;erceba o operador .le< temos outros:
.e/ Igual
.ne &ierente
.gt 3aior /ue
.ge 3aior ou igual
.lt 3enor /ue
.le 3enor ou igual
- O co$ando C39
Este comando embora pouco con"ecido D realmente 37I9: @til. Sua
un)*o D a de capturar apenas uma parte de uma lin"a< ou eRpress*o.
Xuando ir1amos /uerer istoJ
Vamos pensar< lembrem.se do ar/ui-o #etc#passwd< nele temos di-ersas
inorma)Kes.
;or/ue n*o simplesmente capturar o nome do usu?rio e nada maisJ
Como ar1amos istoJ Qistar apenas o nome dos usu?rios do sistemaJ
Ve>a:
cat #etc#passwd lcut .1 .dW:W
3as o /ue iHemosJ
;rimeiramente listei o conte@do do ar/ui-o com o cat.
CanaliHei ele para o comando cut.
.1 Indica /ue /uero o 1m campo. 2ossa /ue primeiro campoJJ Vou
especiicar com o .d
.dW:W Indi/uei /ue o /ue separa cada campo D o caracterer dois pontos M:O.
ERerc1cio: Escre-er um script para acertar as permissKes do F:3E dos usu?rios.
DESAFIO: Construir um script que faz o seguinte:
L um arquivo chamado LOGS.txt que possui a seguinte sintaxe
e ser criado a parte:
Arquivoe!og "A#A$%O
&x:
'!og'tudo.!og ())))
Ap*s !er este arquivo+ e!e ir ser rodado via C,O$ -ver mais
adiante. e de tempos em temos e!e ir checar os arquivos que
estiverem no arquivo LOGS.txt e seus respectivos tamanhos.
Se o tamanho for atingido ou for passado+ e!e ir compactar o
arquivo de !og+ gerando um chamado
nomedoarquivo.!og./A#&SA$O.tar.gz.
$o nosso exemp!o+ o arquivo '!og'tudo.!og ao atingir o tamanho
()))) ir ficar:
'!og'tudo.!og.(0)(1))1.tar.gz ia (0 de 2aneiro de 1))1
3ti#i4ando o 5I
2ditando u$ te(to: -i nomedoar/ui-o
-i Vlin"a nomedoar/ui-o ,bre direto na lin"a
Indo "ara a #ti$a #inha: :[
Indo "ara a "ri$eira #inha: gg ou :1
Indo "ara a enNsi$a #inha: :n
!e$ovendo u$a #inha: dd
!e$ovendo a "artir da #inha n atN a ti$a: :n<[ d
Co#ocando n$ero nas #inhas: :set number
9irando n$ero das #inhas: :set nonumber
,ubstituindo #inhas: :n<n( s#pala-raSerSubstituida#pala-raVaiSubstituir#g
,a#vando: :w
,aindo e sa#vando: :R
,aindo se$ sa#var: :/ ou :/] caso ten"a modiicado
,a#vando "ara outro ar6uivo: :w outroar/ui-o
,aindo e sa#vando e$ outro ar6uivo: :R outroar/ui-o
8orar sa#vao: :R] itil /uando o ar/ui-o est? como R:
Inserir #inha abai(o do cursor: o
Inserir #inha aci$a do cursor: :
Inserir: TI2SER9U ou i
,ubstituir: TI2SER9 (RU ou r
Inserir no 1i$ da #inha: ,
Inserir a"%s o cursor: a
Co"iar e co#ar #inhas: y copia lin"a
; cola lin"a
2ntendendo o siste$a de ar6uivos do Linu(
>o$e: e"tP
Caracter/sticas: Pes,uisa 8inria
Ko frag!enta/o
Per!issGes de $r,uivo (pode! ser e"tendidas)
$r,uivos o! P55 arateres no no!e
Nual,uer aratere espeial no no!e
Por default, no sOnrono
>o$e: e"tQ
Caracter/sticas: Kovo siste!a
:ournaling (S (assi! o!o o do $i" e o &eiser(S)
Pes,uisa 8inria
Crava o ,ue foi feito, no neessita (SC3 !es!o aso aia a energia
Pode ser au!entado e! te!po real, se! perda de dados
-de! a e"tP no restante
2strutura de Diret%rios
P important1ssimo a /ual/uer administrador de sistemas entender a
estrutura de diretNrios do sistema. Isso por/ue manter a padroniHa)*o deinida< o a>udar? a
saber onde as coisas est*o e a uturos administradores ou auRiliares ac"arem tudo no
sistema.
: QinuR possui uma estrutura muito bem organiHada e realmente a
de-emos seguir.
Irei colocar cada um dos diretNrios principais e o /ue neles de-em conter:
#etc Conigura)Kes do sistema
#lib Bibliotecas compartil"adas necess?rias ao sistema
#mnt 3ontagem de discos e periDricos
#opt ;acotes adicionais 2S: ornecidos com o sistema Mn*o utiliHado
/uaseO
#sbin &iretNrio usado na inicialiHa)*o do sistema< pacotes essenciais
para manuten)*o. &emais pacotes para a administra)*o do sistema de-em icar em #usr#sbin
ou #usr#local#sbin.
#usr Segundo maior diretNrio Mlogo apNs o #O< recomenda.se monta.lo
como R: para e-itar danos. , grande maioria dos aplicati-os do sistema e instalados com
ele icam a partir deste diretNrio.
#-ar &iretNrio /ue contDm ar/ui-os -ari?-eis< tais como spool Milas de
email< crontab< impress*oO e logs. Este diretNrio eRiste para /ue os ar/ui-os /ue necessitem
ser modiicados i/uem nele e n*o no #usr< liberando assim sua montagem como R:.
#root ,lguns 7niR.QiIe n*o o utiliHam MutiliHam #"ome#rootO. P o
diretNrio /ue contDm os ar/ui-os do administrador Mseu "omeO.
#proc &iretNrio VIR97,Q onde o Iernel armaHena suas inorma)Kes.
,lguns dados deste podem ser modiicados< como os abaiRo de #proc#sys /ue contDm
inorma)Kes muito pertinentes a perormance tunning do sistema.
#tmp &iretNrio /ue contDm ar/ui-os tempor?rios. 9odos os usu?rios
necessitam poder escre-er neste diretNrio Mpara gra-ar seus tempor?riosO< no entanto um n*o
pode apagar o tempor?rio do outro Mse n*o ter1amos um problemaO< de-ido a isto este
diretNrio possui uma permiss*o especial< /ue possibilita escre-er mas sN apagar a/uilo /ue
or seu. Esta permiss*o c"ama.se S9ICG BI9.
#"ome :s diretNrios pessoais dos usu?rios de-em icar a partir da/ui.
#bin ,plicati-os e utilit?rios usados durante a inicialiHa)*o do
sistema< antes de /ual/uer sistema de ar/ui-os ser montado. ,s s"ells dos usu?rios
costumam icar a/ui tambDm. Bin?rios de usu?rios de-em icar em #usr#bin.
#boot ContDm a imagem do Iernel e tudo o /ue or necess?rio ao
processo de boot< menos conigura)Kes.
#de- &ispositi-os do sistema.
=O3>9
Comando utiliHado para se acessar /ual/uer dispositi-o no QinuR.
Como dispositi-o entenda dis/uete< cdrom< e o prNprio F&.
Sua sintaRe D:
mount .t tipos #de-#dispositi-o #ponto#de#montagem
;onto de montagem: &iretNrio /ue ser? utiliHado para acessar o
dispositi-o.
9ipoFS: 9ipo do sistema de ar/ui-os do dispositi-o< geralmente:
Vat FatC(
3sdos Fat15
29FS 29FS
ERt( QinuR
Iso=55' Cdrom
7msdos FS especial< sistema QinuR sobre F,9.
3onta F,9C( e F,915< alDm de eRt(.
:BS: 2ossas parti)Kes s*o montadas durante o boot do sistema< por
isso # D um ponto de montagem /ue indica uma das parti)Kes de nosso F&.
?8,90
Como oi dito< alguns sistemas de ar/ui-os de-em ser montados durante o boot<
para /ue todo o resto uncione. P o caso de nossas parti)Kes ati-as do linuR e a prNpria
swap.
2o ar/ui-o #etc#stab est*o as inorma)Kes do /ue de-er? ser montado
automaticamente no boot da m?/uina e algumas op)Kes de dispositi-os /ue s*o muito
acessados e seu FS n*o muda MeR: cdromO.
Isto aH com /ue utiliHemos apenas mount #ponto#de#montagem para acessar tais
dispositi-os< >? /ue o resto das inorma)Kes o linuR busca no stab.
Sua sintaRe geral:
Dispositivo ponto de !ontage! (S op/Ges Drde!8a%up Drde!(SC3
:nde op)Kes podem ser:
0uto
0sOnc
0ti$e
Dev
2(ec
>oati$e
>oauto
>odev
>osuid
>ouser
!e$ount
!o
!.
,uid
,Onc
3ser
De1au#ts ..$ rw<suid<de-<eRec<auto<nouser<async
Orde$ ac-u":
7sado pelo comando dump para aHer bacIup do FS.
Caso se>a ' n*o ar? bacIup.
2@meros 1 acima ser*o eito bacIups na ordem M1 primeiro e assim por
dianteO
2@meros repetidos ser? eito bacIup do /ue esti-er primeiro no stab.
Orde$ 8,C7:
7sado pelo comando FSCG para c"ecar o FS.
Caso se>a ' n*o ser? c"ecado.
2@meros 1 acima ser*o c"ecados na ordem M1 primeiro e assim por dianteO
Em caso de n@meros repetidos ser? c"ecado primeiro< o /ue aparecer antes
no FS9,B.
8DI,7
7tiliHado para se criar ou destruir parti)Kes. :bser-e /ue seu
particionamento D SE3;RE destruti-o.
7so: disI #de-#"dR L indica o F& e n*o a parti)*o
Ser? -isto em aula suas op)Kes:
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
8,C7
2*o se necessita passa.lo< >? /ue o sistema o aH automaticamente
/uando precisar< durante o boot.
:bser-e /ue caso algum pane aconte)a na passagem automaticamente<
ser? solicitada a sen"a do administrador e de-er? ser passado o scI manualmente.
&igite a sen"a e a)a:
scI .c .- #de-#"dRy L seu F&< n parti)*o /ue deu problema.
.c 3anda c"ecar
.- Inorma tudo o /ue est? aHendo e pede conirma)*o
8D8O!=09
7tiliHado para ormatar DISQUETES.
7se: dormat #de-#d'.
Ele n*o ir? criar um sistema de ar/ui-os no dis/uete. 7se o mIs.
=78,
7tiliHado para criar um sistema de ar/ui-os.
;erceba a necessidade de se especiicar o sistema a ser criado e o ato
de /ue o Iernel &EVE suportar este sistema.
7so:
mIs .t tipos #de-#dispositi-o
:nde tipos D um dos tipos >? mencionado e dispositi-o pode ser
/ual/uer dispositi-o de armaHenamento. ER: d'< "da1.
=7,B0<
7tiliHado para se WormatarW uma swap. 6erar seu sistema de
ar/ui-os. 7tiliHamos ele assim:
mIswap .c #de-#"dRy
, op)*o .c D opcional mas recomendada< >? /ue c"eca o F& antes de
criar a swap.
,pNs isto eito< de-e.se necessariamente ati-ar a swap para /ue o
sistema a recon"e)a.
Fa)a isso com o comando:
swapon #de-#"dRy
,lguns alunos mais Wu)adosW >? ter*o -isto:
swapon .a
Xue indica para se ati-ar a swap de todos os dispositi-os de
swap encontrados em #etc#stab.
Qembre.se de adicionar a no-a swap l? para /ue no prNRimo
boot seu sistema a recon"e)a automaticamente.
Bem< como eu >? disse o QinuR D poderoso< QinuR D QinuR<
portanto temos uma op)*o de caso necessitemos de mais swap< mas n*o ten"amos uma
parti)*o a parte para isto.
P o caso da swap em ar/ui-o. Sua des-antagem D o ato de
ser mais lenta< >? /ue estar? dentro do sistema de ar/ui-os eRt( alDm do seu prNprio< mas D
uma maneira de se gan"ar memNria SE3 9ER X7E REI2ICI,R ou /ual/uer coisa do tipo.
;ara criar este War/ui-o de swapW< a)a os seguintes passos:
1.O dd iA#de-#Hero oA#swap bsA1'(+ countAB1C=
(.O mIswap .c #swap
C.O swapon #swap
;asso1: : comando dd Wcopia transormandoW. Ele oi utiliHado para se
criar o ar/ui-o de swap sem conte@do M#de-#HeroO e com um taman"o e/ui-alente a B1C=
blocos MB3BO. :b-iamente -ocE pode ade/oar este taman"o para o /ue necessitar.
;asso(: Cria.se o sistema de swap neste ar/ui-o
;assoC: ,ti-a.se a swap deste ar/ui-o.
7se o comando ree e -ocE -er? /ue o espa)o de swap oi incrementado.
Con1igurao e Insta#ao do 7erne#
, grande caracter1stica do QinuR D o onte aberto< /ue acilita o
desen-ol-imento. Ele realmente est? muito desen-ol-ido e constantemente s*o lan)ados
muitas -ersKes no-as de seu n@cleo.
,lgumas destas no-idades s*o importantes para nNs e por isso dese>amos atualiHar
nosso sistema. 3esmo /ue n*o /ueiramos atualiHar< de-emos no m1nimo recompilar nosso
Iernel /ue -em no sistema para /ue se adapte apenas a nossa m?/uina< aHendo assim uma
grande economia de memNria e desempen"o.
: primeiro passo D baiRar o no-o Iernel.
Fa)a isso acessando: www.Iernel.org !"ttp:##www.Iernel.org#$ ou em caso
de pessoas de dentro da 7nesp: tp.eb.unesp.br#pub#QinuR
o2ntendendo o conceito de $%du#os
: Iernel do linuR D muito bem elaborado e pro>etado.
:b-iamente oi pensado em di-ersas possibilidades do uso de um sistema
operacional< como por eRemplo o ato de n*o utiliHarmos o cdrom 1''p dos momentos em
/ue estamos no computador.
Se n*o D assim< por/ue o suporte ao C& de-e estar o tempo todo na
memNria< ocupando espa)oJ
Com isto in-entaram o conceito de mNdulos< ou se>a< /uando o sistema
operacional precisa< ele carrega o cNdigo para memNria< usa e descarrega.
o;erenciando =%du#os
ERistem alguns comandos para o gerenciamento de mNdulos do
sistema operacional. S*o eles:
modprobe .l Qista os mNdulos dispon1-eis
modprobe mNdulo Carrega o mNdulo na memNria
insmod mNdulo Carrega o mNdulo na memNria mas n*o c"eca
lsmod Qista os mNdulos carregados
o0dicionando ,u"orte a u$ >ovo 'ard.are
;ara isto< de-emos recompilar nosso Iernel
o<ersona#i4ando o -erne# )reco$"i#ando*
,pNs baiRar o ar/ui-o do Iernel< -amos supor c"amado:
linuR.(.+.14.tar.bH(
Copie.o para #usr#src e entre neste diretNrio
3o-a o Iernel antigo para outro nome Mm- linuR linuR.oldO
&escompacte.o M-e>a compactadores nesta apostilaO.
3o-e ele para um nome mais descriti-o Mm- linuR linuR.(.+.14O
Crie um linI c"amado linuR Malguns aplicati-os precisamO
ln .s linuR.(.+.14 linuR
Entre no diretNrio dos ontes
cd linuR
Inicie a conigura)*o:
maIe menuconig Recomendado< pode ser maIe Rconig ou maIe
conig tambDm
Escol"a o /ue dese>a inserir Mm para mNduloO e saia.
maIe dep
maIe clean
maIe bHImage
maIe install
maIe modules
maIe modulesYinstall
V? para a raiH Mcd #O
3o-a o ar/ui-o -mlinuH Mimagem do IernelO para o diretNrio #boot
;adr*o do FS do linuR
3o-a o ar/ui-o System.map para o diretNrio #boot tambDm
Edite o lilo.con para /ue o sistema boote pelo no-o Iernel
&igite lilo
;R:29:]] Reinicie sua m?/uina.
:BS: 9:&:S :S &E9,QFES SERS: VIS9:S E3 ,7Q,.
,9E29E.SE ;,R, C,S: 2: SE7 SIS9E3, cg ELIS9, : ,RX7IV:
#B::9#V3QI27h MF,8, 73 B,CG7; &E SE67R,28, E ;REVI2, IS9: 2:
QIQ:.C:2F 9,3BP3O.
: QIQ:.C:2F SERg EL;QIC,&: 3,IS ,&I,29E 2ES9,
,;:S9IQ,.
8erra$entas &sicas de !ede
oIconig Este comando retorna inorma)Kes sobre as placas de rede
Mmesmo -irtuaisO e a interace lo.
Ele pode ser utiliHado para mudar inorma)Kes de rede assim:
iconig interace ip netmasI mascaraRE&E
ER:
iconig et"' 1=(.15B.'.1 netmasI (55.(55.(55.'
iconig et"':' 1=(.15B.'.( netmasI (55.(55.(55.'
;rimeiro< diHemos /ue o ip de nossa placa ser? 1=(.15B.'.1 classe C.
&epois< coniguramos um ip -irtual para esta placa tambDm classe C.
oRoute Comando /ue gerencia a tabela de roteamento
est?tica do QinuR. ,penas iremos utiliHar este
comando Mem casos b?sicos< claro< roteamentos mais
a-an)ados podem ser eitos< lembrando /ue ser? um
roteamento est?tico e limitado. Ve>a: ,d-anced
Routing F:09: para entender mel"or o uso do
iprouteO para deinir o gateway de nossa m?/uina:
route add deault gw I;do6,9E0,n
7se: route .n para listar a tabela de roteamento.
o2etstat Qista coneRKes ati-as. 7se netstat .na para
listar todas as coneRKes ati-as e /ue est*o escutando.
o;ing Famoso comando /ue utiliHa o protocolo IC3;
para -eriicar o delay de uma m?/uina a outra na rede.
o9raceroute Comando muito utiliHado para se -eriicar
o camin"o eetuado por um pacote de uma m?/uina a
outra na rede.
o2slooIup Retorna o nome da m?/uina a partir de seu
n@mero I;.
7se: nslooIup I;
7ma op)*o interessante seria:
nslooIup .typeAmR ip Retorna o ser-idor de email deste
dom1nio. Ve>a manual.
2ditando os ar6uivos de con1igurao $anua#$ente
Esta parte do treinamento se torna um pouco mais complicada< de-ido ao ato de as
muitas distribui)Kes eRistentes trabal"arem dierentemente com os ar/ui-os de conigura)*o.
2o SlacIware esta tarea D muito mais simples< bastando editar.se o ar/ui-o
#etc#rc.d#rc.inet1. 2este ar/ui-o< eRistem -ari?-eis com nomes bem demonstrati-os /ue
bastam ser colocados seus -alores corretos para trabal"ar pereitamente. ;reste aten)*o /ue
estamos ensinando apenas com uma @nica interace de rede< n*o cabendo a este treinamento
aproundar.se no uso de duas. Caso se>a da sua necessidade< por a-or mande um email
para du-idas%irewalls.com.br !mailto:du-idas%irewalls.com.br$ /ue n*o eRitaremos em
auRiliar.l"e.
2o Conecti-a QinuR:
Edite o ar/ui-o #etc#sysconig#networI Vari?-eis bem demonstrati-as
Edite o ar/ui-o #etc#sysconig#networI.scripts#icg.et"' Vari?-eis bem
demonstrati-as.
Estes dois scripts ser-em para setarmos o I;< 6,9E0,n e 2:3E da
m?/uina. :bser-e /ue icg.et"' se trata da primeira interace< se ti-Dssemos
um icg.et"1 seria a segunda e assim por diante.
;odemos tambDm setar uma -irtual com icg.et"':'.
Caso /ueira setar um ip -irtual< apenas copie o icg.et"' para icg.et"':' e
edite suas op)Kes.
,pNs as altera)Kes< a)a idown et"' e iup et"' para /ue elas se>am
-alidadas.
,gora as op)Kes s*o -?lidas para todas as distribui)Kes:
0r6uivo :etc:hosts
Este ar/ui-o contDm os nomes de "osts con"ecidos da m?/uina e /ue
n*o seriam necess?rios c"ecar o ser-idor de &2S.
P muito @til. Sua sintaRe D:
I; FX&2 ,;EQI&:
;ara /uem n*o sabe< FX&2 seria o nome completo da m?/uina< com
a seguinte sintaRe:
2:3E3gX7I2,.2:3E&:3q2I:.&:3q2I:;RI3EIR,6R,2&Eh,.
ER:
www.irewalls.com.br !"ttp:##www.irewalls.com.br#$
l l l l
l l &:3q2I: ;RI3EIR, 6R,2&Eh,
l l
l 2:3E
l &:3q2I:
2:3E
3gX7I2,
7m eRemplo da sintaRe do ar/ui-o #etc#"osts seria:
(''.15B.11B.15= www.irewalls.com.br !"ttp:##www.irewalls.com.br#$
web
Xuando iHermos por eRemplo< ping web< automaticamente min"a m?/uina
saber? /ue 0EB seria a m?/uina com ip (''.15B.11B.15=.
0r6uivo :etc:reso#v.con1
Este ar/ui-o contDm o nome do dom1nio /ue nossa m?/uina pertence e os
ser-idores &2S de nossa m?/uina.
7m eRemplo deste ar/ui-o seria:
domain irewalls.com.br &om1nio irewalls.com.br
nameser-er (''.15B.11B.15= &2S prim?rio
nameser-er (''.('5.115.( &2S second?rio
nameser-er (''.1+5.15'.1 &2S terci?rio
nameser-er (''.1+5.15'.1 &2S /uatern?rio
0r6uivo :etc:host.con1
&eine a ordem de resolu)*o de um F:S92,3E< ou se>a< se primeiro o
sistema de-e procurar o nome de "osts no ar/ui-o #etc#"osts ou se de-e re/uisitar ao
ser-idor de &2S.
7m eRemplo deste ar/ui-o:
order "osts<bind ;rimeiro -E o ar/ui-o "osts depois o &2S
multi on ;ermite mais de um endere)o por "ost no
ar/ui-o #etc#"osts
0dio de !O90,
Recomendo SE3;RE utiliHar o comando route.
Con1igurando sua "#aca de !2D2
:b-iamente este seria o primeiro passo< mas como ele D genDrico a todas as
distribui)Kes /uis coloca.lo a/ui primeiro< onde o aluno >? estar? amiliariHado com as
conigura)Kes de rede do linuR.
1.O ,dicione suporte a sua placa de rede no Iernel MrecompilarO< geralmente
adicionamos como mNdulo< mas n*o necessariamente.
(.O Edite o ar/ui-o #etc#modules.con. Este ar/ui-o contDm conigura)Kes
lidas antes de se carregar /ual/uer mNdulo no Iernel.
C.O Colo/ue a seguinte lin"a:
alias et"' nomemNdulo
;ara a segunda placa< colo/ue alias et"1 nomemNdulo e assim por
diante para outras placas de rede.
;erceba /ue o nome do mNdulo D apenas seu nome< sem eRtens*o .o
ou seu camin"o no sistema.
7m eRemplo seria:
alias et"' dme
alias et"1 rtlB1C=
:I< tudo pronto< agora basta testar.
;rimeiramente de um ping em seu 6,9E0,n Mdeinido com o comando routeO.
Caso n*o responda c"e/ue no-amente as rotas< digite iconig para -er se a placa de
rede est? no ar.
Se tudo parecer correto mas continuar sem responder< -erii/ue o cabo de rede.
Co$"actadores e 2$"acotadores de 0r6uivos
9Npico important1ssimo para a utiliHa)*o de /ual/uer sistema operacional<
compactadores e empacotadores s*o SE3;RE utiliHados na internet para diminuir o
taman"o de ar/ui-os MtranserEncias mais r?pidasO e unir di-ersos ar/ui-os em um @nico.
Compactador &iminui o taman"o de um ar/ui-o. ,r/ui-os teRto s*o mais
acilmente compactados e tendem a diminuir entre 5' e 4'p de seu taman"o.
Empacotador 7ne di-ersos ar/ui-os ou diretNrios em um @nico. :s
usu?rios n*o lidam muito com este termo< >? /ue no sistema operacional concorrente os
compactadores s*o tambDm empacotadores.
o;4i"
atimo compactador.
;ara utiliHar:
gHip ar/ui-o,compactar
: ar/ui-o ser? substitu1do pelo mesmo nome mas com eRtens*o .gH< /ue
indica /ue ele oi compactado com o gHip.
;ara descompactar:
gHip .d ar/ui-o,descompactar.gH
gunHip ar/ui-o,descompactar.gH
,s duas op)Kes acima s*o idEnticas.
oPi"
;ouco utiliHado no mundo QinuR< D um compactador#empacotador.
7tiliHe Hip ar/ui-o.Hip ,r/ui-o1 ,r/ui-o(.
Cuidado ao Hipar diretNrios]]
;ara deHipar< use:
unHip ar/ui-o.Hip
o4i"
Compactador mais atual e mais eiciente /ue o 6hI;. 2*o est? sendo
muito utiliHado e atualmente est? na -ers*o (.
7se:
bHip( ar/ui-o,compactar
Este ar/ui-o ser? substitu1do por um com o mesmo nome e eRtens*o
.bH(.
;ara descompactar:
bunHip( ar/ui-o,descompactar.bH(
bHip( .d ar/ui-o,descompactar.bH(
,s ( op)Kes s*o iguais.
oCo$"ress
3uito antigo< mas ainda "o>e encontramos uso deste compactador.
;ara compactar:
compress ar/ui-o,compactar
Ser? gerado um ar/ui-o com a eRtens*o .h
;ara descompactar:
7ncompress ar/ui-o,descompactar.h
o9ar
;raticamente um 3I9: do mundo 72IL. Este eRcelente empacotador
ser-e para a cria)*o de B,CG7;s< tendo muitas e muitas op)Kes.
Veremos a/ui as mais importantes< tais como as op)Kes de cria)*o de um
ar/ui-o empacotado e >? compactado MutiliHando gHip< bHip( ou
compressO.
Criando um ar/ui-o .tar:
tar c- nome.tar ,r/ui-osou&iretorios,9,R6I,R
Voltando um ar/ui-o .tar:
tar R- nome.tar
Criando um ar/ui-o .tar.gH:
tar Hc- nome.tar.gH ,r/ui-osou&iretorios,9,R6hI;,R
Voltando um ar/ui-o .tar.gH:
tar HR- nome.tar.gH
Criando um ar/ui-o .tar.bH(:
tar Ic- nome.tar.bH( ,r/ui-osou&iretorios,9,RBhI;,R Conecti-a 5
tar >c- nome.tar.bH( ,r/ui-osou&iretorios,9,RBhI;,R Conecti-a 4
tar yc- nome.tar.bH( ,r/ui-osou&iretorios,9,RBhI;,R SlacIware
Voltando um ar/ui-o .tar.bH(:
tar IR- nome.tar.bH( ,r/ui-osou&iretorios,9,RBhI;,R Conecti-a 5
tar >R- nome.tar.bH( ,r/ui-osou&iretorios,9,RBhI;,R Conecti-a 4
tar yR- nome.tar.bH( ,r/ui-osou&iretorios,9,RBhI;,R SlacIware
ERistem muitas outras op)Kes do 9,R. Ve>a o manual para maiores
instru)Kes.
0genda$ento de 9are1as
: agendamento de tareas aH parte do dia.a.dia dos administradores de
sistemas. Sempre D necess?rio automatiHar as tareas. Isto nNs aprendemos atra-Ds da
cria)*o de scripts. 3as nossos scripts muitas -eHes necessitam ser eRecutados de tempos
em tempos. Como aHer issoJ ;rogramando sua eRecu)*o. 7tiliHe o cron e o at para isto.
oCron
,genda tareas a serem eRecutadas sempre. Isto /uer diHer< por eRemplo<
tareas a serem eRecutadas todo dia a meia noite por eRemplo. :u todo dia 1' as 1':''
"oras e assim por diante.
: cron permite o agendamento de tareas por usu?rio. Cada um pode ter
suas tareas e estas ser*o eRecutadas com as permissKes deste usu?rio.
Comumentemente agendaremos tareas como root.
,gendando uma tarea:
crontab .e
Ser? aberto o editor -i< editando o ar/ui-o correto. ,li dentro< siga a
seguinte sintaRe Muma por lin"aO:
3inutoFora&iadomes3es&iadasemana comando
ER:
1(C+55''eeeQs&entro do crontab de-e.se colocar a segunda lin"a da tabela
acima. , primeira lin"a ser? utiliHada para a descri)*o dos campos< a seguir:
CampoValorInter-alo13inutos' a 5=(Fora' a (CC&ia do mEs1 a C1+3Es1 a
1(5&ia da semana' a 5 M'AdomingoO5Comando a ser eRecutado.2o nosso eRemplo< o
comando ls ser? eRecutado eRatamente a meia noite em ponto M' "oras e ' minutosO todos
os dias. : e signiica todos os -alores poss1-eis.
o0t
,gendamento de tareas a serem eRecutadas uma @nica -eH. ;or eRemplo<
uma tarea /ue necessite ser eRecutada "o>e a meia noite.
7so:
at "ora . ar/ui-o
ER:
at midnig"t . #root#Instalados#logrotate.s"
7tiliHe o at/ para -isualiHar as tareas agendadas e atrm numero&atarea para
desagendar uma tarea.
2ntendendo o ,u"er Dae$on Inetd
, un)*o do inetd D a de economiHar memNria. ComoJ Imaginemos um
ser-idor tp /ue n*o recebe muitas re/uisi)Kes< digamos umas 5 por dia< por eRemplo.
Este ser-idor tp ica o tempo todo na memNria da m?/uina< ocupando um
espa)o /ue n*o D necess?rio. 2o entanto< poderia "a-er alguma maneira de aHer com /ue
este ser-i)o n*o icasse no ar o tempo todo< apenas /uando necess?rio.
&a1 surgiu o inetd. Ele ica no ar< esperando coneRKes para os mais di-ersos
ser-i)os Mconigurados em #etc#inetd.conO. Xuando a coneR*o c"ega< ele apenas repassa
para o ser-i)o espec1ico.
IneliHmente< como incon-eniente temos o ato de /ue ser? necess?rio
carregar o ser-i)o para a memNria< o /ue torna o processo mais lento.
o:etc:inetd.con1
Sua sintaRe D:
tp stream tcp nowait root #usr#sbin#tcpd in.tpd .l .a
ERplicando os campos:
tp Ser-i)o /ue escuta na porta (1 M-er #etc#ser-icesO
stream 3odo para coneRKes 9C; Mdgram para udpO
tcp ;rotocolo de coneR*o
nowait 2*o icar? esperando
root Rodar? como usu?rio root
#usr#bin#tcpd in.tpd .l .a ;rograma a ser c"amado e seus parrmetros
o:etc:hosts.a##o.
:bser-e no eRemplo acima< /ue o programa a ser c"amado D 9C;&.
Este D o programa /ue c"amamos de 9C; 0rappers. Como parrmetro D passado o ser-i)o
a ser protegido< no caso in.tpd.
9C; 0rappers implementa um controle de acesso aos ser-i)os /ue
rodam sob o inetd atra-Ds do n@mero ip ou nome da m?/uina.
: ar/ui-o #etc#"osts.allow contDm os ser-i)os /ue ser*o permitidos.
Caso este>a sendo permitido< ele nem se/uer ir? c"ecar o /ue est? sendo negado.
Sua sintaRe D:
Ser-i)o:I;
ER:
in.tpd:local"ost Qibera local"ost a conectar no ser-i)o F9;
,ll:(''.15B.11B.15= Qibera tudo para a m?/uina (''.15B.11B.15=
o:etc:hosts.denO
2este ar/ui-o proibimos os ser-i)os. Sua sintaRe D igual a do
ar/ui-o #etc#"osts.allow.
Con1igurando o boot da $&6uina: :etc:#i#o.con1
Qilo MQInuR Q:aderO D o gerenciador de boot mais utiliHado e antigo no
sistema operacional QinuR.
,tualmente temos tambDm gan"ando muito prest1gio o c"amado 6R7B.
7m eRemplo de sua conigura)*o seria:
bootA#de-#"da F& em /ue o QIQ: ser? instalado
mapA#boot#map 3apa do F&
installA#boot#boot.b 6eometria do F&
prompt ERibir o prompt do lilo
timeoutA5' 5 segundos de espera
imageA#boot#-mlinuH.FwSec.1.' Imagem do Iernel a ser carregada
labelAlinuR Xuando or escol"ido o nome linuR
rootA#de-#"db1 ;arti)*o raiH A #de-#"db1
read.only 3onta.se como R:
passwordAteste 2ecessita.se digitar a sen"a 9ES9E
ot"erA#de-#"daC 2a parti)*o #de-#"daC
labelAoutroS: Ser? carregado caso outroS: se>a escol"ido
Insta#ao e co$"i#ao de a"#icativos
2o QinuR a grande maioria dos aplicati-os ser*o encontrados em seu estado
natural< ou se>a< em cNdigo onte< geralmente na linguagem C.
2esta parte do treinamento aprenderemos como compilar tais aplicati-os e
torn?.los eRecut?-eis.
Sempre leia o ar/ui-o RE,&3E e#ou I2S9,QQ.
6eralmente aHemos apenas:
.#conigure
maIe
maIe install
oO gcc
Em min"a opini*o o mel"or compilador C eRistente. : Iernel do QinuR oi
eito para ser compilado no compilador C da 627 Mo gccO.
Ele possui di-ersas caracter1sticas important1ssimas:
9otal compatibilidade com o ,2SI C
Recursos de otimiHa)*o de cNdigo autom?ticos
;ara compilar um programa em C< use:
gcc ar/ui-o.c .o ar/ui-oBin?rio,ser6erado
oO co$ando .:con1igure
, grande maioria dos aplicati-os possui uma op)*o de conigura)*o /ue se
trata do comando .#conigure. Este comando aH com /ue a aplica)*o -erii/ue todas as
necessidades para a compila)*o de um programa< tais como bibliotecas e outros aplicati-os e
o sistema operacional em uso. 6eralmente podemos utiliHar .#conigure
.preiRA#dir#a#ser#instalado para especiicar um diretNrio onde a aplica)*o de-er? ser
instalada.
:bser-e atentamente poss1-eis erros a/ui< como a alta de bibliotecas
instaladas no sistema.
Xuando alta uma biblioteca< de-emos instal?.la antes de prosseguir.
;ara isto< basta acessar www.res"meat.net !"ttp:##www.res"meat.net#$ e
procurar pela biblioteca altante.
,o baiR?.la< descompact?.la e entrar no diretNrio< dando .#conigure.
,pNs isto< maIe e maIe install.
Veriicar se o diretNrio em /ue a biblioteca oi instalada est? em
#etc#ld.so.conig< caso n*o este>a< inserir.
,pNs isto< digite ldconig.
o=%du#os do "er#
;erl D uma grande linguagem de programa)*o e muitas aplica)Kes
necessitaram dele. Ele unciona modulariHado Massim como o Iernel do QinuRO. ;ara
instalar um no-o mNdulo< entre no diretNrio do mesmo e digite:
perl 3aIeile.pl
maIe
maIe install
oO co$ando $a-e
: comando maIe lE as instru)Kes de um ar/ui-o 3aIeile no diretNrio
corrente e atra-Ds destas< compila um programa com cNdigos separados e
com as op)Kes do compilador /ue se aHem necess?rias. ,pNs o
.#conigure a grande maioria das aplica)Kes pedem o maIe.
oO co$ando $a-e insta##
Este comando apenas copia os bin?rios gerados pelo comando maIe para
seus respecti-os locais dentro do sistema.
oQuando ocorre$ os "rob#e$as...
;roblemas ocorrem /uando estamos aHendo algo errado. 9em certeHa
/ue leu o ar/ui-o RE,&3E e I2S9,QQ e l? n*o ala nada de dierente para a instala)*oJJ
SimJ
:I< ent*o -erii/ue as dependEncias< ou se>a< -erii/ue se n*o altam
aplicati-os ou bibliotecas< lembre.se de sempre -er as mensagens de erro /ue aparecem<
tanto no conigure /uanto no maIe.
&iicilmente uma aplica)*o conter? erros e estar? dispon1-el para
download< mas muitas -eHes ser? necess?rio modiicar alguma op)*o n*o compat1-el com o
seu sistema. Verii/ue os erros de compila)*o e baseado em con"ecimento de programa)*o
Mcaso -ocE n*o ten"a< ou pe)a para /uem tem ou tente baiRar outra -ers*o ou >? bin?rioO
tente arrumar.
o;erencia$ento de "acotes !<=
:s pacotes R;3 oram in-entados pela RedFat QinuR e aHem parte do
pro>eto de desmistiica)*o do QinuR< tornando.o um sistema operacional mais acilmente
gerenci?-el e acess1-el a usu?rios caseiros.
:s pacotes possuem eRtens*o .R;3 e s*o prD.compilados Mn*o estamos
alando dos SR;3sO.
Insta#ando
;ara instalar um pacote R;3 a)a:
rpm .i-" pacote.rpm
!e$ovendo
;ara remo-er um pacote R;3 a)a:
rpm .e nomedopacote
0tua#i4ando
;ara atualiHar um pacote R;3 a)a:
rpm .u-" pacote.rpm
<es6uisando
;ara pes/uisar se determinado pacote R;3 est? instalado a)a:
rpm ./a lgrep 2:3E
, op)*o ./a lista todos os instalados e o lgrep procura pelo nome<
>? /ue geralmente n*o sabemos o nome< sen*o poder1amos utiliHar
diretamente rpm ./ nome.
, sa1da do rpm ./a D o /ue de-e ser utiliHado pelo rpm .e /uando
se dese>a eRcluir um pacote
2rros Co$uns
(alha nas DependRnias:
Falta algum aplicati-o /ue este precisa para instalar. Caso
-ocE ten"a instalado tal aplicati-o< mas o sistema n*o este>a
recon"ecendo M-ocE n*o instalou como R;3O< use a op)*o
.nodeps.
Paote !ais atuali.ado j instalado:
Xuando -ocE tenta instalar um pacote mais antigo do /ue um
>? instalado< utiliHe a op)*o .oldpacIage para or)ar a instala)*o.
Paote j instalado6
Xuando -ocE dese>a instalar um pacote >? instalado Mtal-eH o
/ue este>a instalado este>a com problemasO< utiliHe a op)*o
.replacepIgs.
$r,uivos onflita!6
Isto acontece /uando um pacote /ue est? sendo instalado ir?
substituir um ar/ui-o eRistente. 2estas ocasiKes use a op)*o
.replaceiles.
Dp/o -fore6
7ne .oldpacIage V ..replacepIgs V ..replaceiles.

Con1igurando o >8,
2etworI File System M2FSO consiste em um ser-i)o muito utiliHado no
mundo 72IL e ob-iamente portado para o QinuR para o compartil"amento de ar/ui-os em
rede.
Ele permite se acessar uma m?/uina remota< montando.a em sua prNpria
como um dispositi-o /ual/uer< permitindo assim um acesso simples< como a um diretNrio
local.
o2sco#hendo os diret%rios a co$"arti#har
:s diretNrios /ue dese>armos compartil"ar de-em ser mencionados no
ar/ui-o #etc#eRports.
, sintaRe deste ar/ui-o segue o seguinte eRemplo:
#"ome#ocIer 1=(.15B.'.eMroO
;rimeiramente temos o diretNrio a ser compartil"ado: #"ome#ocIer
3?/uinas /ue podem acessar o compartil"amento:1=(.15B.'.e ..$ ClasseC
;ermissKes de acesso: ro ..$ Somente Qeitura
:bser-e /ue por mais /ue -ocE compartil"e com permissKes de leitura e
escrita MrwO D necess?rio /ue no sistema de ar/ui-os local< tal permiss*o tambDm se>a dada a
todos no sistema< isto de-ido ao ato de /ue as permissKes do sistema local sobressaem.se
sobre as do 2FS.
o,tualiHando tabela de ar/ui-os compartil"ados
;ara atualiHar a tabela de ar/ui-os compartil"ados de-emos utiliHar o
comando eRports .a.
o;ortmap
Ser-i)o necess?rio para o bom uncionamento do 2FS e de /ual/uer
ser-i)o baseado em R;C MRemote ;rocedure CallO.
R;C oi in-entado pela Sun para /ue ser-i)os n*o utiliHassem uma porta
iRa para rodar.
&e-ido ao ato de n*o rodar em uma porta iRa< aH.se necess?rio /ue
algum ser-i)o indi/ue aos clientes /ue tentem acessar em /ual porta o ser-idor est?
rodando< esta D a un)*o do ;ortmap.
o,cionando o ;ortmap
;ara ati-ar o portmap basta c"am?.lo na lin"a de comando e no caso do
Conecti-a ainda tem.se a op)*o:
cd #etc#rc.d#init.d
.#portmap start
o,cionando o 2FS
,pNs todas estas conigura)Kes eitas< de-e.se acionar o 2FS. C"ame.o na
lin"a de comandos MnsdO.
2o Conecti-a:
cd #etc#rc.d#init.d
.#portmap start
oVeriicando ar/ui-os compartil"ados pela m?/uina
;ara -eriicar /uais ar/ui-os est*o sendo compartil"ados por uma m?/uina<
a)a:
s"owmount .e I;
2o caso de -ocE estar na m?/uina /ue -ocE /uer -er< apenas a)a
s"owmount .e.
oVeriicando clientes /ue est*o acessando os ar/ui-os
compartil"ados
<ara se veri1icar 6uais c#ientes esto acessando a $&6uina+ 1aa:
s"owmount I;
Caso -ocE este>a na m?/uina< a)a apenas s"owmount.
,0=0
Samba como todos de-em saber D um sistema integrado para QinuR /ue aH com /ue
este suporte o protocolo 2etBE7I< classicamente utiliHado pelos produtos 3icrosot
2ntendendo o 8unciona$ento do >etIO,
:s aplicati-os de impress*o e compartil"amento de ar/ui-os s*o baseados no
2etBI:S MnetworI basic input output systemO. : BI:S deine a interace de aplica)Kes
para solicitar ser-i)os de I#: no &:S. : 2etBI:S eRtende esta interace atD os ser-i)os de
rede.
, e-olu)*o do 2etBI:S eH com /ue uncionasse sobre o 9C;#I; e osse di-idido
em em partes.
2*o nos aproundaremos no estudo deste protocolo e sim como aHer com /ue o
QinuR se comuni/ue com as m?/uin"as 0indows em uma rede.
Entendendo o Funcionamento do Samba
P muito importante lembrar /ue o programa se c"ama S,3B, de-ido ao nome dado a uma
das partes do 2etBI:S: S3B
;ara entendermos mel"or o uncionamento do Samba< precisaremos saber um pouco
mais sobre o 2etBI:S.
Ele precisa mapear os nomes dos computadores 2etBI:S para um endere)o I;< para
isto< o 2etBI:S possui C modos:
0ia 8roadast
0ia l!hosts
0ia u! servidor de Ko!es Ket8-DS
Con1igurando u$ servidor ,0=0
2este treinamento n*o iremos nos aproundar no uncionamento de ser-idores de
nomes 2etBI:S< nem em op)Kes mais a-an)adas do S,3B,< nos prendendo mais a parte
de compartil"amento de ar/ui-os propriamente dita.
, conigura)*o do Samba D muito simples e se baseia eRclusi-amente em um ar/ui-o
de conigura)*o: smb.con
Ve>amos a/ui um eRemplo da se)*o principal deste ar/ui-o:
>glo#al? ..$ Indica as conigura)Kes -?lidas para todos
hosts allow S 14P21TU2F2 ..$ , rede 1=(.15B.'.' tem permiss*o de acessar
wor%group S windows ..$ 2ome do 0orIgroup /ue de-e ser colocado
nas esta)Kes
net#ios na!e S server ..$ 2ome 2E9BI:S do Ser-idor S,3B,
server string S (irewalls Sa!#a Server ..$ String de ,presenta)*o
seuritM S share ..$ Especiica /ue a seguran)a esta no
compartil"amento
log file S )log)sa!#a)V!2log ..$ Ser? criado um ar/ui-o de log com o nome da
m?/uina.log para cada m?/uina /ue acessar o
ser-idor samba. Este ar/ui-o ser? criado em
#log#samba. :bser-ar /ue pm D uma -ari?-el. Ela
/ue ser? substitu1da pelo nome da m?/uina /ue
esti-er acessando o compartil"amento.
guest aount S no#odM ..$ ;ermitir? acesso a usu?rios n*o autenticados
Co$"arti#hando Diret%rios atravNs do ,0=0
Como pudemos perceber na se)*o global de nosso ar/ui-o smb.con< n*o est? sendo
especiicado nen"um diretNrio /ue ser? compartil"ado.
Iremos aHer isso agora:
>pu#li? ..$ 2ome do compartil"amento
o!!ent S <spao Pu#lio ..$ Coment?rio para este compartil"amento
#rownsea#le S Mes ..$ ;oder? ser -isto por todos
reate !ode S FWWW ..$ ,o ser criado< a permiss*o ser? '444
diretorM !ode S FWWW ..$ 3esmo para as permissKe de diretNrio
path S )ho!e)8a%ups ..$ QocaliHa)*o do diretNrio compartil"ado
no sistema
pu#li S Mes ..$ Este diretNrio tem acesso p@blico< todos
podem acess?.lo
onlM guest S Mes ..$ 7su?rios n*o autenticados ir*o acessar
diretNrio
read onlM S no ..$ 2*o est? somente para leitura
Esta conigura)*o acima D um eRemplo sutil de um compartil"amento aberto para
todos os indi-1duos /ue dese>arem acessar.
,gora< caso se dese>e algo mais restrito< poder1amos ter compartil"amentos
baseados em usu?rios Musu?rio V sen"aO:
>rodrigo? ..$ 2ome do compartil"amento
o!!ent S Diretorio &odrigo ..$ Coment?rio
#rownsea#le S Mes ..$ ;oder? ser -isto
reate !ode S FWWF ..$ 3?scara da cria)*o
diretorM !ode S FWWF ..$ 3?scara de diretNrios
path S )ho!e)rodrigo ..$ QocaliHa)*o na m?/uina
valid users S Xrodrigo ..$ 7su?rios /ue podem acessar
read onlM S no ..$ ;ode.se escre-er
ERistem di-ersas conigura)Kes a-an)adas /ue se podem aHer atra-Ds do samba< /ue
ser*o -istas mais adiantes neste treinamento.
:b-iamente de-ido a escasseH do tempo< muitas delas ser*o deiRadas para /ue o
aluno aprenda soHin"o. : principal do camin"o l"es ser? ornecido.
0cessando ar6uivos co$"arti#hados atravNs do Linu(
:b-iamente os usu?rios QinuR tambDm ir*o /uerer acessar dados compartil"ados
pelas m?/uinas 0indows Mou ser-idores S,3B,O.
2estes casos< temos trEs op)Kes:
+tili.ar o SM8Client
+tili.ar o SM8Mount
+tili.ar o o!ando !ount -t s!#fs
, terceira op)*o c"ama a segunda /uando eRecutada no sistema< portanto n*o
iremos eRplic?.la.
2en"uma das duas op)Kes necessitam conigura)Kes da m?/uina QinuR /ue acessar?
os compartil"amentos.
Basta aHer:
s!#lient YYYYservidorYYo!partilha!ento -+ Zusuario[
ou
s!#!ount YYYYservidorYYo!partilha!ento Zponto de !ontage![
userna!eSZusuario[
, grande dieren)a entre as duas op)Kes anteriores est? no ato do S3B3:729
criar um ponto de montagem para o compartil"amento remoto< permitindo assim /ue o
acessemos como um diretNrio local< en/uanto o smbclient possui um cliente espec1ico.
8a4endo u$a $&6uina Bindo.s se autenticar no Linu(
C"egamos a parte mais compleRa de nosso pe/ueno estudo sobre o S,3B,.
&e-ido a grande demanda de ser-i)os pedido para di-ersos consultores do mercado<
relati-os a utiliHa)*o de um ser-idor S,3B, Mem linuRO para aHer a autentica)*o e
compartil"amento dos dados para uma rede windows< estaremos ensinando como eRecutar
tal ser-i)o.
2esta etapa do treinamento< seu instrutor e -ocE >? montaram um ser-idor S,3B,
em QinuR< o acessaram atra-Ds de outro QinuR< e com m?/uinas no mesmo worIgroup<
trocaram ar/ui-os entre 0indows e QinuR.
,gora iremos para a parte mais interessante< como aHer estas m?/uinas 0indows se
autenticarem e eRecurarem scripts de Q:6:2 /ue est*o no nosso sistema QinuR.
, primeira etapa en-ol-er? a conigura)*o dos clientes 0indows:
. Entre no Registro
. Siga atD o seguinte item:
)B3<\]LDC$L]M$CB-K<)SMste!)CurrentControlSet)Servies)0"D)0K<*S+P
. Crie uma c"a-e com o nome: <na#lePlain*e"tPassword
. E com conte@do: 1
Isto oi eito para "abilitar sen"as em teRto puro no sistema 0indows< >? /ue ele
utiliHa um es/uema de criptograia dierente de nossas m?/uinas QinuR.
:b-iamente isto gera um certo grau de periculosidade em redes< portanto
recomendamos ortemente o estudo de implementa)Kes S,3B, com criptograia
"abilitada.
. ,gora< nas propriedades do ambiente de rede< escol"a a op)*o de Cliente
de Redes 3icrosot.
. 2a aba apropriada escol"a a op)*o de eetuar logon em um dom1nio 29.
. Colo/ue o nome do 0orIgroup.
;ronto< sua m?/uina 0indows est? pronta< -amos para a parte mais gostosa<
conigurar nosso ser-idor QinuR]
Criemos o compartil"amento 2etQogon< onde icar*o nossos scripts de logon:
>netlogon?
o!!ent S Ketwor% Logon Servie
path S )ho!e)Sa!#a)netlogon
pu#li S no
writa#le S no
#rowsa#le S no
Feito isso< iremos ter de alterar e acrescentar algumas op)Kes em nossa se)*o global
do ar/ui-o smb.con:
do!ain logons S Mes ..$ Indica /ue ser? ser-idor de Q:6:2
seuritM S user ..$ Seguran)a para usu?rios
do!ain !aster S Mes ..$ Ser? o mestre do dom1nio
password level S 5 ..$ Sen"as de no m1nimo 5 d1gitos
userna!e level S 5 ..$ 7su?rios com no m1nimo 5 letras
s!# passwd file S )ho!e)Sa!#a)private)s!#passwd ..$ ,r/ui-o de sen"as
logon sript S V!2#at ..$ Script de logon
Ve>amos alguns detal"es deste ar/ui-o acima.
Estamos especiicando um ar/ui-o de sen"as< portanto de-emos cri?.lo< mas antes
temos de saber /ue o usu?rio a ser criado no S,3B, de-e eRistir no sistema.
;ara criarmos tal usu?rio< aHemos:
s!#passwd -a Zusuario[
Ser? solicitada a sen"a do usu?rio.
Caso se dese>e modiicar< use smbpasswd !usuario$ Msem a op)*o .aO
Como podemos perceber a sen"a para o sistema e para o S,3B, ser? dierente.
,pNs termos criado este ar/ui-o de sen"as< de-emos nos atentar para a 9,6 logon
script A pm.bat
Ela ir? procurar o script de logon no diretNrio netlogon /ue criamos no sistema.
: ar/ui-o ter? o !nome&a3?/uina se logando$.bat
:b-iamente a eRtens*o .bat oi mantida apenas para ins de acilitar a -isualiHa)*o< o
QinuR n*o ar? dieren)a para isto.
;oder1amos tambDm substituir o pm por pu< especiicando assim um script de
logon por usu?rio espec1ico.
Claro< tambDm poder1amos simplesmente colocar o nome do script< sendo este @nico
para todos.
Vamos agora -er um eRemplo de script de logon:
-i scriptQogon.bat:
net ti!e YY14P21TU2F21 )set )Mes
net use r6 YY14P21TU2F21Ypu#li
=as o 6ue N issoK
Estes comandos ser*o eRecutados assim /ue um usu?rio se logar em nosso ser-idor<
ou se>a< o primeiro comando apenas acerta a "ora da m?/uina do usu?rio /ue est? se
logando com a "ora de nosso ser-idor< acilitando assim o monitoramento das ati-idades dos
usu?rios.
: segundo comando mapeia o compartil"amento p@blico /ue criamos para o R: do
usu?rio /ue est? se autenticando.
Con1igurando o ,,'D
: SSF -eio para substituir as ra/ueHas encontradas com o 9EQ2E9. Ele
ornece recursos para administra)*o remota criptograada.
Seu ar/ui-o de conigura)*o comumente ica em #etc#ss"#ss"dYconig e
para ati-?.lo basta digitarmos ss"d< >? /ue ele -em prD.conigurado.
: ser-idor SSF lE os ar/ui-os de conigura)*o #etc#"osts.allow e
#etc#"osts.deny assim como o 9C; 0rappers.
o!etirando a co$"atibi#idade co$ a 5erso 1
P importante atentarmos para isto< >? /ue tal compatibilidade possu1a uma
-ulnerabilidade em algumas -ersKes do :penSSF.
3ude a lin"a:
;rotocol (<1 do ar/ui-o de conigura)*o para ;rotocol (
o!etirando o uso da diretiva 3seLogin
, direti-a 7seQogin tambDm possu1a -ulnerabilidade em algumas -ersKes
do :penSSF< portanto con-Dm desabilit?.la Matente /ue esta -em desabilitada por padr*oO.
;ara isto< basta alterar:
7seQogin yes para 7seQogin no
o0u$entando a chave cri"togr&1ica
VocE pode /uerer aumentar o taman"o da c"a-e criptogr?ica a ser
negociada com o ser-idor. ;ara isto basta alterar a direti-a:
Ser-erGeyBits 5(+
;ara:
Ser-erGeyBits ('+B por eRemplo< como eu costumo recomendar.
&eiRe pelo menos 1'(+ bits de c"a-e criptogr?ica.
o<er$itindo ao root se #ogar re$ota$ente
Isto n*o D nem um pouco recomendado< mas n*o sei por /ual moti-o insano
-ocE pode necessitar disto< portanto ensinarei a/ui.
Qembre.se -ocE pode logar.se remotamente com um usu?rio e utiliHar o su
para se tornar root.
Caso dese>e se logar diretamente como root< use a direti-a:
;ermitRootQogin yes
Con1igurando o <ro89<d
Eu recomendo ortemente o uso do ;roF9;d sobre o 07 F9;& Mpadr*o
na maioria das distribui)Kes< n*o no SlacIware B.'O.
Esta recomenda)*o D de-ida ao ato do ser-idor 0u F9;& possuir muitas
-ulnerabilidades e um "istNrico de al"as muito grande e o protpd ter sido eito com grande
Enase em seguran)a.
,baiRo coloco um eRemplo de um ar/ui-o de conigura)*o do protpd e
eRplico suas direti-as mais importantes.
;reste aten)*o /ue o protpd possui 37I9:S recursos. ;ara con"ecer
todos eles< acesse o site www.protpd.org !"ttp:##www.protpd.org#$ e -e>a o manual.
: protpd lE os ar/ui-os #etc#"osts.allow e #etc#"osts.deny assim como o
9C; 0rappers.
0r6uivo: :etc:"ro1t"d.con1
Ser-er2ame WFirewalls Security F9; Ser-erW 2ome do ser-idor
Ser-er9ype standalone 9ipo: pode ser standalone ou inetd para rodar sob o inetd
&eaultSer-er on
;ort (1 Escutar? na porta (1
7masI '((
3aRInstances C'
7ser nobody Rodar? com permissKes do usu?rio nobody
6roup nobody
RootQogin no 2*o permitir? o root se logar -ia tp
&isplayConnect #etc#welcome.F9;
Ser-erIdent onWBem VindoW
!&irectory #e$
,llow:-erwrite on ;ermite sobrescre-er ar/ui-os em /ual/uer diretNrio
!#&irectory$
!,nonymous ftp$ 7su?rio anonymous cair? no "ome do usu?rio tp
7ser tp Qogar? como usu?rio tp
6roup tp
7ser,lias anonymous tp ;ermite entrar com userAanonymous /ue -irar? tp
3aRClients 1' 3?Rimo de coneRKes ansnimas permitidas
!Qimit 0RI9E$
&eny ,ll 2*o permite nen"um usu?rio anonymous escre-er no sistema
!#Qimit$
!#,nonymous$
Con1igurando o I>D
o2ntendendo o D>,
2a internet as m?/uinas se comunicam atra-Ds de um n@mero @nico /ue
identiica cada uma Mo I;O.
Este n@mero possui C( bits< separados em + grupos de B bits cada.
:b-iamente D "umanamente imposs1-el e in-i?-el lembrar.se de tantos
n@meros.
;ara isto oi criado um sistema /ue acilita o processo de comunica)*o
entre as m?/uinas.
Este D o sistema de &2S.
Ele possibilita /ue demos um nome ao in-Ds de um I; para as m?/uinas.
2a -erdade a comunica)*o continua sendo -ia I;< mas nNs ornecemos
um nome e o ser-idor de &2S retorna o I; para a comunica)*o.
Claramente este D um sistema "ier?r/uico Mseria imposs1-el um @nico
ser-idor con"ecer os nomes de m?/uinas da internet todaO.
Xuero diHer "ier?r/uico por/ue cada &2S D respons?-el por uma aiRa
de Ips e /uando recebe uma consulta a um I; /ue ele n*o D o respons?-el ele lan)a esta
consulta um n1-el acima atD c"egar no ser-idor /ue se>a o real respons?-el.
oCon1igurando u$a Pona de 2(e$"#o
Vamos iniciar a conigura)*o de um ser-idor &2S de eRemplo.
;rimeiramente de-emos con"ecer o dom1nio /ue /ueremos conigurar.
Como eRemplo< coniguraremos o dom1nio irewalls.com.br.
Edite o ar/ui-o #etc#named.con:
options ^ :p)Kes globais
directory W#etc#namedW. :s ar/ui-os icar*o em #etc#named
_`
Hone Wirewalls.com.brW ^ &om1nio irewalls.com.br
type master` &2S master
ile Wirewalls.namedW` ,r/ui-o #etc#named#irewalls.named
_`
Hone W11B.15B.in.addr.arpaW ^ hona Re-ersa
type master` &2S master
ile Wirewalls.re-W` ,r/ui-o #etc#named#irewalls.re-
_`
Hone W.W ^ hona . M;rimeira "ier?r/uiaA
type "int` 9ipo FI29 Mroot ser-ersO
ile Wnamed.caW` ,r/ui-o /ue >? -em padr*o Mroot ser-ersO
_`
Hone W'.'.1(4.in.addr.arpaW ^ hona re-ersa do local"ost
type master` Ser-idor &2S master
ile Wlocal.re-W` ,r/ui-o #etc#named#local.re-
_`
oCon1igurando u$a Pona !eversa de 2(e$"#o
0r6uivo :etc:na$ed:#oca#.rev:
[99Q (+" ` tempo /ue permite outros &2S aHerem cac"e
% I2 S:, local"ost. root.local"ost. ^
1 ` para ser-idor sla-e
(BB'' ` ciclo de atualiHa)*o do sla-e
1++'' ` ciclo de tentati-as do sla-e antes da prNRima em caso de erro
C5''''' ` tempo limite para /ue o sla-e passe a responder
B5+'' _ ` 99Q padr*o do dom1nio
I2 2S local"ost. ` &2S do dom1nio ser? Q:C,QF:S9
1 I2 ;9R local"ost. ` I; 1 "ost local"ost
0r6uivo :etc:na$ed:1ire.a##s.rev:
[99Q (+" ` tempo /ue permite outros &2S aHerem cac"e
% I2 S:, ns.irewalls.com.br. root.irewalls.com.br. ^
1 ` para ser-idor sla-e
(BB'' ` ciclo de atualiHa)*o do sla-e
1++'' ` ciclo de tentati-as do sla-e antes da prNRima em caso de erro
C5''''' ` tempo limite para /ue o sla-e passe a responder
B5+'' _ ` 99Q padr*o do dom1nio
I2 2S ns.irewalls.com.br. ` &2S do dom1nio
I2 2S nss.irewalls.com.br. ` &2S reser-a
1 I2 ;9R ns.irewalls.com.br.
( I2 ;9R nss.irewalls.com.br.
C I2 ;9R pop.irewalls.com.br.
+ I2 ;9R email.irewalls.com.br.
1' I2 ;9R gateway.irewall.com.br.
oOs ar6uivos de Ponas
0r6uivo :etc:na$ed:1ire.a##s.na$ed:
% I2 S:, ns.irewalls.com.br. root.irewalls.com.br.
1 ` para ser-idor sla-e
(BB'' ` ciclo de atualiHa)*o do sla-e
1++'' ` ciclo de tentati-as do sla-e antes da prNRima em caso de erro
C5''''' ` tempo limite para /ue o sla-e passe a responder
B5+'' _ ` 99Q padr*o do dom1nio
I2 2S ns.irewalls.com.br.
I2 2S nss.irewalls.com.br.
I2 3L 1' pop.irewalls.com.br. ` precedEncia 1' de email
I2 3L (' email.irewalls.com.br. ` precedEncia (' de email
` /uanto menor a precedEncia maior a preerEncia
ns I2 , (''.15B.11B.1
nss I2 , (''.15B.11B.(
pop I2 , (''.15B.11B.C
email I2 , (''.15B.11B.+
gateway I2 , (''.15B.11B.1'
local"ost I2 , 1(4.'.'.1
Con1igurando o 0"ache
o,obre
: apac"e pode ser encontrado em www.apac"e.org
!"ttp:##www.apac"e.org#$ e D um ser-idor 0EB muito poderoso e
gratuito.
,tualmente ele -em sendo utiliHado por cerca de 5'p dos ser-idores
0EB do mundo e oi inclusi-e recomendado pelo 6artner6roup.
Com o atual crescimento e onda de -1rus e ata/ues a ser-idores 0EB no
mundo< o apac"e gan"ou muita coniabilidade de-ido a sua imunidade a estes ata/ues e a
compro-a)*o de sua eRtrema seguran)a.
o<or6ue uti#i4&-#o
Robusto
Seguro
R?pido
FleR1-el
,dministr?-el
C"eio de recursos e op)Kes
F?cil conigura)*o
o2(e$"#o de con1igurao
,/ui orne)o um eRemplo de conigura)*o do ,pac"e e eRplico os
pontos mais importantes.
\ Conigura)Kes ;rincipais
;ort B' Ser-idor Roda na ;orta B'
7ser nobody Roda com permissKes do user nobody
6roup nobody
Ser-er9ype standalone Roda standalone e n*o sob inetd
Ser-erRoot #etc#"ttpd ,r/ui-os do ser-idor est*o em #etc#"ttpd
3inSpareSer-ers ( 31nimo de ( ser-idores ati-os Me sem coneR*oO
3aRSpareSer-ers + 3?Rimo de + ser-idores ati-os Me sem coneR*oO
StartSer-ers ( Inicia ( ser-idores no come)o
3aRClients 15' 3?Rimo de 15' coneRKes
\ 3Ndulos Mapenas um eRemplo< o ser-idor n*o uncionar? se n*o
\ orem declarados outros mNdulos necess?riosO
Qoad3odule p"p+Ymodule modules#libp"p+.so Identiica mNdulo p"p+
!I&eine SSQ$ Se or deinido SSQ M"ttpd .&SSQO
Qoad3odule sslYmodule modules#libssl.so Identiica mNdulo ssl
!#I&eine$
Clear3oduleQist Qimpa lista de mNdulos carregados
,dd3odule modYp"p+.c Carrega MinsereO mNdulo no apac"e
!I&eine SSQ$
,dd3odule modYssl.c
!#I&eine SSQ$
\ Fosts Virtuais
2ameVirtualFost www.irewalls.com.br !"ttp:##www.irewalls.com.br#$ Caso uma
coneR*o c"egue sem o nome de destino<
o deault ser? www.irewalls.com.br
!VirtualFost www.irewalls.com.br !"ttp:##www.irewalls.com.br#$$ Fost
Virtual www.irewalls.com.br
&ocumentRoot #"ome#"ttpd#irewalls &ocumentos se encontram em...
Ser-er2ame www.irewalls.com.br !"ttp:##www.irewalls.com.br#$ 2ome
do ser-idor a ser apresentado
Ser-er,dmin rodrigo%irewalls.com.br !mailto:rodrigo%irewalls.com.br$ Email
do administrador< caso algum erro
ocorra
!#VirtualFost$
!VirtualFost www.br.tcpdump.org !"ttp:##www.br.tcpdump.org#$$
&ocumentRoot #"ome#"ttpd#tcpdump
Ser-er2ame www.br.tcpdump.org !"ttp:##www.br.tcpdump.org#$
Ser-er,dmin rodrigo%br.tcdump.org !mailto:rodrigo%br.tcdump.org$
!#VirtualFost$
\ &iretNrios
!&irectory W#"ome#"ttpd#irewallsW $ &iretNrio #"ome#"ttpd#irewalls
:ptions IndeRes FollowSymQinIs Includes ERecC6I :p)Kes de acesso ao
diretNrio
,llow:-erride 2one 2*o permite ser sobreposto pelo ar/ui-o ."taccess
:rder allow< deny :rdem de permiss*o
,llow rom all ;ermite todos
!#&irectory$
!&irectory W#"ome#"ttpd#tcpdumpW $
:ptions IndeRes FollowSymQinIs Includes ERecC6I
,llow:-erride 2one
:rder allow< deny
,llow rom all
!#&irectory$
\ ,r/ui-os
!Files ."taccess$ ,r/ui-os nomeados ."taccess
:rder allow< deny
&eny rom all
!#Files$
\ Qogs
ErrorQog #log#apac"e#,pac"eError.log Qog de Erros do ,pac"e
QogQe-el warn Qogs no n1-el de ,lerta MnormalO
,ccessQog #log#apac"e#,pac"e,ccess.log Qogs de ,cesso do ,pac"e
\ :p)Kes &i-ersas
7ser&ir web &iretNrio nos "omes dos usu?rios /ue armaHenam suas
p?ginas< ser? acessado assim: ww.ser-idor.com.br#fusuario
&irectoryIndeR indeR."tml indeR."tm indeR.p"p Estes ar/ui-os
s*o os 1ndices das p?ginas
,ccessFile2ame "taccess :p)Kes de acesso tambDm s*o encontradas no ar/ui-o
."taccess
FostnameQooIups : 2*o transorma Ips em 2omes
,lias #ocIer #"ome#"ttpd#irewalls#ocIer ,pelido para #ocIer
\ Qocations
!Qocation #ocIer$ Caso acessem www.ser-idor.com.br#ocIer
:rder deny<allow :rdem de permiss*o
&eny rom all ;ro1be todos
,llow rom local"ost ERceto da m?/uina local
!#Qocation$
,egurana
oQuesitos "ara u$ siste$a seguro
3uitas pessoas nos perguntam constantemente o /ue D necess?rio para se
montar um sistema seguro.
;ossi-elmente elas se decepcionam com as respostas:
Basta se manter atualiHado e ter uma boa pol1tica de seguran)a
Isto /uer diHer /ue de-emos agir com seguran)a< sempre pensar na
seguran)a.
2*o eRistem regras iRas. 2*o eRiste seguran)a 1''p.
: b?sico /ue podemos aHer ser? -isto a/ui< ob-iamente tDcnicas e
implementa)Kes mais a-an)adas de seguran)a eRistem< mas n*o caberiam no escopo deste
treinamento.
E -ale sempre lembrar:
&ES,BIQI9E tudo /ue n*o or necess?rio]]]
oOnde se atua#i4ar
, comunidade de seguran)a D mais lenta do /ue os cracIers de-ido
ao ato de segurar mais a inorma)*o.
:b-iamente isto n*o D uma -erdade 1''p absoluta< mas os meios de
comunica)*o dos atacantes realmente uncionam mel"or e s*o mais r?pidos.
Eles incluem desde programas B,9E ;,;: amosos como o IRC e
o ICX atD listas de email e sistemas 7SE2E9 eRclusi-os.
:s proissionais de seguran)a e todos os interessados podem contar
com empresas e Nrg*os /ue di-ulgam as inorma)Kes nos pa1ses.
7m deles D o CER9 MComputer Emergency and Response 9eamO.
3aiores inorma)Kes e treinamentos tambDm podem ser obtidos
atra-Ds do curso IS;, 5'' . Seguran)a em Comunica)*o de &ados e Firewall.
7ma lista de discuss*o sobre o assunto< porDm ec"ada a apenas
proissionais /ue trabal"am na ?rea pode ser encontrada atra-Ds do site:
www.irewalls.com.br#mailman#listino#seguranca
!"ttp:##www.irewalls.com.br#mailman#listino#seguranca$
o=ontando u$ 1ire.a## #inu(
<ntendendo o ipta#les
2etilter e as iptables s*o a mais no-a ino-a)*o em Firewall
para QinuR. Finalmente di-ersos conceitos a-an)ados de Firewall oram implementados para
um sistema QinuR.
3?/uinas QinuR podem agora substituir car1ssimas tcaiRas
pretasu< ou se>a< "ardwares comerciais eitos eRclusi-amente para atuarem como Firewall de
uma rede.
&egras de entrada, saOda e passage! de paotes
ERistem C possibilidades para um pacote transitando em uma
com um Firewall e /ue en-ol-am este Firewall.
1.O : pacote D para o Firewall
Regra de Entrada: I2;79
(.O : pacote passar? pelo Firewall
Regra de Repasse: F:R0,R&
C.O : pacote sair? do Firewall
Regra de Sa1da: :79;79
*a#elas do ipta#les
: Iptables como o prNprio nome indica trabal"a com tabelas.
ERistem C tabelas no Iptables< a saber:
1.O 9abela Filter
9abela deault /ue trata os pacotes normalmente
(.O 9abela 2,9
7tiliHada em mascaramentos e 2,9
C.O 9abela 3angle
7tiliHada para reescre-er inorma)Kes dos pacotes
:b-iamente de-ido ao tempo< iremos tratar apenas da tabela FIQ9ER
Proi#indo protoolos
,ntes de lidarmos com o iptables em si< D muito importante
salientarmos /ue um bom Firewall consiste de um con>unto de regras bem elaboradas< com
uma pol1tica de seguran)a consistente.
,lguns de -ocEs >? escutaram e todos com certeHa escutar*o
alar sobre a CF,I2 deault de um irewall.
3as o /ue D istoJ
C"ain &EF,7Q9 nada mais D do /ue o /ue o Firewall de-er?
aHer ao se deparar com uma condi)*o /ue n*o est? pre-ista< ou se>a< n*o eRiste uma regra
espec1ica para esta condi)*o.
: ideal D SE3;RE utiliHarmos CF,I2 &EF,7Q9 &R:;<
mais ou menos a/uela pol1tica:
t 97&: /ue n*o esti-er eRplicitamente liberado est? proibidou
Xuando aHemos isto< apenas de-emos ir colocando nossas
regras para liberar o /ue dese>amos aHer< todo o resto >? estar? proibido.
Vamos para a parte pr?tica:
\ Colocando as CF,I2 &eault
iptables .; I2;79 &R:; ..$ C"ain deault de entrada
iptables .; :79;79 ,CCE;9 ..$ C"ain deault de sa1da
iptables .; F:R0,R& &R:; ..$ C"ain deault de repasse
\ ;roibiremos todos os pacotes 9C;:
iptables ., I2;79 .> &R:; .p tcp
., I2;79 ..$ Signiica /ue estamos colocando esta regra ao inal de nossas regras de
entrada
.> &R:; ..$ Signiica /ue esta regra D uma regra de ;R:IBI8S:
.p tcp ..$ Esta regra se reere ao protocolo 9C;
Proi#indo portas e tipos de !ensagens
\ ;roibindo darem ping em nNs
iptables ., I2;79 .p icmp ..icmp.type ec"o.re/uest .> &R:;
2o-amente< agora o /ue mudamosJ
.p icmp ..$ ;rotocolo IC3; Musado pelo aplicati-o ;I26O
..icmp.type ..$ Esta regra nos permite especiicar /ue tipo de mensagem icmp estaremos
lidando< neste caso a solicita)*o de ping Mec"o.re/uestO
\ ;ermitindo para nNs darmos ping
iptables ., I2;79 .p icmp ..icmp.type ec"o.replay .> ,CCE;9
:bser-ando /ue agora mudamos o tipo de mensagem icmp e aceitamos este tipo.
Proi#indo flags *CP
: /ue s*o FQ,6S 9C;J
:b-iamente /ue um proissional de seguran)a precisa dominar pereitamente os
conceitos en-ol-idos em rede.
2*o D o ob>eti-o deste treinamento desen-ol-ermos toda esta "ablidade nos alunos<
mas sim< colocarmos eles v par do /ue eRiste no mundo QinuR.
ERplicando de um modo simples< lags 9C; s*o campos de um pacote 9C; /ue
permitem identiicar /ual o ob>eti-o de uma 9R,2S3ISSS:.
:u se>a< podemos dese>ar a abertura de uma coneR*o MFlag Sn2 ati-adaO< ou o
ec"amento de uma coneR*o MFlag FI2 ati-adaO.
;odemos tambDm especiicar a aceita)*o de uma coneR*o MFlag Syn e ,CGO
ati-adas.
7m Firewall pode ser c"amado de Stateul Firewall /uando possui armaHenada os
estados das coneRKes /ue por ele se estabelecem.
:u se>a< ele sabe /uem abriu ou /uem esta ec"ando uma coneR*o atra-Ds dele<
criando tabelas de controle Mconnection tracIO.
Vamos imaginar um Firewall QinuR de ,ntigamente Mantes da sDrie (.+ do Iernel do
sistema< /uando ainda utiliH?-amos ipc"ainsO.
Caso -ocE ten"a blo/ueado um pedido de coneR*o na porta telnet de uma m?/uina
de sua rede:
ipc"ains ., orward .> deny .p tcp .d 1=(.15B.'.1 (C ..syn
:bser-e /ue a op)*o inal ..syn especiica /ue a lag Sn2 deste pacote tem de estar
ati-ada.
:s atacantes apro-eita-am da talta de memNriau do Firewall para aHer o /ue
c"amamos de Stealt" Scan< ou se>a< pes/uisar as portas abertas de uma m?/uina de um
modo /ue o Firewall n*o detecta-a.
Como eles aHiam issoJ
For>ando pacotes com a FQ,6 ,CG ati-a< como se osse uma aceita)*o de
coneR*o. &e-ido a n*o ter este controle< os scans passa-am despercebidos pelo Firewall.
Com o iptables podemos controlar as lags e os estados das coneRKes.
Controlando Flags:
iptables ., I2;79 .p tcp .> &R:; ..tcp.lags Sn2<FI2 Sn2<FI2
: /ue isto /uer diHerJ
Xuer diHer /ue caso as FQ,6S Sn2 e FI2 M..tcp.lags Sn2<FI2 Sn2<FI2O este>am
setadas nosso sistema ir? blo/uear a coneR*o. Isto aH sentido< >? /ue ninguDm iria /uerer
,BRIR e FECF,R a coneR*o em um mesmo pacote.
Proi#indo estados de paotes
Estado de um pacote podem ser +:
.2o-o M2E0O
.Estabelecido MES9,BQISFE&O
.Relacionado MREQ,9E&O
.In-?lido MI2V,QI&O
7m pacote se diH no-o /uando est? sendo estabelecida uma coneR*o
Estabelecido /uando aH parte de uma coneR*o >? estabelecida
Relacionado /uando D um no-o pacote< mas aH parte de uma coneR*o >? estabelecida
: F9; por eRemplo utiliHa ( portas de comunica)*o< caindo nesta regra
In-?lido
Xuando possui algo estran"o com o mesmo
7ma regra interessante seria a seguir:
iptables ., I2;79 .> &R:; .p tcp .m state ..state I2V,QI&
:nde estamos proibindo todos os pacotes in-?lidos de -irem para o Firewall.
Li!itando as one"Ges
3uitos ata/ues realiHados Ma grande maioriaO -isam apenas causar algum tipo de nega)*o de
ser-i)o< ou se>a< impedir /ue o ser-idor uncione ade/uadamente.
;ara e-itar este ata/ue< podemos utiliHar algumas regras simples< porDm pr?ticas de
controle:
iptables ., I2;79 .> ,CCE;9 .p icmp .m limit ..limit C#m
Com esta regra limitamos o n@mero de pacotes icmp aceitos em nosso irewall para C por
minuto.