Sei sulla pagina 1di 156

Linux:

IntroduoeAdministraode
Servidores

MdulosIeII

Av.EpitcioPessoa,7536Andar,sala605Edf.CentralParkB.EstadosJooPessoaPB
http://www.linuxfi.com.br833243.3111contato@linuxfi.com.br

ModuloIIntroduo

............................................................................................................................

10

CaptuloIIntroduoaoSoftwareLivre/Linux

..................................................................................

10

OUNIX

................................................................................................................................................

10

OProjetoGNU

.....................................................................................................................................

11

OSoftwareLivre

..................................................................................................................................

11

Copyleft

................................................................................................................................................

11

GPL

......................................................................................................................................................

12

Linux

....................................................................................................................................................

12

DistribuiesLinux

..............................................................................................................................

13

CaptuloIIInstalaodoLinux

...........................................................................................................

16

Particionandoodisco

...........................................................................................................................

19

ConfiguraoInicial

.............................................................................................................................

28

CaptuloIIIConceitosBsicos

............................................................................................................

35

Login

....................................................................................................................................................

35

Reiniciandoedesligandoosistema

.....................................................................................................

35

CaseSensitive

......................................................................................................................................

35

Superusurioroot

.............................................................................................................................

36

Propriedadesbsicasdearquivos

.........................................................................................................

36

AlgumascaractersticasdosistemadearquivosdoLinux.

..................................................................

36

Exerccios

.............................................................................................................................................

37

CaptuloIVComandosBsicos

..........................................................................................................

38

Opes

............................................................................................................................................

38

Parmetros

......................................................................................................................................

38

Comandosparamanipulaodediretrio

............................................................................................

39

ls

......................................................................................................................................................

39

Listaosarquivosdeumdiretrio.

..............................................................................................

39

cd

.....................................................................................................................................................

39

Entraemumdiretrio.Vocprecisaterapermissodeexecuoparaentrarnodiretrio.

39
.....


pwd

................................................................................................................................................

39

Exibeonomeecaminhododiretrioatual.

..............................................................................

39

mkdir

...............................................................................................................................................

40

Criaumdiretrionosistema.

.....................................................................................................

40

rmdir

...............................................................................................................................................

40

Removeumdiretriodosistema,exatamenteocontrariodocomandomkdir.

.........................

40

ComandosparamanipulaodeArquivos

...........................................................................................

40

cat

....................................................................................................................................................

40

Mostraocontedodeumarquivobinriooutexto.

...................................................................

40

rm

....................................................................................................................................................

40

Apagaarquivos,diretriosesubdiretrios.

..............................................................................

40

cp

.....................................................................................................................................................

41

Copiaarquivose/oudiretrios.

...................................................................................................

41

mv

....................................................................................................................................................

41

Movee/ourenomeiaarquivosediretrios.

...............................................................................

41

OutrosComandosBsicos

...................................................................................................................

42

man

.................................................................................................................................................

42

Visualizaapginademanualdeumdeterminadocomandoouprograma.

...............................

42
2

clear

.................................................................................................................................................

42

Limpaatelaeposicionaocursornocantosuperioresquerdodovdeo.

..................................

42

date

..................................................................................................................................................

42

Permiteveremodificaradataehoradosistema.

.....................................................................

42

df

.....................................................................................................................................................

42

Exibeoespaolivre/ocupadodecadapartio.

........................................................................

42

ln

.....................................................................................................................................................

42

Crialinksparaarquivosediretriosnosistema.

......................................................................

42

du

....................................................................................................................................................

43

Mostraoespaoocupadoporarquivosesubdiretriosdodiretrioatual.

..............................

43

find

..................................................................................................................................................

43

Procuraporarquivos/diretriosnodisco.

..................................................................................

43

free

..................................................................................................................................................

44

MostradetalhessobreautilizaodamemriaRAMdosistema.

............................................

44

grep

.................................................................................................................................................

44

Procuraporumtextodentrodeumoumaisarquivo(s).

............................................................

44

more

................................................................................................................................................

44

Permitefazerapaginaodearquivosoudaentradapadro.

...................................................

44

touch

...............................................................................................................................................

45

Criaumarquivoembranco.

.......................................................................................................

45

uptime

.............................................................................................................................................

45

Mostraotempodeexecuodosistemadesdequeocomputadorfoiligado.

...........................

45

dmesg

..............................................................................................................................................

45

Mostraasmensagensdeinicializaodokernel.

......................................................................

45

echo

.................................................................................................................................................

45

Mostraotextodigitadoapsocomandoecho.

..........................................................................

45

uname

..............................................................................................................................................

46

Retornainformaessobreosistema.

........................................................................................

46

wc

....................................................................................................................................................

46

Contaonmerodepalavras,byteselinhasemumarquivoouentradapadro.

........................

46

Comandosparamanipulaodedispositivos

.......................................................................................

46

mount

..............................................................................................................................................

46

Montaumdispositivo.

...............................................................................................................

46

umount

............................................................................................................................................

47

Desmontaumsistemadearquivos.

............................................................................................

47

CaptuloVSistemasdeArquivosnoGNU/Linux

...............................................................................

49

TiposdeArquivo

............................................................................................................................

49

Verificandoostiposdearquivos

.....................................................................................................

49

EstruturadeDiretrios

.........................................................................................................................

50

Algunsarquivosediretriosimportantesdodiretrio/etc

..................................................................

50

passwd

.............................................................................................................................................

50

shadow

............................................................................................................................................

50

fstab

.................................................................................................................................................

50

rc.d

..................................................................................................................................................

52

lilo.conf

...........................................................................................................................................

52

CaptuloVIEditoresdeTexto

.............................................................................................................

53

Ovi

.......................................................................................................................................................

53

Comandosbsicosdeinserodetexto

..........................................................................................

54

Comandosbsicosdemovimentao

.............................................................................................

54

Comandosparalocalizartexto

........................................................................................................

54

Comandosbsicosparaalteraodetexto

......................................................................................

54

Comandosparasalvarotexto

.........................................................................................................

55

CaptuloVIIGerenciadoresdePartidaBootLoaders

.....................................................................

57

LILO

.....................................................................................................................................................

57

CriandooarquivodeconfiguraodoLILO

..................................................................................

57

Observaes:

..................................................................................................................................

59

OpesmaisusadasnoLILO

.........................................................................................................

59

Global

............................................................................................................................................

59

Imagens

..........................................................................................................................................

60

CaptuloVIIIInterpretadoresdeLinhadeComando

..........................................................................

62

VariveisdeAmbiente

.........................................................................................................................

63

Exemplodeumshellscript

....................................................................................................

64

Aliases

..................................................................................................................................................

64

CaptuloIXRedirecionamento,pipeeoutroscaracteresespeciais

...................................................

67

Oredirecionamento>

................................................................................................................

67

Oredirecionamento>>

..............................................................................................................

67

Oredirecionamento<

................................................................................................................

67

Oredirecionamento<<

..............................................................................................................

67

O&comercial

.............................................................................................................................

68

Opipe|

.....................................................................................................................................

68

Fechandoumprogramaquandonosesabecomosair

..................................................................

68

CaptuloXCompactadores

.................................................................................................................

71

Extensesdearquivoscompactados

...............................................................................................

71

CompactadoreseDescompactadores

...................................................................................................

72

gzip

..................................................................................................................................................

72

bzip2

................................................................................................................................................

73

tar

....................................................................................................................................................

73

CaptuloXIGernciadecontasepermissesdeusurios

..............................................................

76

adduser

............................................................................................................................................

76

Adicionaumusurioougruponosistema.

...............................................................................

76

useradd

............................................................................................................................................

77

Criaumusuriodosistema.

.......................................................................................................

77

usermod

...........................................................................................................................................

77

Modificaumusuriodosistema.

...............................................................................................

77

groupadd

........................................................................................................................................

77

passwd

.............................................................................................................................................

78

Mudaasenhadousurioougrupo.

..........................................................................................

78

userdel

.............................................................................................................................................

79

Apagaumusuriodosistema.

..................................................................................................

79

groupdel

..........................................................................................................................................

79

Apagaumgrupodosistema.

.....................................................................................................

79

su

.....................................................................................................................................................

79
4

Permitetrocardeusuriosemfazerologout.

............................................................................

79

chfn

.................................................................................................................................................

79

Mudaalgunsdosdadosdousurio.

...........................................................................................

79

id

.....................................................................................................................................................

80

Mostraaidentificaoatualdousurio,grupoprimrioeoutrosgruposquepertence.

..........

80

logname

...........................................................................................................................................

80

Mostraseulogin(username).

....................................................................................................

80

users

................................................................................................................................................

80

Mostraosnomesdeusuriosusandoatualmenteosistema.

....................................................

80

groups

.............................................................................................................................................

80

Mostraosgruposqueousuriopertence.

.................................................................................

80

lastlog

..............................................................................................................................................

80

Mostraoltimologindosusurioscadastradosnosistema.

.....................................................

80

last

...................................................................................................................................................

80

Mostraumalistagemdeentradaesadadeusuriosnosistema.

.............................................

80

CaptuloXIIPermisses

....................................................................................................................

83

TrocandoosProprietriosdeumArquivo

......................................................................................

83

TiposdeAcesso

..............................................................................................................................

83

ClassesdeAcesso

...........................................................................................................................

84

AlterandoPermisses

.....................................................................................................................

84

EspecificandoPermissesdeAcessoDefault

................................................................................

84

TiposdeExecuodecomandos/programas

..................................................................................

85

CaptuloXIIIProcessos

......................................................................................................................

88


ps

.....................................................................................................................................................

88

Mostraosprocessosqueestorodando.

....................................................................................

88

top

...................................................................................................................................................

88

Mostraosprogramasemexecuo

............................................................................................

88

Controledeexecuodeprocessos

.................................................................................................

89

Interrompendoaexecuodeumprocesso

................................................................................

89

Parandomomentaneamenteaexecuodeumprocesso

...........................................................

89

jobs

..................................................................................................................................................

90

Mostraosprocessosqueestoparadosourodandoemsegundoplano.

....................................

90

fg

.....................................................................................................................................................

90

Permitefazerumprogramarodandoemsegundoplanoouparado,rodaremprimeiroplano.
.90


bg

....................................................................................................................................................

90

Permitefazerumprogramarodandoemprimeiroplanoouparado,rodaremsegundoplano.
90


kill

...................................................................................................................................................

90

Permiteenviarumsinalaumcomando/programa.

....................................................................

90

killall

...............................................................................................................................................

91

Permitefinalizarprocessosatravsdonome.

...........................................................................

91

pidof

................................................................................................................................................

91

RetornaoPIDdoprocessoespecificado

...................................................................................

91

nice

..................................................................................................................................................

93

Configuraaprioridadedaexecuodeumcomando/programa.

..............................................

93

renice

...............................................................................................................................................

93

Alteraaprioridadedeumprocessoemexecuo.

....................................................................

93
5


CaptuloXIVKerneleMdulos

..........................................................................................................

95

OKernel

...............................................................................................................................................

95

Mdulos

...............................................................................................................................................

95

kmod

.....................................................................................................................................................

96

lsmod

....................................................................................................................................................

96

insmod

..................................................................................................................................................

97

rmmod

..................................................................................................................................................

97

modprobe

..............................................................................................................................................

97

depmod

.................................................................................................................................................

98

modules.conf

........................................................................................................................................

98

CaptuloXIVAgendamentodeTarefas

..............................................................................................

99

cron

.......................................................................................................................................................

99

at

.........................................................................................................................................................

102

CaptuloXVIntroduoaRedes

......................................................................................................

104

OProtocoloTCP/IP

............................................................................................................................

104

CamadasdoModeloTCP/IP

........................................................................................................

104

CamadaAplicao

.................................................................................................................

104

CamadaTransporte(TCP/UDP)

............................................................................................

104

CamadaInternet(IP)

..............................................................................................................

105

CamadaRede(Hardware)

......................................................................................................

105

ComparaoentreModeloOSIxModeloTCP/IP

.......................................................................

105

ProtocolosdaCamadadeAplicao

.............................................................................................

105

FTP(FileTransferProtocol)

.................................................................................................

105

Telnet

......................................................................................................................................

105

SMTP(SimpleMailTransferProtocol)

.................................................................................

105

DNS(DomainNameService)

...............................................................................................

106

ProtocolosdaCamadadeTransporte

............................................................................................

106

TCP(TransmissionControlProtocol)

.....................................................................................

106

UDP(UserDatagramProtocol)

...............................................................................................

106

ProtocolosdaCamadadeInternet

................................................................................................

107

IP(InternetProtocol)

................................................................................................................

107

EndereamentoIP

....................................................................................................................

107

Mscaradesubrede

................................................................................................................

109

SubRedes

.................................................................................................................................

110

RoteamentoIP

...........................................................................................................................

111

FlagsdoComandoroute

...........................................................................................................

112

RotasPadro

.............................................................................................................................

112

OprotocoloARP

......................................................................................................................

113

OprotocoloICMP

....................................................................................................................

113

CaptuloXVIConfigurandoaRedeNoLinux

...................................................................................

116

Ocomandoifconfig

.......................................................................................................................

116

Ocomandoroute

...........................................................................................................................

116

Oarquivo/etc/resolv.conf

..............................................................................................................

116

Oarquivo/etc/rc.d/rc.inet1.conf

....................................................................................................

117

MduloIIAdministraodeServidores

............................................................................................

121

CaptuloIIntroduoaoSSH

...........................................................................................................

121

1.1CaractersticasdoSSH

...............................................................................................................

121

1.2Usandoaplicativosclientes

.......................................................................................................

122

Ocomandossh

..............................................................................................................................

122

Ocomandoscp

.........................................................................................................................

123

1.3Oservidorssh

............................................................................................................................

123

1.4Controledeacessonossh

..........................................................................................................

124

1.5InstalandooOpenSSH

..............................................................................................................

124

CaptuloIIFTP

..................................................................................................................................

126

2.1FTPPassivoeAtivo

..................................................................................................................

126

2.2OclienteFTP

............................................................................................................................

127

2.3ProFTP

.......................................................................................................................................

127

2.4InstalandooProFTP

..................................................................................................................

128

2.5Configurandooproftpd

.............................................................................................................

128

CaptuloIIIDNSDomainNameSystem

........................................................................................

130

3.1ModosdeOperao

...................................................................................................................

130

a)Query

........................................................................................................................................

130

b)Trocadeinformao(zonas,etc)

.............................................................................................

130

3.2Caractersticas

...........................................................................................................................

130

3.3InstalandooBIND/Named

......................................................................................................

131

3.4Configurao

.............................................................................................................................

131

ArquivodeconfiguraodoBind/Named

................................................................................

131

TiposderegistroDNS

...................................................................................................................

132

Arquivodezonalinuxfi.zone

.................................................................................................

132

Arquivodereversolinuxfi.rev

...............................................................................................

133

Arquivodazonalocallocalhost

.............................................................................................

133

Arquivodecache

......................................................................................................................

134

3.5IniciandooBIND

......................................................................................................................

134

3.6Comandonslookup

....................................................................................................................

134
ParatestareresolverosproblemasnaconfiguraodeumservidorDNS,independentedo

fabricante.

.....................................................................................................................................

134
RealizaqueriesaservidoresDNS
.............................................................................................134
Possuimodosinterativoenointerativo
..................................................................................134

3.7Logs

...........................................................................................................................................

134
Default/var/log/messages
.........................................................................................................134
Grandefontedeinformaessobreocorretofuncionamentodoservidor.
..............................135
Tambmservecomomecanismodeauditoriadoservidor
.......................................................135

3.8Implementandosegurana

.........................................................................................................

135

Restringindotransfernciasdezona

.............................................................................................

135

TratandoSpoofing

........................................................................................................................

135

Escondendoalgumasinformaes

................................................................................................

135

CaptuloIVApacheHTTP

................................................................................................................

136

4.1ApacheSoftwareFoundation

....................................................................................................

136

4.2ProjetodoservidorApacheHTTP

............................................................................................

136

Algunsmelhoramentosnaverso2.x

...........................................................................................

136

4.3PHPHypertextPreprocessor

..................................................................................................

136

4.4MySQL

......................................................................................................................................

137
7

Caractersticas

...............................................................................................................................

137

4.5InstalandoMySQL,PHPeApache

...........................................................................................

137

MySQL

.........................................................................................................................................

137

Apachecomsuporteamdulosdinmicos

...................................................................................

137

PHPparaoApache

.......................................................................................................................

139

HabilitandooPHPnoApache

......................................................................................................

139

4.6VirtualHosts

.............................................................................................................................

139

Configuraodeumvirtualhostemumservidorcomapenas1endereoIP:

.............................

139

Configuraodeumvirtualhostemumservidorcommaisde1endereosIPdiferente:

...........

140

4.7AutenticaonoAPACHE

.........................................................................................................

140

CaptuloVServidordeEmail

...........................................................................................................

143

5.1Conceitos

...................................................................................................................................

143

MUAMailUserAgent

...............................................................................................................

143

MTAMailTransportAgent

........................................................................................................

143

MDAMailDeliveryAgent

.........................................................................................................

143

5.2Postfix

........................................................................................................................................

144

5.3Clamav

.......................................................................................................................................

144

5.4InstalandoPostfixeClamav

......................................................................................................

144

Arquivosnecessrios:

...................................................................................................................

144

InstalandoeconfigurandooPostfix

..............................................................................................

146

InstalandoeconfigurandooClamav

............................................................................................

146

5.5Atualizaodoantivrus

............................................................................................................

148

5.6Iniciandooclamaveopostfix

......................................................................................................

149

5.7IniciandooServidorPOP3

...........................................................................................................

149

CaptuloVISamba

............................................................................................................................

150

6.1Introduo

..................................................................................................................................

150

6.2Histrico

....................................................................................................................................

150

6.3Caractersticas

............................................................................................................................

151

6.4Configurandoosamba

..............................................................................................................

152

a)SEOGLOBAL:

...................................................................................................................

153

b)SEOSECURITYOPTIONS:

.............................................................................................

153

c)SEOSHARES

.....................................................................................................................

155

6.5Acessandocompartilhamentos:

.................................................................................................

156

MODULOIINTRODUO

CAPTULOIINTRODUOAOSOFTWARELIVRE/LINUX

OUNIX
OnomeLinuxsurgiudamisturadeLinus+Unix.LinusonomedocriadordoLinux,Linus
Torvalds.EUnix,onomedeumsistemaoperacionaldegrandeporte,noqualcontaremossua
histriaagora,paraquevocentendamelhoradoLinux.
AorigemdoUnixtemligaocomosistemaoperacionalMultics,projetadonadcadade1960.
EsseprojetoerarealizadopeloMassachusetsInstituteofTechnology(MIT),pelaGeneralEletric(GE)
epeloslaboratriosBell(BellLabs)eAmericanTelephonenaTelegraph(AT&T).Aintenoerade
que o Multics tivesse caractersticas de tempo compartilhado (vrios usurios compartilhando os
recursosdeumnicocomputador),sendoassim,osistemamaisarrojadodapoca.Em1969,j
existiaumaversodoMulticsrodandonumcomputadorGE645.
Ken Thompsom era um pesquisador do Multics e trabalhava na Bell Labs. No entanto, a
empresaseretiroudoprojetotemposdepois,maselecontinuouseusestudosnosistema.Desde
ento,suaidianoeracontinuarnoMulticsoriginalesimcriaralgomenor,masqueconservasseas
idiasbsicasdosistema.Apartirda,comeaasagadosistemaUnix.BrianKernighan,tambm
pesquisadordaBellLabs,foiquemdeuessenome.
Em1973,outropesquisadordaBellLabs,DennisRitchie,reescreveutodoosistemaUnixnuma
linguagemdealtonvel,chamadaC,desenvolvidaporelemesmo.Porcausadisso,osistemapassou
atergrandeaceitaoporusuriosexternosBellLabs.
Entre1977e1981,aAT&T,alterouoUnix,fazendoalgumasmudanasparticulareselanouo
SystemIII.Em1983,apsmaisumasriedemodificaes,foilanadooconhecidoUnixSystemIV,
que passou a ser vendido. At hoje esse sistema usado no mercado, tornandose o padro
internacionaldoUnix.EssesistemacomercializadoporempresascomoIBM,HP,Sun,etc.OUnix
umsistemaoperacionalmuitocaroeusadoemcomputadorespoderosos(comomainframes)por
diversasmultinacionais.
ApartirdoUnixsurgiramvriospadresparaodesenvolvimentodeSoftware,doisdelesforam
muitodifundidosoPOSIX(padroquefoiseguidopeloLinuxTorvaldsparaodesenvolvimentodo
Linux)eoBSD(quedeuorigemaosSoftwaresdaFamliaBSDFreeBSd,NetBSD,OpenBSD).

OPROJETOGNU
Noanode1971,RichardStallmancomeouatrabalharnoLaboratriodeIntelignciaArtificial
do MIT. Naquela poca o sistema predominante no Laboratrio era o UNIX, que havia sido
desenvolvido alguns anos antes pelo cientista da AT&T Ken Thompson. Na dcada de 70 era
costumedosdesenvolvedorescompartilharemcdigoseinformaesdesoftwarelivremente.
Infelizmentenadcadaseguinteessecostumediminuiubastante,foientoque,noanode
1984, Richard Stallman teve a idia de criar um grupo para difundir e defender a utilizao do
SoftwareLivre.DevidoutilizaoemmassadoUnixnestapocaRichardStallmandefiniuqueo
nomedogruposeria:GNUisNotUnix.AprimeiratarefaogruposeriadesenvolverumSistema
Operacional baseadonoUnix com ocdigo totalmente aberto. Comearam desenvolver diversos
utilitriosparaoSistemaOperacional,quehojesoutilizadosemgrandeescala.Apartirdessegrupo
surgiuamaiorrefernciaemSoftwareLivredomundo,aGNU.

OSOFTWARELIVRE
AocontrariodoquepensaamaioriaotermoFreeSoftwarerefereseaofatodousurioter
liberdadeemcopiar,modificaredistribuirosoftware.SegundoaF.S.F(FreeSoftwareFoundation),
que tambm faz parte do Projeto GNU, um software considerado livre se permitir aos seus
usuriosasseguintesliberdades:
0)deexecutaroprograma,comqualquerpropsito.
1)deestudarofuncionamentodoprogramaeadaptaloasuanecessidade.
2)deredistribuircpiasdosprogramasparaajudaroprximo.
3)deaperfeioarosoftwareedistribuloparagerarumbenefcioparaacomunidade.
O acesso ao cdigo fonte do software fundamental para garantir as liberdades 1 e 3. A
filosofia do Software Livre encontra as suas razes na livre troca de conhecimentos e de
pensamentosquepodemtradicionalmenteserencontradonocampocientfico.Destaforma,talcomo
asidias,osprogramasdecomputadornosotangveisepodemsercopiadossemcausarnenhum
efeitoemsuaversooriginal.Adistribuiodosoftwarelivreabasedeumprocessodeevoluo
quealimentaodesenvolvimentodopensamento.

COPYLEFT

10

ParagarantirquenenhumcomercianteusasseaarquiteturadesenvolvidapeloGNUemum
programa pago, Richard Stallman, um dos idealizadores do projeto, concebeu o conceito de
"copyleft".
Invertendo as regras do direito autoral (o copyright), em que o usurio deveria pagar uma
porcentagemdovalordoprodutoaocriadorourevendedor,o"copyleft"asseguravaquequalquerum
pudesseteracessoquelasinformaes,desdequeafonteoriginalfossecitada.

GPL
Utilizando as Regras de copyleft a GNU desenvolveu uma licena prpria a GPL (General
Public License) com objetivo de garantir que um Software Livre no seja transformado em um
SoftwareProprietrio.
OLinuxestsobalicenaGPL,ouseja,permitidoaqualquerpessoautilizaroumodificaro
seu cdigo, desde que mantenha os crditos dos autores originais, porem no permitido
transformar o Linux em um Sistema Operacional de cdigo fechado, ou seja, voc pode alterar
qualquerpartedoLinux,modificloeatcomercializlo,masvocnopode,emhiptesealguma,
fechlo(nopermitirqueoutrosusuriosomodifiquem)evendlo.
A GPL (General Public License) do GNU foi desenhada de modo que ela seja facilmente
aplicvelaoseuprprioprogramasevocodetentordocopyright.Vocnotemquemodificara
GNUGPLparafazerisso,apenasadicionenotasaoseuprogramaqueserefiramadequadamente
GPL.

LINUX
Em 1991 o aluno da na universidade de Helsinki na Finlndia, Linus Torvalds comeou a
desenvolverumSistemaOperacionalbaseadonoPadroPOSIXoriginadodoUNIX.Napocauma
variaobastanteutilizadadoUnixeraoMinix,desenvolvidoegerenciadoporAndrewTannebaum.
quejnooatendiacompletamente.Torvaldscomeouadesenvolverumsistemacomintenesem
criarumMinixmelhorqueoMinix.QuandoterminouaprimeiraversodoKernel,Linusenviouum
emailparaalistacomp.os.minixdizendooseguinte:
"VocsuspirapormelhoresdiasdoMinix1.1,quandohomensserohomense
escreveroseusprprios"devicedrivers"?Vocestsemumbomprojetoe
estamorrendoporcolocarasmosemumS.O.noqualvocpossamodificar
deacordocomsuasnecessidades?Vocestachandofrustrantequandotudo
trabalha em Minix? Chega de atravessar noites para obter programas que
trabalhemcorreto?Entoestamensagempodeserexatamenteparavoc.

11

Como eu mencionei h um ms atrs, estou trabalhando em uma verso


independentedeumS.O.similaraoMinixparacomputadoresAT386.Eleest,
finalmente,prximodoestgioemquepoderserutilizado(emborapossano
seroquevocestejaesperando),eeuestoudispostoacolocarosfontespara
ampladistribuio.Eleestnaverso0.02..Contudoeutivesucessorodando
bash,gcc,gnumake,gnused,compressoetc.nele.

Depois de compilar com sucesso programas desenvolvidos pela GNU, Torvalds decidiu
licenciar o Linux pela GPL. De 1991 at os dias atuais o sistema tem crescido cada vez mais,
atualmentemilharesdepessoasdetodasaspartesdomundofazempartedoseudesenvolvido.
TorvaldscontinuachefiandoaequipededesenvolvimentodoLinux.

DISTRIBUIESLINUX
ComapopularizaodoLinuxcomearamasurgirasDistribuies. Existemempresasque
desenvolvemsuasprpriasdistribuies,traduzindoasaplicaesparaoidiomalocaleoferecendo
suporte aos modelos de hardware mais utilizados na regio. Algumas dessas distribuies so
comercializadasdeacordocomasleisdaGPL,seusfontessodistribudoslivremente,outrasso
desenvolvidas por voluntrios, sem vnculos com empresas, como o caso da distribuio
SlackwareGNU/Linux.Conheaalgumasdasdistribuiesmaisutilizadasatualmente:
Slackware OLinuxdaSlackwaremuitoutilizadoemservidores.Antesdocrescimentoda
RedHat,eraadistribuiomaispopular.bastantecompletaeoferecemuitosaplicativosagregados
aopacote.Foicriadaem1993emantidadesdeentopeloPatrickVolkerding,sendoumadasmais
antigasdistribuiesLinuxdomundo.
DebianDistribuiodesenvolvidaeatualizadaatravsdoesforodevoluntrios,seguindoo
estilodedesenvolvimentoGNU/Linux. Por estemotivo, foi adotadacomo adistribuio oficialdo
projeto GNU. Possui suporte ao idioma portugus. A atualizao da distribuio ou de pacotes
individuaispodeserfeitafacilmenteatravsdoapt,quegerenciaospacotes.deb.Damesmaforma
queadistribuioSlackware,nopossuivnculoscomerciaiscomnenhumaempresa.
RedHat Atualmenteumadistribuiocomercial.FoidesenvolvidapelaRedHatSoftware
(www.redhat.com).bastantepopularparaousodomstico,devidoasuasimplesinstalaoem
modogrfico.
FedoraComamudanadoRedHatparacomercial,aRedHatlanouadistribuioFedora
comaidiademanteressadistribuiogratuita.
SuSE DistribuiocomercialAlemcomacoordenaosendofeitaatravsdosprocessos
administrativosdosdesenvolvedoresedeseubraonorteamericano.Suainstalaopodeserfeita
viaCDROMouCDDVD(aprimeiradistribuiocominstalaoatravsdeDVD).Osistemade
gerenciamentodepacotesoRPMpadronizado.

12

Conectiva a distribuio que d o melhor suporte para o idioma portugus e para os


tecladosbrasileiros,assimcomoparaohardwarepresentenamaioriadasmquinasvendidasno
Brasil.UtilizaoformatodepacotesdaRedHat(.rpm).
Outras: Kurumin, Ubuntu, Mandrake, Kalango, Freedows, Knoppix, Stampede, Yellow Dog,
TurboLinux,EnGardeSecureLinux,ElxLinux,Xandros,Slax,Gentoo,ClusterKnoppix.Enfim,so
maisde400distribuiescatalogadasnowww.linux.org/dist/list.html.

13

Anotaes
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________

14

CAPTULOIIINSTALAODOLINUX
Primeiramente, necessrio configurar o boot docomputador para queele iniciepeloCD
ROM.Depoisdessepasso,coloqueoCD1deinstalaodoSlackwareLinuxparaqueocomputador
dinicieporele.QuandooCDforidentificadoirapareceraFigura1,abaixo.

Figura1

NocasodocomputadorestarequipadocomdiscosnopadroIDE,apenastecleoENTER.No
entanto, se a estiver com dispositivos SCSI, necessrio carregar o mdulo que d suporte
dispositivosscsi.Paraisso,digitescsi.snatelamostradanaFigura1.Paravisualizarumapequena
descri;aodetodososkerneldisponveis,tecle:F2eposteriormenteF3.

15

Figura2

Geralmente, apenas teclamos ENTER para usar o layout padro, que o US, pois no
necessitasedautilizaodecaracteresespeciaiseacentuaoduranteainstalao.Noentanto,
paratrocaromodelodoteclado,bastadigitar1natelamostradanaFigura2.Omodeloidealpara
teclados brasileiros, seria brabnt2, pois d suporte ao uso das teclas especiais (como o ) e
acentuao.Comisso,teremosacessotelaapresentadanaFigura3.Apsaseleodotecladoir
abrirumateladetestedoteclado(KeyboardTest),ondepoderoserfeitostestesafimdeverificarse
omapaescolhidoestnospadresdotecladoutilizado.Casonoesteja,possveltestaroutros
mapas,voltandoparaatelaanterior.

16

Figura3

A Figura4 mostraaprimeirateladeinterativacomousurio.Nela,deveseefetuarologin
como o usurio root para iniciar o processo de instalao. (digite root e tecle ENTER, ou
simplesmentetecleENTER).

Figura4

17

PARTICIONANDOODISCO
OprimeiropassoprepararoHDparaainstalaocomaferramentafdisk,comonaFigura5.
#fdisk/dev/hda
Onde/dev/hdaoidentificadordoseuHD,paraverqualserodispositivoqueseuHDest
usandovejaaTabela1.
Posio
IDE1(Master)
IDE1(Slave)
IDE2(Master)
IDE2(Slave)

Dispositivo
/dev/hda
/dev/hdb
/dev/hdc
/dev/hdd
Tabela1

Figura5

OBSERVAO: Se o HD for SCSI, a identificao do dispositivo alterada da seguinte


maneira:
DispositivoIDE
/dev/hda
/dev/hdb
/dev/hdc
/dev/hdd

EquivalenteSCSI
/dev/sda
/dev/sdb
/dev/sdc
/dev/sdd
Tabela2

ApreparaodoHDseresume na escolhadoSistemaenoparticionamentododisco. As
partiesnecessriasparaumfuncionamentoadequandodainstalaodoLinux,soduas:

18

PartioRaiz:conhecidacomo/,ondeserinstaladoosistemaoperacional;
Partio Swap: destinada para armazenamento de arquivos de paginao do sistema
operacional a memria principal (RAM) da mquina estiver cheia. Tambm conhecida como
PartiodeTroca.
Paraverificaraspartiesjexistentes,bastadigitar<p>nopromptdofdisk:
Command(mforhelp):p
Disk/dev/hda:20.0Gb,20003880960bytes
255heads,63sectors/tracks,2432cylinders
Units=cylindersof16065*512=8225280bytes
DeviceBootStartEndBlocksIdSystem
/dev/hda1*11657133098217HPFS/NTFS
Neste exemplo, existeapenasumapartio queest configuradapara osistemaHPFS ou
NTFS.PossvelmenteestinstaladoalgumavariaodoWindowsnesseHD.Afimdeterapenaso
LinuxinstaladonoHD,removeseapartioexistente,teclando<d>(delete).
Command(mforhelp):d(delete)
ParacriaraspartiesnecessriasparaainstalaodoLinuxdigitase<n>(new):
Command(mforhelp):n
Ir aparecer o prompt abaixo perguntando se a partio a ser criada ser a extendida ou
primria.Escolhemos<p>eENTER.
Commandaction
eextended
pprimarypartition(14)
Emseguida,necessrioinformaronmerodeidentificaodanovapartio:
Partitionnumber(14):
Apsaescolha,iraparecerqualdeveseroprimeirocilindrodoHDquedeveriniciaranova
partio:
Firstcylinder(12432,default1):
Neste ponto basta digitar ENTER para pegar o valor recomendado. Aps isso, precisamos
informarotamanhodapartioqueestsendocriada.Apartioswapdeveserdotamanhodo
dobrodamemriaramdocomputador.Paracolocar512Mb,bastadigitar<+512M>noprompt:
Lastcylinderor+sizeou+sizeMor+sizeK(12432,default2432):
+512M
Pronto,apartiode512Mfoicriada.Paracriarapartioprincipal,realizasenovamenteo
mesmoprocesso,descritoaseguir.

19

Command(mforhelp):n(new)
Ir aparecer o prompt abaixo perguntando se a partio a ser criada ser a estendida ou
primria.Escolhemos<p>eENTER.
Commandaction
eextended
pprimarypartition(14)
Para escolher a partio primria ir perguntar qual o nmero que ir identificar a nova
partio:
Partitionnumber(14):(onmerodapartio)
Comosercriadaasegundapartio,colocaremosonmero2comosuaidentificao,basta
digitar<2>.Novamente,vaiserperguntadoqualoprimeirocilindroaserusado.Porpadro,ofdisk
ofereceoprimeirocilindrodisponvelnoHD:
Firstcylinder(16582432,default1658):
NestepontobastadigitarENTERparapegarovalorrecomendado.Agora,irperguntarqualo
tamanhodapartio,nonossocasocomoserutilizadotodooespaodisponvelnodisco,devese
apenasteclarENTERparaaescolhadaopopadro:
Lastcylinderor+sizeou+sizeMor+sizeK(16582432,default2432):
ParaverificarcomoestatabeladaspartiesdoHD,digitase,novamente,<p>:
Command(mforhelp):p
Disk/dev/hda:20.0Gb,20003880960bytes
255heads,63sectors/tracks,2432cylinders
Units=cylindersof16065*512=8225280bytes
DeviceBootStartEndBlocksIdSystem
/dev/hda11168925704083Linux
/dev/hda2169024325968147+83Linux
NotequeasduaspartiesestomarcadasparausarosistemaLinux.Precisasealteraro
sistemadapartioidentificadapelonmero<1>,queserutilizadacomoapartioSWAP.Para
isso,digite<t>eescolhaonmerodapartioaterosistemaalterado,nocaso<1>.
Command(mforhelp):t
Partitionnumber(14):1
Logo aps, ser perguntado qual ser o novo sistema dessa partio. Para listar os tipos
disponveis,bastadigitar<l>.OcdigodapartiodotipoSWAP<82>:
Hexcode(typeLtolistcodes):82

20

Agoraaspartiesestocriadasecomossistemasdevidamenteatribudos.Parasalvaras
modificaesbastadigitar<w>noprompt:
Command(mforhelp):w
Callingioctl()torereadpartitiontable.
Syncingdisks.
Feitoisso,odiscoestprontoparaserinstalado.ParainiciaraInstalaodoSlackware,digite
<setup>nopromptparaacessaroutilitriodeinstalaodoslackware,Figura6.
root@slackware:/#setup

Figura6

SelecioneaopoADDSWAP
ParaqueoinstaladorlocalizeapartioswapcriadanoHD.BastateclarENTERnoboto
[Yes]parainiciaraformataodapartio,Figura7.

21

Figura7

Apsaformataodapartiodeswap,iraparecerumalista,Figura8,daspartiesdoHD
paraescolhermosqualserutilizada.

Figura8

Na Figura9,serperguntadosedesejaformatarapartioselecionada,selecioneaopo
Format.

22

Figura9

Posteriormente, aparecer em qual sistema de arquivos desejase formatar a partio,


conformemostraaFigura10.OsistemadearquivospadrodoSlackwareoReiserfs.

Figura10

Apsselecionarosistemadearquivosaserusado,odisco,ento,formatadoFigura11.

23

Figura11

Realizada a formatao das parties, escolhemos a mdia onde esto os arquivos de


instalao.Nestecaso,escolhemosoCDROMFigura12.

Figura12

Posteriormente,serperguntadoseeledevedetectarocdromautomaticamente,conformea
Figura13,apenasselecione[OK]

24

Figura13

NatelamostradanaFigura14seescolheospacotesqueseroinstaladosnosistema.

Figura14

[A]Abasedosistemaestcontidanessepacote,essencialparaobomfuncionamentodo
sistema.ContmoKerneleseusmdulos,cups,minicom,etc;
[AP]Vriosaplicativosquenonecessitadeinterfacegrfica.Exemplo:dvd+rwtools,hpijs,
gimpprint,lvm,quotaeraidtools;
[D] Pacotedeaplicativosparadesenvolviente,altamenterecomendadopara usuriosque
futuramentedesejamcompilarprogramas.Exemplo:autoconf,gcc,python;
[E]PacotedosoftwareGNUEmacsqueumeditordetexto.

25

[F] ListadeFAQ(Perguntasmaisfrequentes)edocumentaodos aplicativos instalados,


essasriepossueumalistadedocumentosessenciaisparaosadministradoresdesistemas;
[GNOME ] InterfacegrficaGNOME Desktop, contmtodos os aplicativos dessainterface
grfica.Exemplo:GAIM;
[K]CdigofontedoLinuxkernel;
[KDE]InterfacegrficadoKDEeoQt.Vriosaplicativos.Exemplo:kedit,kcalc,kmail,etc;
[KDEI]Pacotesdesuporteavriaslnguas,inclusiveadoPortugusdoBrasil.
[L]Pacotesdebibliotecasparaamaioriadosistema(necessrioparaoKDE,GNOME,X,e
outros). Nesse pacote, encotramos importantes bibliotecas necessrias para o funcionamento do
sistema.Recomendadoinstalartodasasbibliotecas.
[N] Nessepacoteestaremosinstalandoosprogramasderede(TCP/IP,UUCP,Mail,News).
Nessepacote,encotraremosprogramascomo:Apache,bind,dhcpd,imapd,iproute2,iptables,nmap,
php,sambaesendmail;
[T]TeXumprogramautilizadopormatemticosparaescreverseustrabalhoscientficos.Se
vocnoforummatmatico,noexisteanecessidadedeinstalaodessepacote;
[ TCL ] Tcl/Tk, nessa srie encontramos os programas para desenvolvimento em Tcl/TK
juntamentecomexemplosdecdigo.
[X]Aplicativosquecontrolamainterfacegrfica,juntamentecomasfontesnecessriasparaa
interfacegrficafuncionarusandopelolinux;
[XAP] UmasriedeaplicativospararodaremnoX. Exemplo: Netscape,Mozilla,blackbox,
fluxbox,fvwm95,xine,xpdf;
[Y]Pacotedegamesclssicosquerodamseminteracegrfica.
Depois de selecionar os grupos de pacotes a serem instalados, teclamos na opo FULL,
Figura15,paradariniciodainstalao:

26

Figura15

Agoraserrealizadaainstalaodospacotesselecionados.SeaopoparainstalaroGnome
e/ouKDE,aparecerumatela(Figura16)pedindoquesejacolocadoocddeinstalao2.Troqueo
CDetecle[OK].

Figura16

No criaremos um disquete de boot para o sistema, pois podemos usar o prprio CD de


instalao, caso seja necessrio. Aps terminar a cpia dos pacotes, iremos fazer uma rpida
configuraodosistema.

CONFIGURAOINICIAL
27

NatelaapresentadanaFigura17,tecleemSkip.

Figura17

Natelada Figura18,realizaseaconfiguraodomodem.Casoocomputadornotenhaou
nonecessitedeummodem,bastaselecionaraprimeiraopo.

Figura18

NaprximatelaoinstaladorperguntarsedesejahabilitaroHotplug,queumsistemade
identificaoautomticadedispositivosUSB,taiscomo:cmerasdigitais,HDsUSB,mouse,entre
outros.ParahabilitaroHotplug,selecione[Yes].
NaprximatelamostradanaFigura19,feitaaescolhadainstalaodogerenciadordeboot
docomputador.Bastaselecionaraprimeiraopoparaescolhermosainstalaoautomtica.

28

Figura19

Naprximatelaficaaconfiguraodoconsole.Podemosescolheraopo:
1024x768Framebufferconsole,1024x768x256
Oinstaladorperguntaseexisteanecessidadedeincluiralgumparmetroextraparaokernel
quandoeleforinicializar,podemosdeixaressaopoembranco.
Selecionamosolocalemqueogerenciadordeboot(LILO)serinstalado.Temos3opes,
ondeanossaoposeraMBR:
Root
Floppy:instalarogerenciadoremumdisqueteformatado;
MBR:instalarnaMBR(MasterBootRecord)doHDprincipal
Naprximatela,escolhaotipodomouse,conformeaFigura22.

29

Figura20

NatelaGPMConfiguration(Figura21)eleperguntasevocirusaromouseemmodotexto.
Parahabilitarousodomouseemmodotexto,selecione[YES].

Figura21

Agoratemosapartedeconfiguraodarede,selecioneaopo[Yes]paracomearmosa
configurao:
Naprimeiratelatemosquedigitaronomedocomputador:
Posteriormente, temos que configurar o domnio que a mquina ficar ligada. Ex.:
dominio.com.br
Emseguida,oinstaladorpedeaconfiguraodoIPdocomputador.Exemplo:192.168.1.x
Mascaraderede:255.255.255.0
Gatewayderede(oIPdoroteadordasuarede):192.168.1.1

30

Nameserver(nomedoservidordenomesdasuarede,DNS):192.168.1.1
Porltimo,elemostraasconfiguraesqueacabamosdefazer,senotivernadaparaalterar
bastateclarem[Accept].
Aprximatela, Figura22,mostraosserviosinstalados.Nestatelaescolheremosquaisos
serviosiroiniciarautomaticamenteapso boot.Deixaremosapenaso syslogd (rc.syslog),para
que sejam armazenados os logs importantes dos eventos que acontecem no sistema. As outras
opesdevempermanecerdesmarcadas.

Figura22

Pode ser efetuada a troca da fonte usada no console, de acordo com a prxima tela da
instalao. um procedimento opcional, para usar a fonte padro, basta teclar ENTER. Para
configurarofusohorriodorelgiodocomputador,selecioneaopodenoatualizarorelgiopor
umservidorUTCeescolhaaregioemqueocomputadorseencontra,nocaso:America/Recife.
Casotenhasidoescolhidoparainstalargerenciadoresdejanelas,nestatela,Figura23,deve
seescolherqualgerenciadoririniciarporpadro:

31

Figura23

Aofinaldainstalao,pedidoparacolocarasenhadousurioroot.Apsessespassos,a
instalao do sistema concluda. Basta sairmos do instalador e reinicializar o computador,
removendooCDROMdodriveparaqueosistemadbootpelosistemaoperacional.

32

Exerccios
1)Queutilitriopodeserusadoparaparticionardiscos?
R:
2)Qualotamanhodevesercolocadonapartiodetroca,conhecidacomoSWAP?
R:
3) Descreva os passos para o particionamento de um HD IDE, desde a remoo das
partiesexistentes,atacriaodaspartiesnecessriasparaainstalaodoLinux.
R:

Anotaes
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
33

CAPTULOIIICONCEITOSBSICOS

LOGIN
DepoisqueosistemacarregadocorretamenteumateladeloginExibida.Esteoprimeiro
momentodeinteraoentreousurioeoSistemaOperacional.

Figura24

REINICIANDOEDESLIGANDOOSISTEMA
Olinuxoferecediversasopesparaamaioriadastarefas.Oscomandos"shutdownrnow",
"reboot"e"init6"servemparareiniciarosistema.Almdessescomandos,aindapodeserutilizadoa
seqnciacontrol+alt+del,tambmparereiniciarosistema.
Ocomando"halt"serveparaparalisar(desligar)oSistema.

CASESENSITIVE

34

Olinux,aocontrriodoWindows,interpretaletrasmaisculaseletrasminsculasdeforma
diferente.
OcomandolsquelistaarquivosnoLinuxdiferentedocomando"LS"que,sequer,existe
no sistema operacional. O Linux tambm case sensitive em relao a nomes de arquivos e
diretrios.Odiretrio"Joao"diferentedodiretrio"joao"edodiretrio"JoAo".

SUPERUSURIOROOT
OLinuxautomaticamentecriadiversosusurios,cadausuriocomumafunoespecifica.Dentre
essesusurioso"root"(raizemIngls)onicousurioquetempermissoparaexecutarqualquer
tarefa,inclusiveapagartodososarquivosdosistema.Antesdeexecutarqualquertarefautilizandoo
usuriorootdevesetercertezaabsolutadetodosospassosqueestosendoexecutado.

PROPRIEDADESBSICASDEARQUIVOS
No GNU/Linux, os arquivos e diretrios podem ter o tamanho de at 255 letras. Os
programasexecutveisdoGNU/Linux,aocontrriodosprogramasdeDOSeWindows,noso
executados a partir de extenses .exe, .com ou .bat. O GNU/Linux (como todos os sistemas
POSIX)usaapermissodeexecuodearquivoparaidentificarseumarquivopodeouno
serexecutado.

ALGUMASCARACTERSTICASDOSISTEMADEARQUIVOSDOLINUX.
Nointerpretaextensodearquivos.Paraidentificao,utilizaseaextensocomopartedo
nome:arquivo.c
Arquivoscomeadoscom.(ponto)soconsideradosocultos.Elesnosolistadoscomo
comandols,amenosqueaopoaforusada.
Semprequequiserexecutarumprogramaqueestnodiretriolocalequenoestem
diretriosdoPATH(/bin,/usr/bin,...)utilizamosopontoebarra(./).Porexemplo,./meuprograma
paraexecutaroarquivomeuprogramaqueestnodiretrioatual.

35

EXERCCIOS
1)Citetrsmaneirasparareinicializarosistema.
R:
2)ComopodeseocultarumarquivonoLinux?
R:
3)QualodiretrioraiznosistemaoperacionalLinux?
R:
Anotaes
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________

36

__________________________________________________________________________

37

CAPTULOIVCOMANDOSBSICOS
Comandossoordensquepassamosaosistemaoperacionalparaexecutarumadeterminada
tarefa.
Cadacomandotemumafunoespecficanosistema.precisoconhecerafunodecada
comandoeescolheromaisadequadoparafazeroquedesejamos,porexemplo:
lsMostraarquivosdediretrios
cdParamudardediretrio

Opes
Asopessousadasparacontrolarcomoocomandoserexecutado,porexemplo,parafazer
umalistagemmostrandoodono,grupo,tamanhodosarquivosvocdevedigitarlsl.Opespodem
serpassadasaocomandoatravsdeum""ou"":
=Opoidentificadaporumaletra.Podemserusadasmaisdeumaopocomumnico
hfen.Ocomandolslaamesmacoisadelsla
=Opoidentificadaporumnome.Ocomandolsallequivalentealsa.
Podeserusadotanto""como"",mashcasosemquesomente""ou""estadisponvel.

Parmetros
Umparmetroidentificaocaminho,origem,destino,entradapadroousadapadroqueser
passadaaocomando.
Sevocdigitar:ls/usr/share/doc, /usr/share/doc seroparmetropassadoaocomandols,
nestecasoqueremosqueelelisteosarquivosdodiretrio/usr/share/doc.
normalerraronomedecomandos,masnosepreocupe,quandoistoacontecerosistema
mostrar a mensagem command not found (comando no encontrado) e voltar ao aviso de
comando.Asmensagensdeerronofazemnenhummalaoseusistema,somentedizemquealgo
deuerradoparaquevocpossacorrigireentenderoqueaconteceu.NoGNU/Linux,voctema
possibilidadedecriarcomandospersonalizadosusandooutroscomandosmaissimples(istoser
vistomaisadiante).Oscomandosseencaixamemduascategorias:ComandosInternoseComandos
Externos.
Exemplo: "ls la /usr/share/doc", ls o comando, la a opo passada ao comando, e
/usr/share/docodiretriopassadocomoparmetroaocomandols.

38

COMANDOSPARAMANIPULAODEDIRETRIO
ls
Listaosarquivosdeumdiretrio.
Sintaxe:ls[opes][caminho/arquivo][caminho1/arquivo1]...
arquivoarquivoquedesejalistar.
diretriodiretrioquedesejalistar.
opes
a,all=Listatodososarquivos(inclusiveosocultos)deumdiretrio.
d,directory=Listaosnomesdosdiretriosaoinvsdocontedo.
l=Usaoformatolongoparalistagemdearquivos.Listaaspermisses,datademodificao,
donos,grupos,etc.
s,size=Mostraotamanhodecadaarquivo,emblocos.

cd
Entraemumdiretrio.Vocprecisaterapermissodeexecuoparaentrarnodiretrio.
Sintaxe:cd[diretrio]
diretriodiretrioquedesejaentrar.
Exemplos:
Usandocdsemparmetrosoucd~,vocretornaraoseudiretriodeusurio(diretriohome).
cd/retornaraodiretrioraz.
cdretornaraodiretrioanteriormenteacessado.
cd..sobeumdiretrio.
cd../[diretrio],sobeumdiretrioeentraimediatamentenoprximo(porexemplo,quandovoc
est em /usr/sbin, voc digita cd ../bin, o comando cd retorna um diretrio (/usr) e entra
imediatamentenodiretriobin(/usr/bin).

pwd
Exibeonomeecaminhododiretrioatual.
Sintaxe:pwd

39

mkdir
Criaumdiretrionosistema.
Sintaxe:mkdir[caminho/diretrio][caminho1/diretrio1]
caminho=Caminhoondeodiretriosercriado.
diretrio=Nomedodiretrioquesercriado.

rmdir
Removeumdiretriodosistema,exatamenteocontrariodocomandomkdir.
Sintaxe:rmdir[caminho/diretrio][caminho1/diretrio1]
caminho=caminhododiretrioqueserremovido.
diretrio=Nomedodiretrioqueserremovido.

COMANDOSPARAMANIPULAODEARQUIVOS
cat
Mostraocontedodeumarquivobinriooutexto.
Sintaxe:cat[opes][diretrio/arquivo][diretrio1/arquivo1]
diretrio/arquivo=Localizaodoarquivoquedesejavisualizarocontedo.
opes
n,number=Mostraonmerodaslinhasenquantoocontedodoarquivomostrado.
s,squeezeblank=Nomostramaisqueumalinhaembrancoentreumpargrafoeoutro.
Obs.:Ocomandocattrabalhacomarquivostexto.Useocomandozcatparaverdiretamente
arquivoscompactadoscomgzip.

rm
Apagaarquivos,diretriosesubdiretrios.
Sintaxe:rm[opes][caminho][arquivo/diretrio][caminho1][arquivo1/diretrio1]
caminho=Localizaodoarquivoquedesejaapagar.Seomitido,assumequeoarquivoesteja
nodiretrioatual.
arquivo/diretrio=Arquivo/Diretrioqueserapagado.
opes
i,interactive=Perguntaantesderemover,estaativadaporpadro.
v,verbose=Mostraosarquivosnamedidaquesoremovidos.

40

r,recursive=Usadopararemoverarquivosemsubdiretrios.Estaopotambmpodeser
usadapararemoversubdiretrios.
f,force=Removeosarquivossemperguntar.
Usecomatenoocomandorm.Umavezqueosarquivose/oudiretriosforemapagados,
elesnopoderosermaisrecuperados.

cp
Copiaarquivose/oudiretrios.
Sintaxe:cp[opes][origem][destino]
origem =Arquivoquesercopiado.Podemserespecificadosmaisdeumarquivoparaser
copiadousando"Curingas"(vejaCuringas,Seo2.12).
destino=Ocaminhoounomedearquivoondesercopiado.Seodestinoforumdiretrio,os
arquivosdeorigemserocopiadosparadentrododiretrio.
opes
i,interactive=Perguntaantesdesubstituirumarquivoexistente.
f,force=Nopergunta,substituitodososarquivoscasojexista.
r=Copiaarquivosdosdiretriosesubdiretriosdaorigemparaodestino.recomendvel
usarRaoinvsder.
R, recursive = Copia arquivos e subdiretrios (como a opo r) e tambm os arquivos
especiaisFIFOedispositivos.
v,verbose=Mostraosarquivosenquantoestosendocopiados.
OcomandocpcopiaarquivosdaORIGEMparaoDESTINO.Ambosorigemedestinoteroo
mesmocontedoapsacpia.

mv
Movee/ourenomeiaarquivosediretrios.
Sintaxe:mv[opes][origem][destino]
origem=Arquivo/diretriodeorigem.
destino=Localondesermovidoounovonomedoarquivo/diretrio.
opes
f,force=Substituioarquivodedestinosemperguntar.
i,interactive=Perguntaantesdesubstituir.opadro.
v,verbose=Mostraosarquivosqueestosendomovidos.

41

OUTROSCOMANDOSBSICOS
man
Visualizaapginademanualdeumdeterminadocomandoouprograma.

clear
Limpaatelaeposicionaocursornocantosuperioresquerdodovdeo.

date
Permiteveremodificaradataehoradosistema.

df
Exibeoespaolivre/ocupadodecadapartio.
Sintaxe:df[opes]
opes
h,humanreadable=MostraoespaododiscoemMB,KB,GBaoinvsdeblocos.
k=ListaemKbytes.
m=ListaemMbytes

ln
Crialinksparaarquivosediretriosnosistema.
Umlinkummecanismoquefazrefernciaaoutroarquivooudiretrioemoutralocalizao.O
linkemsistemasGNU/Linuxfazrefernciareaisaoarquivo/diretriopodendosermanipuladocomo
umarquivocomum.
Sintaxe:ln[opes][origem][link]
origem=Diretrioouarquivodeondeserfeitoolink.
link=Nomedolinkquesercriado.
opes
s=Criaumlinksimblico.Usadoparacriarligaescomoarquivo/diretriodedestino.
v=Mostraonomedecadaarquivoantesdefazerolink.

42

Existem2tiposdelinks:simblicosehardlinks.
*Olinksimblicocriaumarquivoespecialnodisco(dotipolink)quetemcomocontedoo
caminhoparachegaratoarquivooriginal.Paracriarlinkssimblicos,deveserusadaaopo:s.
* O hardlink faz referncia ao mesmo inode do arquivo original, desta forma ele ser
perfeitamenteidntico,inclusivenaspermissesdeacesso,aoarquivooriginal.
Aocontrriodoslinkssimblicos,nopossvelfazerumhardlinkparaumdiretriooufazer
refernciaaarquivosqueestejamempartiesdiferentes.
Observaes:
*Ocomandormemumlink,somenteolinkserremovido.
*Ocomandocpemumlink,oarquivooriginalsercopiadoaoinvsdolink.
*Ocomandomvemumlink,amodificaoserfeitanolink.
*Seforusadoumcomandodevisualizao(comoocat),oarquivooriginalservisualizado.

du
Mostraoespaoocupadoporarquivosesubdiretriosdodiretrioatual.
Sintaxe:du[opes]
opes
a,all=Mostraoespaoocupadoportodososarquivos.
b,bytes=Mostraoespaoocupadoembytes.
c,total=Fazumatotalizaodetodoespaolistado.
h,human=Mostraoespaoocupadoemformatolegvelporhumanos(Kb,Mb)aoinvsde
usarblocos.
k=MostraoespaoocupadoemKbytes.
m=MostraoespaoocupadoemMbytes.

find
Procuraporarquivos/diretriosnodisco.
Ofindpodeprocurararquivosatravsdesuadatademodificao,tamanho,etcatravsdouso
deopes.
Sintaxe:find[diretrio][opes/expresso]
diretrio=Iniciaaprocuranestediretrio,percorrendoseusubdiretrios.
opes/expresso
name [expresso] = Procura pelo nome [expresso] nos nomes de arquivos e diretrios
processados.
depth=Processaossubdiretriosantesdeprocessarosarquivosdodiretrioprincipal.
mount,xdev=Nofazapesquisaemsistemasdearquivosdiferentesdaqueledeondeo
comandofindfoiexecutado.

43

size[num]=Procuraporarquivosquetiveremotamanho[num].[num]podeserantecedidode
"+"ou""paraespecificarumarquivomaioroumenorque[num].Aoposizepodeserseguidade:
* b Especifica o tamanho em blocos de 512 bytes. o padro caso [num] no seja
acompanhadodenenhumaletra.
*cEspecificaotamanhoembytes.
*kEspecificaotamanhoemKbytes.
type[tipo]=Procuraporarquivosdo[tipo]especificado.Algunstiposaceitosso:b(bloco)c
(caractere)d(diretrio)l(linksimblico)s(socket).

free
MostradetalhessobreautilizaodamemriaRAMdosistema.
Sintaxe:free[opes]
opes
b=Mostraoresultadoembytes.
k=MostraoresultadoemKbytes.
m=MostraoresultadoemMbytes.
s[num]=Mostraautilizaodamemriaacada[num]segundos.
Ofreeumainterfaceaoarquivo/proc/meminfo.

grep
Procuraporumtextodentrodeumoumaisarquivo(s).
Sintaxe:grep[expresso][arquivo][opes]
expresso =Palavraoufrasequeserprocuradanotexto.Setivermaisde2palavrasvoc
deveidentificalacomaspas""casocontrrioogrepassumirqueasegundapalavraoarquivo!
arquivo=Arquivoondeserfeitaaprocura.
opes
A[nmero]=Mostrao[nmero]delinhasapsalinhaencontradapelogrep.
B[nmero]=Mostrao[nmero]delinhasantesdalinhaencontradapelogrep.
h,nofilename=Nomostraosnomesdosarquivosduranteaprocura.
i,ignorecase=Ignoradiferenaentremaisculaseminsculasnotextoprocuradoearquivo.

more
Permitefazerapaginaodearquivosoudaentradapadro.
Ocomandomorepodeserusadocomocomandoparaleituradearquivosqueocupemmaisde
umatela.Quandotodaatelaocupada,omoreefetuaumapausaepermitequevocpressione

44

Enter ou espao para continuar avanando no arquivo sendo visualizado. Para sair do more
pressioneq.
Sintaxe:more[arquivo]
arquivo=Oarquivoqueserpaginado.

touch
Criaumarquivoembranco.
Tambmpodeserusadoparamudaradataehoraqueumarquivofoicriado.Casootouch
sejausadocomarquivosquenoexistam,porpadroelecriarestesarquivos.
touch[opes][arquivos]
arquivos=Arquivosqueterosuadata/horamodificados.
opes
tMMDDhhmm[ANO.segundos]=UsaMinutos(MM),Dias(DD),Horas(hh),minutos(mm)e
opcionalmenteoANOesegundosparamodificaodo(s)arquivosaoinvsdadataehoraatual.
a,time=atime=Fazotouchmudarsomenteadataehoradoacessoaoarquivo.
c,nocreate=Nocriaarquivosvazios,casoosarquivosnoexistam.
m,time=mtime=Fazotouchmudarsomenteadataehoradamodificao.
r[arquivo]=Usaashorasno[arquivo]comorefernciaaoinvsdahoraatual.

uptime
Mostraotempodeexecuodosistemadesdequeocomputadorfoiligado.

dmesg
Mostraasmensagensdeinicializaodokernel.
Somostradasasmensagensdaltimainicializaodosistema.

echo
Mostraotextodigitadoapsocomandoecho.
Estecomandotilnaconstruodescriptsparamostrarmensagensnatelaparaousurio
acompanharsuaexecuo.
Sintaxe:echo[mensagem]

45

A opo n pode ser usada para que no ocorra o salto de linha aps a mensagem ser
mostrada.

uname
Retornainformaessobreosistema.
opes
a=exibetodasasinformaes(nomedokernel,hostname,versodokernel,processador,
plataforma,etc)

wc
Contaonmerodepalavras,byteselinhasemumarquivoouentradapadro.
Seasopesforemomitidas,owcmostraaquantidadedelinhas,palavras,ebytes.
Sintaxe:wc[opes][arquivo]
arquivo=Arquivoqueserverificadopelocomandowc.
opes
c,bytes=Mostraosbytesdoarquivo.
w,words=Mostraaquantidadedepalavrasdoarquivo.
l,lines=Mostraaquantidadedelinhasdoarquivo.
Aordemdalistagemdosparmetrosnica,emodificandoaposiodasopesnomodifica
aordemqueosparmetrossolistados.

COMANDOSPARAMANIPULAODEDISPOSITIVOS
mount
Montaumdispositivo.
ParamontarumdrivedeCDnolinux,executase:
mounttiso9660/dev/hdd/mnt/cdrom,onde
tiso9660otipodosistemadearquivos
/dev/hddodeviceslavedaIDEsecundria
/mnt/cdromodestinooupontodemontagem
ParamontarumHDsecundrio,queestejafisicamentealocadocomoescravonaIDE1da
placame,deveseexecutaroseguintecomando:
mount/dev/hdb1/mnt/hd

46

Para montar um Pendrive, localizado na primeira porta USBdevese executar o seguinte


comando:
mount/dev/sda/mnt/drive

umount
Desmontaumsistemadearquivos.
Paradesmontarumdrivedecd,fazemosumount/mnt/cdrom.

47

Exerccios
1)Escrevacomoseprocedeaseqnciadecomandospara:a)criarumdiretriochamado
testedentrodo/tmp.b)alteraronomedodiretriopara/tmp/meudiretorioeemseguida,c)
criarumarquivovazio,comonomedemeuarquivodentrodestediretrio.
R:
2)QualasintaxecompletaparaprocurarmosumarquivochamadoDIRCOLORSnosistema?
R:
3)QualprocedimentodeveserfeitoparapodermosteracessoaosdadosdeumCDRom?
R:
Anotaes
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________

48

CAPTULOVSISTEMASDEARQUIVOSNOGNU/LINUX
TiposdeArquivo
Arquivosnormais=sequnciasdebytes:texto,binrio,executvel,etc.
Diretrios=listadeoutrosarquivos(nomedoarquivoeinode)
Arquivosespeciais(device)=interfaceentreosistemaedispositivosdeentradaesada
Ligaes("links"):
Simblicas=ponteiroparaoutroarquivo
Concretas=atribuemaisumnomeaomesmoarquivo(namesmapartio)
Sockets e Pipes = usados para comunicao entre processos (mecanismo para
programao)

Verificandoostiposdearquivos
Oprimeirocamporesultantedelsl
=arquivonormal
d=diretrio
l=linksimblico
b=dispositivodebloco
c=dispositivodecaractere
s=socket
p=pipe
__________________________________________________________________________

DICA:Verificandootipodocontedodeumarquivo
Exemplodousodocomandofile:
[linuxfi@moonusuario]$fileptrace.c
ptrace.c:ASCIICprogramtext,withCRLFlineterminators
[linuxfi@moonusuario]$
Obs:Essarespostadadasegundooarquivo/etc/magic(ou/etc/share/magic)

49

ESTRUTURADEDIRETRIOS
/binarquivosexecutveisessenciaisparaosistema.
/bootarquivosnecessriosaoboot(inicializao)dosistema.
/devcomponentesfsicosdocomputador.
/etcarquivosdeconfigurao.
/homediretriosdeusurios.
/libbibliotecasessenciaisaosistema.
/mntpontosdemontagemdeoutrossistemasdearquivos.
/optalgunsprogramas(geralmentecomerciais)utilizamestediretrio.
/procinformaessobreseusistema.
/rootdiretriodosuperusurio(administrador).
/sbinarquivosexecutveisessenciais,somenteadministrativo(sbin=superuserbinaries).
/tmparquivostemporrios.
/usrreplicaodo/parautilizaocomum(Ex:instalaodeprogramasemgeral).
/vardiretriossubseqentessousadospelosservidores.
/usr/docdocumentaodeprogramas.(vaisermudadopara/usr/share/doc)
/usr/manmanuaisdeprogramas.(vaisermudadopara/usr/share/man)
/usr/sharearquivosauxiliaresdosprogramas.

ALGUNSARQUIVOSEDIRETRIOSIMPORTANTESDODIRETRIO/ETC
passwd
Neste arquivo so cadastradostodos os usurios existentes no sistema GNU/Linux. Alguns
desses usurios so cadastrados automaticamente no sistema e outros podem ser adicionados
manualmente,atravsdoscomandosaddusereuseradd.
Informaes,comodiretriohome,shellpadro,UIDeGIDdosusuriostambmseencontram
nopasswd.

shadow
Arquivoresponsvelporarmazenarassenhasdosusurioscadastradosnopasswd.Assenhas
soescritasusandocomocriptografiaoMD5.

fstab
50

Todos os filesystems que so montados automaticamente quando o sistema GNU/Linux


iniciadoprecisamestarescritonessearquivo,incluindoaSWAPeodiretrioraizdosistema(/).

51

rc.d
Neste diretrio esto os scripts que so executados na inicializao ou desligamento do
sistemaoperacional.Essesscriptspodemrecebercomoparmetro,geralmente,trsopes:start,
stop e restart, os quais servem para iniciar, parar ou reiniciar um determinado servio, que
especificadodeacordocomoscriptrcemquesto.Umarquivobastanteutilizadodestediretrio,o
rc.local. Nesse arquivo podemos colocar todos os comandos que precisamos executar na
inicializaodosistemaoperacional,dispensandoqueissosejafeitomanualmentecadavezqueo
sistemainiciado.

lilo.conf
Esse arquivo o arquivo principaldaconfiguraodoLilo.Ele controlatodas as possveis
opesdebootdossistemasoperacionaisinstaladosnocomputador.
Exerccios

1)Queinformaespodemserobtidasnoarquivo/etc/passwd?
R:
2)Citedezdiretriosdosquefazempartedaestruturadediretriosdosistema.
R:
Anotaes
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________

52

__________________________________________________________________________

CAPTULOVIEDITORESDETEXTO
OseditoresdetextoparaconsolemaisconhecidosemaisutilizadosnoLinuxso:
viumdoseditorespadresdossistemasGNU/Linuxesuainterfacecomplexaepossui
muitasfunes(usuriosGNU/Linuxavanadosadoramaquantidadedefunesdesteprograma).
Recomendo que aprenda o bsico sobre ele, pois sempre estar disponvel caso ocorra algum
problemanosistema.
elvis possui boa interface de comunicao com o usurio, suporte a HTML e
Metacaracteres.
aeumdoseditorespadresdossistemasGNU/Linux(encontradonasdistribuies
Debianebaseadas).Suainterfacemaisfcilqueovi.Tambmrecomendoqueaprendaobsico
sobrele,poisrequeridoparaamanutenodosistema.
jedRecomendvelparaaquelesqueestoacostumadoscomoEDITdoDOSegostamde
menus suspensos. Sua interface de fcil operao. O jed possui recursos poderosos para
programadoresdeCeoutraslinguagensquefazautotabulao,autoidentaoedelimitaode
blocosdecdigoatravsdecores.
mceditMuitofcildeutilizarepossuiinterfaceemPortugusdoBrasil,emgeralnorequer
umtutorialparaaprendizado.EsteprogramafazpartedopacoteMidnightCommander(conhecido
tambmcomomc).Vocutilizaasteclasdefuno(F1aF10)parasalvarotexto,procurarpalavras
no texto, pedir ajuda, sair, etc. Ele possui recursos para colorir blocos de cdigo (testado com
arquivosHTMLeSGML).
joeSedestacapelasuaversatilidadeealmdisso,podeterumainterfacepersonalizada.
picoFoielaboradoparasersimples,amigvelaousurio,comlayoutsimilaraoprograma
decorreioeletrnicoPINE.

OVI
Oeditordetextomaisutilizadopelacomunidade.Podeserencontradoemtodosossitemas
baseadosnoUNIX.
AsintaxeparaexecutaroVIaseguinte:
$viarquivo
Umavezcarregadoovi,vejaabaixoumalistadosprincipaiscomandos:

53

Observao:ParapassarparaomodocomandopressioneESC.

Comandosbsicosdeinserodetexto
iInseretextoantesdocursor
aInseretextodepoisdocursor
rInseretextonoinciodalinhaondeseencontraocursor
AInseretextonofinaldalinhaondeseencontraocursor
oAdicionalinhaabaixodalinhaatual
OAdicionalinhaacimadalinhaatual

Comandosbsicosdemovimentao
ctrl+fMoveocursorparaaprximatela
ctrl+bMoveocursorparaatelaanterior
HMoveocursorparaaprimeiralinhadatela
MMoveocursorparaomeiodatela
LMoveocursorparaaultimalinhadatela
hMoveocursorumcaractereaesquerda
jMoveocursorparaaprximalinha
kMoveocursorparalinhaanterior
lMoveocursorumcaractereadireita
wMoveocursorparaoiniciodaprximapalavra(Ignoraapontuao)
WMoveocursorparaoiniciodaprximapalavra(Noignoraapontuao)
bMoveocursorparaoiniciodapalavraanterior(Ignoraapontuao)
BMoveocursorparaoiniciodapalavraanterior(Noignoraapontuao)
0Moveocursorparaoiniciodalinhaatual
^Moveocursorparaoprimeirocaracterenobrancodalinhaatual
$Moveocursorparaofinaldalinhaatual
nGMoveocursorparaalinhan
GMoveocursorparaaultimalinhadoarquivo

Comandosparalocalizartexto
/palavraBuscapelapalavraoucaracteremtodootexto
?palavraMoveocursorparaaocorrnciaanteriordapalavra
nRepeteoultimocomando/ou?
NRepeteoultimocomando/ou?,nadireoreversa
ctrl+gMostraonomedoarquivo,onumerodalinhacorrenteeototaldelinhas

Comandosbsicosparaalteraodetexto

54

xDebilitaocaracterequeestasobocursor
dwDeletaapalavra,daposioatualdocursorateofinal
ddDeletaalinhaatual
xddDeletatodasaquantidadexdelinhas,apartirdalinhaatual
DDeletaalinhaapartirdaposioatualdocursorateofinal
rxSubstituiocaracteresobocursorpeloespecificadoemx(opcionalindicarocaractere)
RxSubstituiapalavrasobocursorpelapalavraindicadaemx
uDesfazaultimamodificao
UDesfaztodasasmodificaesfeitasnalinhaatual
JUnealinhacorrenteaprxima
:s:palavra1:palavra2Substituiaprimeiraocorrnciade"palavra1"por"palavra2"
:%s:palavra1:palavra2Substituitodasasocorrnciasde"palavra1"por"palavra2"
yyCopiaalinhaatual
xyyCopiaaquantidadexdelinhas,apartirdalinhaatual
pColaocontedocopiado

Comandosparasalvarotexto
:wqSalvaoarquivoesaidoeditor
:wnome_do_arquivoSalvaoarquivocorrentecomonomeespecificado
:w!nome_do_arquivoSalvaoarquivocorrentenoarquivoespecificado
:qSaidoeditor
:q!Saidoeditorsemsalvarasalteraesrealizadas.

55

Exerccios
1)Comopodemoslocalizartodasasocorrnciasdapalavrasenhaemumarquivoeditado
peloVI?Lembresequedeveserrepetidoocomandodebuscaafimdeencontrarprximas
ocorrncias.
R:
2)Qualocomandoquedeveserutilizadoparasubstituirtodasasocorrnciasdapalavra
senhaparaapalavrapasswordemumarquivoeditadopeloVI?
R:
3)QualamaneiramaiseficienteparasairdoprogramaVI,quandoprecisamostercerteza
queiremossalvarotextoaosairdoarquivo?
R:
Anotaes
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________

56

CAPTULOVIIGERENCIADORESDEPARTIDABOOTLOADERS
GerenciadoresdePartida soprogramasquecarregamumsistemaoperacionale/oupermite
escolherqualsistemaseriniciado.Normalmenteesteprogramassogravadosno setordeboot
(inicializao)dapartioativaounomasterbootrecord(MBR)dodiscorgido.
OsgerenciadoresdepartidamaiscomunssooLILOeoGRUB.

LILO
OLILO(LinuxLoader)semdvidaogerenciadordepartidapadroparaquemdesejainiciar
oGNU/Linuxatravsdodiscorgido.Elepermiteselecionarqualsistemaoperacionalseriniciado
(casoexistamaisdeuminstaladonocomputador).OLILOpermitequesejarealizadaaseleodo
sistemaoperacionale,ainda,passagemdeparmetrosaokernel,casonecessrio,nahoradoboot.

CriandooarquivodeconfiguraodoLILO
Osdadosparaacriaodonovosetordebootquearmazenarogerenciadordepartidaso
lidos do arquivo /etc/lilo.conf. Este arquivo pode ser criado em qualquer editor de textos.
NormalmenteelecriadoduranteainstalaodesuadistribuioGNU/Linuxmasporalgummotivo
podeserprecisomodificlooupersonalizlo(paraincluirnovossistemasoperacionais,mensagens,
alterarotempodeesperaparaapartidaautomtica,etc).
Oarquivo/etc/lilo.confdivididoemduassees:GeraleImagens.AseoGeralvem
noiniciodoarquivoecontmopesqueserousadasnainicializaodoLiloeparmetrosque
seropassadosaokernel.AseoImagenscontmopesespecificasidentificandoqualapartio
quecontmosistemaoperacional,comosermontadoinicialmenteosistemadearquivos,tabelade
partio,oarquivoquesercarregadonamemriaparainicializarosistema,etc.Abaixoummodelo
doarquivo/etc/lilo.confparasistemasquespossuemoGNU/Linuxinstalado:
boot=/dev/hda
compact
install=/boot/boot.b
map=/boot/map
vga=normal
timeout=50
lba32
image=/vmlinuz

57

root=/dev/hda1
label=Linux
readonly
Noexemploacima,ogerenciadordepartidaestinstaladono /dev/hda1,utilizarumsetor
debootcompacto(compact),mododevdeoVGAnormal(80x25),esperar2segundosantesde
processarautomaticamenteaprimeiraseoimageecarregarokernel/vmlinuxde/dev/hda1.
Abaixo uma configurao para computadores com mais de um sistema operacional (No
exemplo,oarquivoestconfiguradoparaosistemaLinuxeoutroDOS/Windows):
boot=/dev/hda
compact
lba32
install=/boot/boot.b
map=/boot/map
vga=normal
timeout=50
prompt
#ImagemdoLinux,napartio1dohda
image=/vmlinuz
root=/dev/hda1
label=linux
readonly
#ImagemdoDOS/Windows,napartio2dohda
other=/dev/hda2
table=/dev/hda
label=dos
Oexemploacimaidnticoaoanterior,noentantoforamacrescentadasalgumasopes,tanto
naseogeral(foiadicionadaaopoprompt,paraquesejamostradoimediatamenteoavisode
boot no momento em que o LILO for carregado), quanto na seo de imagens (foi incluida a
imagem de uma partio do tipo DOS/Windows, localizado em /dev/hda2). No momento da
inicializao mostrada a mensagem boot e caso seja digitado DOS e pressionado ENTER, o
sistemainiciaratravsdapartiodoDOS.CasoateclaENTERsejapressionadasemespecificara
imagem,aprimeirasercarregada(nestecasooGNU/Linux).

58

VocpodesubstituirapalavraLinuxdaopolabelporoutronomequalquer.Porexemplo,
trocaraopoLinuxpelonmero1eDOSpelo2,destaformaonmeropodeserdigitadoparainiciar
osistemaoperacional.Istomuitotilparaconstruirummenuusandoaopomessage.
A seo Geral vem do inicio do arquivo at a palavra delay=20. A partir do primeiro
aparecimentodapalavra image, other ou range,tudooquevierabaixoserinterpretadocomo
imagensdeinicializao.
Porpadro,aimagemcarregadaaespecificadapordefault=ouaprimeiraqueapareceno
arquivo(casodefault=nosejaespecificado).Paracarregarooutrosistema(oDOS),digiteonome
da imagem de disco no aviso de boot: (especificada em label=) que ser carregada. Voc
tambmpodepassarparmetrosmanualmenteaokerneldigitandoonomedaimagemdediscoe
umaopodokernelouatravsdoarquivo/etc/lilo.conf.

Observaes:
Aps qualquer modificao no arquivo /etc/lilo.conf , o comando lilo dever ser
novamenteexecutadoparaatualizarosetordepartidadodiscorgido.Istotambmvlidocasoo
kernelsejaatualizadoouapartioquecontmaimagemdokerneldesfragmentada.
AreinstalaoouformataodesistemasDOSeWindowspodemsubstituirosetordebootdo
HDeassimogerenciadordepartida,tornandoimpossvelainicializaodoGNU/Linux.Antesde
reinstalaroDOSouWindows,verifiquesepossuiumdisqueteouCDparadarobootdoGNU/Linux.
________________________________________________________________________________________
DICA:PararemoverainstalaodoLiloatravsdoDOS/Windowsbastausarocomando fdisk/mbr,que
geranovamenteoMasterBootRecord,oqueremoverogerenciadordeboot.

OpesmaisusadasnoLILO
Estaseotrazopesteisusadasnoarquivolilo.confcomexplicaessobreoquecada
umafaz.Asopesestodivididasemduaspartes:Asusadasnaseo Global easdaseo
Imagensdoarquivolilo.conf.

Global
boot=dispositivoDefineonomedodispositivoondesergravadoosetordepartidado
LILO (normalmente usada a partio ativa ou o Master Boot Record MBR). Caso no seja
especificado,odispositivomontadocomoapartioraizserusado.
default=imagemUsaaimagemespecificadacomopadroaoinvsdaprimeiraencontrada
noarquivolilo.conf.
lba32 Permitequeo LILO quebreolimitede1024cilindrosdodiscorgido,inicializandoo
GNU/Linux emumcilindroacimadesteatravsdoacesso.Notequeistorequercompatibilidade
com o BIOS, mais especificamente que tenha suporte a chamadas int 0x13 e AH=0x42.
recomendadooseuuso.

59

map=arquivomapa Especifica a localizao do arquivo de mapa (.map). Se no for


especificado,/boot/mapusado.
message=arquivo Especificaumarquivoquecontmumamensagemquesermostrada
antesdoavisodeboot:.NenhumamensagemmostradaatquesejapressionadaateclaShift
apsmostrarapalavraLILO.Otamanhodamensagemdevesernomximo65535bytes.Oarquivo
demapadevesernovamentecriadocasoamensagemsejaretiradaoumodificada.Namensagem,o
caracterFF(CTRL+L)limpaatela.
password=senhaPermiteprotegertodasasimagensdediscocomumanicasenha.Casoa
senhaestejaincorreta,oLILOnovamentecarregado.
promptMostraimediatamenteoavisodeboot:aoinvsdemostrarsomentequandoatecla
Shiftpressionada.
timeout=[num]Ajustaotempomximodeespera(emdcimosdesegundos)dedigitao
no teclado. Se nenhuma tecla pressionada no tempo especificado, a primeira imagem
automaticamentecarregada.Igualmenteadigitaodesenhainterrompidaseousurioestiver
inativoporesteperodo.
Adicionalmenteasopesdeimagemdokernel append,ramdisk,readonly,read
write,rootevgapodemserespecificadasnaseoglobal.OpesporImagem
Asopesporimageminiciamcomumadasseguintesopes:image=,other=ourange=.

Imagens
table=dispositivo Indica o dispositivo que contm a tabela de partio para aquele
dispositivo.Necessrioapenasparaimagensespecificadasporother=.
label=[nome]Permiteespecificarumnomeparaaimagem.Estenomeserusadonalinha
boot:parainicializarosistema.
alias=[nome]Apelidoparaaimagemdedisco.comoumsegundolabel.
password=senha Protegeaimagematualcomasenha.Casoasenhaestejaincorreta,o
setordepartidadoLilonovamentecarregado.
restricted Asenhasomentepedidaparainiciaraimagemseosistemaforiniciadono
modosingle.
Tambm podem ser usados parmetros de inicializao do kernel no arquivo
/etc/lilo.conf.
________________________________________________________________________________________
IMPORTANTE:Apscriaroumodificaroarquivo/etc/lilo.conf,executeocomandoliloparareinstalar
oLilocomasconfiguraesfeitas.

60

Exerccios
1)QualonomeeondeficalocalizadooarquivodeconfiguraodoLILO?
R:
2)ApsrealizaramudananoarquivodeconfiguraodoLILO,qualprocedimentodeveser
realizado?
R:
Anotaes
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________

61

CAPTULOVIIIINTERPRETADORESDELINHADECOMANDO
Osinterpretadoresdelinhadecomandososistemaspresentesparaoadministradorcomoum
simples prompt, apresentado como um simples caractere. Fazendo uma analogia com o sistema
DOS,podemosverificarqueseupromptumC:\>.NoLinuxashellqueminterpretaoscomandos
digitadosnoprompt(console).Opromptainterfaceentreosistemaeousurio.Ospromptsdo
Linuxsorepresentadospelosseguintescaracteres:
$shelldeumusuriocomum;
#shelldosuperusurioroot(administrador).
Alm disso, existem vrios tipos de shell, entre os quais podemos visualizlos no arquivo
/etc/shellscomosseguintescomandos:
#cat/etc/shells
ou
#chshl
Essescomandosretornamalgodotipo:
/bin/bash
/bin/sh
/bin/ksh
/bin/tcsh
/bin/csh
AshellpadrodossistemasLinuxo /bin/bash.Parasaberqualashellcorrentedoseu
sistemadigiteocomando:
#echo$SHELL
/bin/bash
Paramudaroshellcorrente,useocomando chsh edepoisuseocomando"echo$SHELL",
vejaoexemplo:
#chsh
Changingtheloginshellforroot
Enterthenewvalue,orpressreturnforthedefault
LoginShell[/bin/bash]:/bin/csh
#echo$SHELL
/bin/csh

62

VARIVEISDEAMBIENTE
Oshellexecutadonosistemacontroladoporvariveisdeambiente.Variveisdeambiente
soespaosdememriaquearmazenamvalores.Estasvariveispodemserlocais,quesoas
variveisdisponveissomentepeloshellcorrenteequenoestsendoacessadoporsubprocessos
dosistema.Easvariveisglobais,queestodisponveistantoparaoshellcorrentecomoparaos
subprocessos que fazem uso delas. Descreverei algumas variveis de ambiente que acho
importantesparafacilitaroentendimento:
HOMEEstavarivelidentificaodiretriodousuriodomstico,useocomandoecho$HOME
parasaberqualoseudiretrioHOME.
SHELL Estavarivelidentificaqualshellestsendousado,useocomandoecho$SHELL
parasaberqualoshellqueoseusistemaestusando.
TERM Estavariveldefineotipodeterminalqueestsendousado,useocomandoecho
$TERMparasaberqualotipodeterminalestsendousadopelosistema.
USER Prdefine o nome de conta como varivel de ambiente, ou seja, ao se logar ao
sistemaaIDdousuriocombinadacomumnomedeconta,parasaberqualousuriocorrente
useocomando"echoUSER".
PATHEstaavariveldeambientequedefinequaisdiretriospesquisareaordemnaqual
elessopesquisadosparaencontrarumdeterminadocomando,parasabercomoosistemafazesta
pesquisaequaisdiretrioseleprocuraumcomandouseocomando"echo$PATH".
LOGNAMEEstavarivelumsinnimoparaUSER.Parasaberqualoseulognameuseo
comando"echo$LOGNAME".
HISTFILEEssaavarivelquecontrolaqualoarquivoondeserosalvososlogs,ouseja,
todososcomandosdigitadosnashell.
OSTYPE Essavariveldefineotipodesistemaoperacionalemuso.Parasaberqualo
sistemaoperacionalemusouseocomando"echo$OSTYPE".
Para visualizar as variveis de ambiente locais (setadas para o usurio que est logado),
utilizamosocomandoset.Paravisualizarasvariveisdeambiente globais (setadasparatodos),
utilizamosocomandoenvouprintenv.
Atribuindoumvaloraumavarivellocalvejaoexemplo:
$LINUX=free
$echo$LINUX
free
Ocomandoechoexibeovalordeumavariveldeambiente.Agoravamosverificarseavarivel
aparecenarelaodevariveislocais,vejaoexemplo:

63

$set|grepLINUX
LINUX=free
Transformandoumavarivellocalemglobalcomocomandoexport.
#exportLINUX
#env|grepLINUX
LINUX=free
Apagandoumavariveldeambientecomocomandounseteparaverificarmosseavarivelfoi
excludausaremosocomandoecho,vejaoexemplo:
#unsetLINUX
#echo$LINUX
Exemplodeumshellscript
#!/bin/bash
#
#scriptshellparalereescreverumnomenatela.
#
echo"digiteseunome:"
readNOME
sleep1
echo""
echo"seunome:$NOME"
#fimdoscript
Observaes:
Variveisglobaispodemsercriadasnoarquivo/etc/profile:
Variveisquesoexecutadassomentenoambientedousuriopodemsercriadasnoarquivo
~/.bash_profile.Essasvariveissoexecutadasautomaticamentenologin.

ALIASES
Agora vamos falar de um comando que permite criar um apelido para um comando ou
programa.Estecomandochamasealias.Vejaumexemplo:
#aliasl=lslacolor=auto

64

#l/usr/local
total48
drwxrxrx12rootroot4096Mai132003./
drwxrxrx18rootroot4096Jul312003../
drwxrxrx2rootroot4096Fev61996bin/
drwxrxrx2rootroot4096Fev61996doc/
drwxrxrx2rootroot4096Fev61996games/...
Estecomandomostrarumalistagemdetodososarquivosdodiretrio/usr/local,inclusiveos
ocultos,emumalistagemcolorida.Paraquenoprecisemoscriaraliasesatodainstante,podemos
definlos como comandos a serem executados toda vez que inicializarmos o sistema. Para esta
tarefa,definimosaliaseslocaisouglobais.Quandoqueroquesomenteumusuriotenhaacessoa
umaliasconfiguramosoarquivo~/.bash_profile;~/.bashrc;~/.profile,vejaoexemplo:
$vi~/.profile

#.bashrc
#Aliasesdousuriolocal
aliasl=lslacolor=auto
aliascl=clear

Observequeforamadicionadosdoisaliasesnoarquivo.bashrc.Agoratodavezqueousurio
selogar,osaliases"l"e"cl"poderoserusadosemvezde"lsla"e"clear".
Agora vamos definir os aliases globais, ou seja, vai fazer efeito para qualquer usurio do
sistema.Paraissotarefa,editamosoarquivo/etc/profileou/etc/bashrc.Vejaoexemplo:
#vi/etc/profile

#arquivo/etc/profile
#definiodealiasesglobais,paratodososusuriosdosistema
aliasrm=rmi
aliascp=cpi
aliascl=clear
aliasl=lslacolor=auto
#fimdoarquivo/etc/profile

65

Exerccios
1) Qual a SHELL padro do Linux? Como se altera a shell padro para a /bin/csh, por
exemplo?
R:
2)Emqualarquivodevemseradicionadosaliasese/ouvariveisglobais(ouseja,paratodos
osusurios)noLinux?
R:
3)Qualadiferenaentreasvariveislocaisevariveisglobais?
R:
4)ComovocpodelerocontedodavarivelPATHnashellbash?
a)printPATH
b)print$PATH
c)echoPATH

d)echo$PATH
e)echo%PATH

Anotaes
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________

66

CAPTULOIXREDIRECIONAMENTO,PIPEEOUTROSCARACTERESESPECIAIS
Oredirecionamento>
Redireciona a sada de um programa/comando/script para algum dispositivo ou arquivo ao
invsdodispositivodesadapadro(tela).Quandousadocomarquivos,esteredirecionamentocria
ousubstituiocontedodoarquivo.
Porexemplo,vocpodeusarocomandolsparalistararquivoseusarls >listagempara
enviar a sada do comando para o arquivo listagem. Use o comando cat para visualizar o
contedodoarquivolistagem.
Omesmocomandopodeserredirecionadoparaosegundoconsole /dev/tty2 usando: ls
>/dev/tty2,oresultadodocomandolssermostradonosegundoconsole(pressioneALTeF2
paramudarparaosegundoconsoleeALTeF1pararetornaraoprimeiro).

Oredirecionamento>>
Redirecionaasadadeumprograma/comando/scriptparaalgumdispositivooufinaldearquivo
aoinvsdodispositivodesadapadro(tela).Adiferenaentreesteredirecionamentoduploeo
simples,secasoforusadocomarquivos,adicionaasadadocomandoaofinaldoarquivoexistente
aoinvsdesubstituirseucontedo..
Porexemplo,vocpodeacrescentarasadadocomandolsaoarquivolistagemdocaptulo
anteriorusando ls / >>listagem.Useocomando cat paravisualizarocontedodoarquivo
listagem.

Oredirecionamento<
Direciona a entrada padro de arquivo/dispositivo para um comando. Este comando faz o
contrriodoanterior,eleenviadadosaocomando.
Vocpodeusarocomandocat <teste.txtparaenviarocontedodoarquivoteste.txt
aocomandocatquemostrarseucontedo(claroqueomesmoresultadopodeserobtidocom
cat teste.txtmasesteexemploserviuparamostrarafuncionalidadedo<).

Oredirecionamento<<
Esteredirecionamentoserveprincipalmenteparamarcarofimdeexibiodeumbloco.Este
especialmenteusadoemconjuntocomocomando cat,mastambmtemoutrasaplicaes.Por
exemplo:
cat<<final
estearquivo
sermostrado

67

atqueapalavrafinalseja
localizadanoiniciodalinha
final

O&comercial
Este caractere especial muito til para executar programas em
segundo plano, tambm chamado de background. Ou seja, para executar um
comando,ouumaplicativo,deformaquenoprecisaseesperarotrminode
suaexecuoparacontinuarautilizaodashell.
Exemplo:find/nameDIRCOLORS>/root/resultadodofind&

Opipe|
Envia a sada de um comando para a entrada do prximo comando para continuidade do
processamento. Os dados enviados so processados pelo prximo comando que mostrar o
resultadodoprocessamento.
Porexemplo:ls -la | more,estecomandofazalistagemlongadearquivosqueenviado
aocomandomore(quetemafunodeefetuarumapausaacada25linhasdoarquivo).
Outro exemplo o comando "locate find | grep bin", neste comando todos os
caminhos/arquivosquecontm find nalistagemseromostrados(inclusivemanpages,bibliotecas,
etc.),entoenviamosasadadestecomandoparagrep bin/paramostrarsomenteosdiretrios
quecontmbinrios.Mesmoquealistagemocupemaisdeumatela,podemosacrescentaromore:
locate find | grep bin | more.
________________________________________________________________________________________
DICA:Redirecionamentosepipes
Podemserusadosmaisdeumcomandoderedirecionamento(<,>,|)emummesmocomando.
Eexemplo:cat/etc/passwd|greproot>/tmp/usuarioroot

Fechandoumprogramaquandonosesabecomosair
Emnossoexemplovamossuporqueexecutamosumprogramaemdesenvolvimentocomo
nomecontagemquecontaotempoemsegundosapartirdomomentoqueexecutado,masqueo
programadoresqueceudecolocarumaopodesada.Sigaestasdicasparafinalizlo:
Normalmentetodosos programas UNIX (o GNU/Linux tambm um SistemaOperacional
baseadonoUNIX)podemserinterrompidoscomopressionamentodasteclas<CTRL>e<C>.Tente
istoprimeiroparafinalizarumprograma.Istoprovavelmentenovaifuncionarseestiverusandoum
Editor de Texto (ele vai entender como um comando de menu). Isto normalmente funciona para
comandosquesoexecutadoseterminadossemaintervenodousurio.
Casoistonodercerto,vamospartirparaafora.
Mude para um novo console (pressionando <CTRL><ALT> e <F2>), e faa o login como
usurioroot.

68

LocalizeoPID(nmerodeidentificaodoprocesso)usandoocomando:psax,aparecero
vriaslinhascadaumacomonmerodoprocessonaprimeiracoluna,ealinhadecomandodo
programa na ltima coluna. Caso aparecerem vrios processos voc pode usar ps ax|grep
contagem,nestecasoogrepfarumafiltragemdasadadocomandopsaxmostrandosomente
aslinhasquetemapalavra"contagem".
Fecheo processousandoocomando kill PID,lembresede substituir PIDpelo nmero
encontradopelocomandopsaxacima.
O comando acima envia um sinal de trmino de execuo para o processo (neste caso o
programa contagem). O sinal de trmino mantm a chance do programa salvar seus dados ou
apagarosarquivostemporriosquecrioueentoserfinalizado,istodependedoprograma.
Alterneparaoconsoleondeestavaexecutandooprogramacontagemeverifiqueseeleainda
estemexecuo.Seeleestiverparadomasoavisodecomandonoestdisponvel,pressionea
tecla<ENTER>.Freqentementeaconteceistocomocomando kill,vocfinalizaumprograma
masoavisodecomandonomostradoatquesepressione<ENTER>.
Casooprogramaaindanofoifinalizado,repitaocomandokillusandoaopo9:kill9
PID. Este comando envia um sinal de DESTRUIO do processo, fazendo ele ser forado a
terminar.
________________________________________________________________________________________
DICA:Eliminandocaracteresestranhos.svezesquandoumprograma malcomportado finalizadoou
quando voc visualiza um arquivo binrio atravs do comando cat, possvel que o aviso de comando
(prompt)voltecomcaracteresestranhos.Parafazertudovoltaraonormal,bastadigitarreseteteclarENTER.
Nosepreocupe,ocomandoresetnoreiniciarseucomputador(comoobotoresetdoseucomputador
faz), ele apenas fartudo voltar ao normal. Notequeenquantovocdigitar reset aparecerocaracteres
estranhos ao invs das letras. No se preocupe! Basta digitar corretamente e bater ENTER e o aviso de
comandovoltaraonormal.

69

Exerccios
1)Comoadicionarapalavraoinofinaldoarquivo/tmp/teste,utilizandoapenasoechoe
redirecionamentos?
R:

2)Comofiltrarasadadocomandols/etc,paramostrarnatelaapenasasocorrnciasque
contenhamaseqnciadecaracterescronnatela?
R:
3)Comopodemosexecutarocomandofind/nameDIRCOLORSemsegundoplanoesalvar
oresultadonoarquivo/tmp/resultadofind?
R:
Anotaes
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________

70

CAPTULOXCOMPACTADORES
Compactadoressoprogramasquediminuemotamanhodeumarquivo(ouarquivos)atravs
dasubstituiodecaracteresrepetidos.Paraentendermelhorcomoelesfuncionam,vejaoprximo
exemplo:
FRASE:compactadorescompactamedeixamarquivoscompactados.
Apsacompactaodafrase:
%dores%medeixamarquivos%dos
Oqueaconteceurealmentefoiqueapalavracompactaseencontrava3vezesnafraseacima,
efoisubstitudaporumsinalde%.Paradescompactaroprocessoseriaocontrrio:Elesubstituiria
%porcompactaenstemosafrasenovamenterestaurada.
Note que o tamanho da frase compactada caiu quase pela metade. A quantidade de
compactaodeumarquivochamadadetaxadecompactao.Assimseotamanhodoarquivofor
diminudoametadeapsacompactao,dizemosqueconseguiuumataxadecompactaode2:1
(lsedoisparaum),seoarquivodiminuiu4vezes,dizemosqueconseguiuumacompactaode4:1
(quatroparaum)eassimpordiante.
Paracontroledoscaracteresquesousadosnassubstituies,osprogramasdecompactao
mantm cabealhos com todas as substituies usadas durante a compactao. O tamanho do
cabealhopodeserfixooudefinidopelousurio,dependedoprogramausadonacompactao.
Esteumexemplobemsimplesparaentenderoqueaconteceduranteacompactao,os
programasdecompactaoexecutaminstruesmuitoavanadasecdigoscomplexosparaatingir
umaaltataxadecompactao.
Observaes:Arquivosdetextotmumataxadecompactaomuitomaiorquearquivosbinrios,
porquepossuemmaiscaracteresrepetidos.

Extensesdearquivoscompactados
Asextensesidentificamotipodeumarquivoeassimoprogramaoprogramanecessriopara
trabalhar com aquele tipo de arquivo. Existem dezenas de extenses que identificam arquivos
compactados.Quandoumarquivo(ouarquivos)compactado,umaextensocorrespondenteao
programa usado adicionada ao nome do arquivo (caso o arquivo seja compactado pelo gzip
receberaextenso.gz,porexemplo).Aodescompactaraconteceocontrrio:aextensoretirada
doarquivo.Abaixosegueumalistagemdeextensesmaisencontradaseseusprogramas.
.gzArquivocompactadopelogzip.
.bz2Arquivocompactadopelobzip2.
.tar.gzArquivocompactadopeloprogramagzipnoutilitriodearquivamentotar.
.tar.bz2Arquivocompactadopeloprogramabzip2noutilitriodearquivamentotar.

71

Outrosmenoscomuns:
.Zcompress/uucompress
.zipzip/unzip
.rarrar/unrar

COMPACTADORESEDESCOMPACTADORES
gzip
praticamenteocompactadorpadrodoGNU/Linux,possuiumatimataxadecompactaoe
velocidade.Aextensodosarquivoscompactadospelogzipa.gz,naversoparaDOS,Windows
NTusadaaextenso.z.
gzip[opes][arquivos]
arquivos Especificaquaisarquivosserocompactadospelogzip.Casosejausadoum,
serassumidoaentradapadro.Curingaspodemserusadosparaespecificarvriosarquivosde
umasvez(vejaCuringas,Seo2.3).
opes
d,decompress[arquivo]Descompactaumarquivo.
fForaacompactao,compactandoatmesmolinks.
l[arquivo]Listaocontedodeumarquivocompactadopelogzip.
rCompactadiretriosesubdiretrios.
c[arquivo]Descompactaoarquivoparaasadapadro.
t[arquivo]Testaoarquivocompactadopelogzip.
fast,bestAjustamataxadecompactao/velocidadedacompactao.Quantomelhora
taxamenoravelocidadedecompactaoeviceversa.Aopofastpermiteumacompactao
rpida e tamanho do arquivo maior. A opo best permite uma melhor compactao e uma
velocidademenor.
[nmero] Permiteespecificarumacompactaoindividualmenteusandonmerosentre1
(menorcompactao)e9(melhorcompactao).tilparabuscarumbomequilibroentretaxade
compactao/velocidade.
Quandoumarquivocompactadopelogzip,automaticamenteacrescentadaaextenso.gz
aoseunome.
Ogziptambmreconhecearquivoscompactadospelosprogramaszip,compress,compressH
epack.Aspermissesdeacessodosarquivossotambmarmazenadasnoarquivocompactado.
Exemplos:
gziptexto.txtCompactaoarquivotexto.txt
gzipdtexto.txt.gzDescompactaoarquivotexto.txt.gz

72

Outraformadedescompactaroarquivotexto.txt.gzseria:gunziptexto.txtgz
gzipttexto.txt.gzVerificaoarquivotexto.txt.gz.

bzip2
um novo compactador que vem sendo cada vez mais usado porque consegue atingir a
melhor compactao em arquivos texto se comparado aos j existentes (em conseqncia sua
velocidade de compactao tambm menor; quase duas vezes mais lento que o gzip). Suas
opessopraticamenteasmesmasusadasnogzipevoctambmpodeuslodamesmaforma.A
extensodosarquivoscompactadospelobzip2a.bz2
bzip2[opes][arquivos]
arquivos Especificaquaisarquivosserocompactadospelobzip2.Casosejausadoum,
serassumidoaentradapadro.
opes
d,decompress[arquivo]Descompactaumarquivo.
fForaacompactao,compactandoatmesmolinks.
l[arquivo]Listaocontedodeumarquivocompactadopelobzip2.
rCompactadiretriosesubdiretrios.
c[arquivo]Descompactaoarquivoparaasadapadro.
t[arquivo]Testaoarquivocompactadopelobzip2.
fast,bestAjustamataxadecompactao/velocidadedacompactao.Quantomelhora
taxamenoravelocidadedecompactaoeviceversa.Aopofastpermiteumacompactao
rpida e tamanho do arquivo maior. A opo best permite uma melhor compactao e uma
velocidademenor.
[nmero] Permiteespecificarumacompactaoindividualmenteusandonmerosentre1
(menorcompactao)e9(melhorcompactao).
Quandoumarquivocompactadopelobzip2,automaticamenteacrescentadaaextenso
.bz2aoseunome.Aspermissesdeacessodosarquivossotambmarmazenadasnoarquivo
compactado.
Exemplos:
bzip2texto.txtCompactaoarquivotexto.txt
bzip2dtexto.txt.bz2Descompactaoarquivotexto.txt.
Outraformadedescompactaroarquivoseria:bunzip2texto.txt.bz2
bzip2ttexto.txt.bz2Verificaoarquivotexto.txt.bz2.

tar

73

Otar no umcompactadoresimum"arquivador"(eleagrupavriosarquivosemums).
Elegeralmenteusadoemconjuntocomumcompactador(comoogzipoubzip2)paraarmazenar
osarquivoscompactados.comumencontrararquivoscomasextenses:.tar,.tar.gz,.tgz,.tar.bz2,
.tar.Z,.tgZ,oprimeiroumarquivonormalgeradopelotaretodososoutrossoarquivosgerados
atravstarjuntocomumprogramadecompactao(gzip[.gz],bzip2[.bz2]ecompress[.Z]).
tar[opes][arquivodestino][arquivosorigem]
arquivodestinoonomedoarquivodedestino.Normalmenteespecificadocomaextenso
.tarcasosejausadosomenteoarquivamentoou.tar.gz/.tgzcasosejausadaacompactao(usando
aopoz).
arquivosorigemEspecificaquaisarquivos/diretriosserocompactados.
opes
c,createCriarumarquivo.tarcontendoosarquivosespecificados
f,file[HOST:]FUsaoarquivoespecificadoparagravaoouodispositivo/dev/rmt0.
vMostraosnomesdosarquivosenquantosoprocessados.
ZUsaoprogramacompressduranteoprocessamentodosarquivos.
zUsaoprogramagzipduranteoprocessamentodosarquivos.
xExtraiarquivosgeradospelotar
Aextensoprecisaserespecificadanoarquivodedestinoparaaidentificaocorreta:
Arquivosgeradospelotarprecisamteraextenso.tar
Casosejausadaaopojparacompactao,aextensodeverser.tar.bz2
Casosejausadaaopozparacompactao,aextensodeverser.tar.gzou.tgz
CasosejausadaaopoZparaacompactao,aextensodeverser.tar.Zou.tgZ
importantesaberqualqualotipodecompactadorusadoduranteageraodoarquivo.tar
poissernecessrioespecificaraopoapropriadaparadescompactlo
Exemplos:
tarcfarquivo.tardiretorio1/arquivo1.txtarquiv2vaiempacotaremumarquivo.tarosoutros
arquivosediretriosespecificados,massemcompactar.Paradesempacotaressearquivo.tar,utilize
asopesxfaoinvsdecf.
tarzcvfarquivo.tar.gzdiretorio1/arquivo1.txtarquiv2 vaicriarumarquivotarcompactado
comogzip.Paradescompactaredesempacotaroarquivotar.gz,utilizeasopeszxvf.
tarjcvfarquivo.tar.gzdiretorio1/arquivo1.txtarquiv2vaicriarumarquivotarecompactalo
comobzip2.Paradescompactaredesempacotarumarquivotar.bz2,utilizeasopesjxvf.
tartindex.txt.tarListaocontedodeumarquivo.tar.
tartzindex.txt.tar.gzListaocontedodeumarquivo.tar.gz.
tartjindex.txt.tar.bz2Listaocontedodeumarquivo.tar.bz2.

74

Exerccios
1)Comoagruparecompactartodoocontedododiretrio/etc?
R:
2)Digiteocomandoparadescompactarumarquivodenometeste.tar.bz2outeste.tbz2.
R:

Anotaes
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________

75

CAPTULOXIGERNCIADECONTASEPERMISSESDEUSURIOS
adduser
Adicionaumusurioougruponosistema.
Porpadro,quandoumnovousurioadicionado,criadoumgrupocomomesmonomedo
usurio.Sercriadoumdiretriohomecomonomedousurio(anoserqueonovousuriocriado
seja um usurio dosistema) eestereceber uma identificao. A identificao do usurio (UID)
escolhidaseraprimeiradisponvelnosistemaespecificadadeacordocomafaixadeUIDSde
usuriospermitidasnoarquivodeconfigurao/etc/adduser.conf.Esteoarquivoquecontm
ospadresparaacriaodenovosusuriosnosistema.
adduser[opes][usurio/grupo]
usurio/grupoNomedonovousurioqueseradicionadoaosistema.
opes
disablepasswdNoexecutaoprogramapasswdparaescolherasenhaesomentepermite
ousodacontaapsousurioescolherumasenha.
forcebadname Desativaachecagemdesenhasruinsduranteaadiodonovousurio.
Porpadrooadduserchecaseasenhapodeserfacilmenteadivinhada.
group Criaumnovogrupoaoinvsdeumnovousurio.Acriaodegrupostambm
podeserfeitapelocomandoaddgroup.
uid[num] Criaumnovousuriocomaidentificao[num]aoinvsdeprocuraroprximo
UIDdisponvel.
gid[num]Fazcomqueousuriosejapartedogrupo[gid]aoinvsdepertenceraumnovo
grupoquesercriadocomseunome.Istotilcasodesejepermitirquegruposdeusuriospossam
teracessoaarquivoscomuns.Casoestivercriandoumnovogrupocomadduser,aidentificaodo
novogruposer[num].
home[dir]Usaodiretrio[dir]paraacriaododiretriohomedousurioaoinvsdeusar
oespecificadonoarquivodeconfigurao/etc/adduser.conf.
ingroup[nome]Quandoadicionarumnovousurionosistema,colocaousurionogrupo
[nome]aoinvsdecriarumnovogrupo.
quietNomostramensagensduranteaoperao.
systemCriaumusuriodesistemaaoinvsdeumusurionormal.Osdadosdousurio
socolocadosnoarquivo /etc/passwd apssuacriaoeosdadosdogruposocolocadosno
arquivo/etc/group.

76

useradd
Criaumusuriodosistema.
useradd[opes]
*criao:
ccomentrios
ddiretriohomedousurio
edatadeexpiraodaconta
ggrupoinicialdoqualousuriofarparte
Ggroup[,...]gruposseparadosporvirgula
psenha
sshellaserusadapelousurio
uuid(userid)
OBS:Casoestejausandosenhasocultas(shadowpasswords),assenhasdosusuriossero
colocadas no arquivo /etc/shadow e as senhas dos grupos no arquivo /etc/gshadow. Isto
aumentaaseguranadosistemaporquesomenteousuriorootpodeteracessoaestesarquivos,
aocontrriodoarquivo/etc/passwdquepossuiosdadosdeusuriosedevemserlidosportodos.

usermod
Modificaumusuriodosistema.
usermod[opes]
*criao:
ccomentrios
ddiretriohomedousurio
edatadeexpiraodaconta
ggrupoinicialdoqualousuriofarparte
Ggroup[,...]gruposseparadosporvirgula
psenha
sshellaserusadapelousurio
uuid(userid)

groupadd
Criaumnovogruponosistema.
groupadd[opes]grupo
ggid(groupid)
fforadarumerrocasoogrupojexiste

77

passwd
Mudaasenhadousurioougrupo.
Um usuriosomente pode alterar a senhadesua conta, mas o superusurio(root) pode
alterarasenhadequalquercontadeusurio,inclusiveadatadevalidadedaconta,dentreoutros.Os
donosdegrupostambmpodemalterarasenhadogrupocomestecomando.Osdadosdacontado
usuriocomonome,endereo,telefone,tambmpodemseralteradoscomestecomando.
passwd[usurio/grupo][opes]
usurioNomedousurio/grupoquetersuasenhaalterada.
opes
gSeespecificada,asenhadogruposeralterada.Somenteorootouoadministradordo
grupopodealterarsuasenha.Aoporpodeserusadacomestapararemoverasenhadogrupo.
AopoRpodeserusadapararestringiroacessodogrupoparaoutrosusurios.
x[dias]Especificaonmeromximodediasqueasenhapoderserusada.Apsterminar
oprazo,asenhadeversermodificada.
iDesativaacontacasoousurionotenhaalteradosuasenhaapsotempoespecificado
porx.
n[dias] Especificaonmeromnimodediasparaasenhaseralterada.Ousuriono
podermudarsuasenhaatque[dias]sejamatingidosdesdealtimaalteraodesenha.
w[num] Nmerodediasantecedentesqueousurioreceberoalertaparamudarsua
senha.Oalertaocorre[num]diasantesdolimitedaopox,avisandoaousuriosquantosdias
restamparaatrocadesuasenha.
l[nome] Bloqueiaacontadousurio[nome].Deveserusadapeloroot.Obloqueioda
contafeitoacrescentandoumcaracterasenhaparaquenoconfiracomasenhaoriginal.
u[nome]Desbloqueiaacontadeumusuriobloqueadacomaopol.
S[nome]Mostraostatusdacontadousurio[nome].Aprimeiraparteonomedousurio
seguidodeL(contabloqueada),NP(semsenha),ouP(comsenha),aterceiraparteadatada
ltimamodificaodasenha,aquartaparteaperodomnimo,mximo,alertaeoperodode
inatividadeparaasenha.
Procuresemprecombinarletrasmaisculas,minsculas,enmerosaoescolhersuassenhas.
No recomendado escolher palavras normais como sua senha pois podem ser vulnerveis a
ataques de dicionrios cracker. Outra recomendao utilizar senhas ocultas em seu sistema
(shadowpassword).
Voc deve ser o dono da conta para poder modificar a senhas. O usurio root pode
modificar/apagarasenhadequalquerusurio.
Exemplo:passwdroot.

78

userdel
Apagaumusuriodosistema.
Quandousado,estecomandoapagatodososdadosdacontaespecificadodosarquivosde
contasdosistema.
userdel[r][usurio]
rApagatambmodiretrioHOMEdousurio.
OBS:Notequeumacontadeusurionopoderserremovidacasoeleestivernosistema,
poisosprogramaspodemprecisarteracessoaosdadosdele(comoUID,GID)no/etc/passwd.

groupdel
Apagaumgrupodosistema.
Quandousado,estecomandoapagatodososdadosdogrupoespecificadodosarquivosde
contasdosistema.
groupdel[grupo]
Tenhacertezaquenoexistemarquivos/diretrioscriadoscomogrupoapagadoatravsdo
comandofind.
OBS:Seogrupoaserremovidoforogrupoprimriodeumusurio,esteusuriodeveser
removidoprimeiro.

su
Permitetrocardeusuriosemfazerologout.
til para executar um programa ou comando com a identidade de outro usurio quando
necessrio.
Sintaxe:su[usurio]
usurio=onomedonovousurioquesedesejautilizar.Senofordigitadonenhumusurio,
osistemainterpretacomosequeirautilizarousurioroot.Parausaraidentidadedeoutrousurio,
necessrioterasenhadomesmo.

chfn
Mudaalgunsdosdadosdousurio.
chfn[usurio][opes]
usurioNomedousurio.
opes
f[nome]Mudaonomecompletodousurio.
r[nome]Mudaonmerodasaladousurio.

79

w[tel]Mudaotelefonedetrabalhodousurio.
h[tel]Mudaotelefoneresidencialdousurio.
o[outros]Mudaoutrosdadosdousurio.
Caso onome que acompanhaas opes (comoonomecompleto) contenhaespaos, use
aspasparaidentificlo.Exemplo:NomeCompleto.
Exemplo:chfnf"NomedoUsurioroot"root

id
Mostraaidentificaoatualdousurio,grupoprimrioeoutrosgruposquepertence.

logname
Mostraseulogin(username).

users
Mostraosnomesdeusuriosusandoatualmenteosistema.

groups
Mostraosgruposqueousuriopertence.

lastlog
Mostraoltimologindosusurioscadastradosnosistema.
mostradoonomeusadonologin,oterminalondeocorreuaconexoeahoradaltima
conexo. Estes dados so obtidos atravs da pesquisa e formatao do arquivo
/var/log/lastlog.Casoousurionotenhafeitologin, mostradaamensagem **Never
loggedin**
lastlog[opes]
opes
t[dias]Mostrasomenteosusuriosqueseconectaramaosistemanosltimos[dias].
u[nome]Mostrasomentedetalhessobreousurio[nome].
Aopotsubstituiaopoucasosejamusadas.

last
Mostraumalistagemdeentradaesadadeusuriosnosistema.
Somostradososseguintescamposnalistagem:
Nomedousurio

80

Terminalondeocorreuaconexo/desconexo
Ohostname(casodaconexoremota)ouconsole(local).
Adatadologin/logout,ahoradologin/downseestiverforadosistema/stillloggedinseainda
estiverusandoosistema
Tempo(emHoras:Minutos)queesteveconectadoaosistema.
Alistagemmostradaemordeminversa,ouseja,dadatamaisatualparaamaisantiga.A
listagemfeitapelolastobtidade/var/log/wtmp.
last[opes]
opes
n[num]Mostra[num]linhas.Casonosejausada,todasaslinhassomostradas.
RNomostraocampoHostName.
aMostraohostnamenaltimacoluna.Sermuitotilsecombinadacomaopod.
dUsaoDNSpararesolveroIPdesistemasremotosparanomesDNS.
x Mostraasentradasdedesligamentodosistemaealteraesdonveldeexecuodo
sistema.
O comando last pode ser seguido de um argumento que ser pesquisado como uma
expressoregulardurantealistagem.
O comando last usa o arquivo /var/log/wtmp para gerar sua listagem, mas alguns
sistemaspodemnopossuirestearquivo.Oarquivo/var/log/wtmpsomenteusadocasoexistir.
Vocpodecrialocomocomando"echon>/var/log/wtmp"outouch/var/log/wtmp.
lastMostraalistagemgeral
lastaMostraalistagemgeralincluindoonomedamquina
lastrootMostrasomenteatividadesdousurioroot
lastrebootMostraasreinicializaesdosistema
lasttty1Mostratodasasatividadesnotty1

81

Exerccios
1)Comoremoverumgrupo(vazio)denome:desenvolvedoreseadicionar,emseguida,o
grupodenomedesenvolvedores.
R:
2) Qual deve ser o comando completo para adicionar ousurio linuxfi, fazendoparte do
grupodesenvolvedores,etendocomoseudiretriohomeo/home/linuxfi?
R:
Anotaes
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________

82

CAPTULOXIIPERMISSES
Almdonome,umarquivotemvriosatributos:
datadealterao
usurioproprietrio
grupo(deusurios)proprietrio
permisses(modos)deacesso
Omododeacessoprotegeosarquivosdeacessoindesejado
Modos de acesso so especificados separadamente para os proprietrios e os demais
usurios
Ousurioproprietriononecessariamentemembrodogrupoproprietrio
Quandoumarquivocriadoosseusproprietriosso:ousurioqueocrioueogrupo
primriodesteusurio.

TrocandoosProprietriosdeumArquivo
Sodonodoarquivoouorootpodealterarousurioproprietrio:
chownnovo_donoarquivo1arquivo2...
especificandoseonomeouonmeroidentificadordonovodono
Sorootouodonodoarquivopodealterarogrupoproprietrio:
chgrpnovo_grupoarquivo1arquivo2...
(versoBSDrequerqueodonosejamembrodonovogrupo)
Trocasemumahierarquiadediretrios(recurso):
chownRnovo_donodiretorio
chgrpRnovo_grupodiretorio
Alterandousurioegrupoaomesmotempo:
chownnovo_dono.novo_grupoarquivo1arquivo2...

TiposdeAcesso
Existemtrstiposdeacessosaarquivosediretrios.Soeles:leitura,escritaeexecuo.Na
seqncia,representadospeloscaracteresrwx.
Objeto
Arquivo
Diretrio

Leitura(r)
lerocontedodoarquivo.
listarocontedododiretrio.

Escrita(w)
alterarocontedodoarquivo.
criareapagararquivosnodiretrio.
Tabela3

Execuo(x)
Executaroarquivocomoumprograma.
leregravararquivosnodiretrio.

Alistagemdetalhadadearquivosemumdiretrioespecificadorequertipodeacessoxr
Otipodeacesso w aumdiretriopermiteremoverarquivosdomesmo,aindaquenose
tenhatipodeacessowaosarquivos.

83

ClassesdeAcesso
u

usurioproprietrio

grupoproprietrio

outrosusurios

todasacima

AlterandoPermisses
Ocomandochmod:
chmod[classes]OP[tipos]arqs
ondeOPumdosseguintesoperadores:
+adicionapermisso
retirapermisso
=definenovapermisso
Evitandoalteraesnoplanejadas:
chmodawarq
Combinandoclassesetiposdeacesso:
chmodu+w,go+rwarq
Alterandopermissesdeumahierarquiadediretrios:
chmodRgowdir
Especificandotiposdeacessorelativos:
chmodo=g*
Especificandopermissesnumericamente:
Exemplo:chmod754arq
VejanaTabela4arepresentaodepermissesdearquivosediretrios.
Octal
0
1
2
3
4
5
6
7

Binrio
000
001
010
011
100
101
110
111

Letras
Descrio

Semacesso
x
Somenteexecuo
w
Somenteescrita
wx
Escritaeexecuo
r
Somenteleitura
rx
Leituraeexecuo
rw
Leituraeescrita
rwx
Leitura,escritaeexecuo
Tabela4

EspecificandoPermissesdeAcessoDefault
Paraomododeacessodesejadomodo_nmericofazse:
$umaskvalor
Ondevaloriguala`modo_nmerico777'

84

Assimusase
$umask023
Comaumaskacima,obtemosproteo754pordefault.

AgendamentodeTarefas
Tarefasautomticasdemanutenodosistema
Osarquivosresponsveispelamanutenoautomticadosistemaseencontramemarquivos
individuaislocalizadosnosdiretrios/etc/cron.daily,/etc/cron.weeklye/etc/cron.montly.Aquantidade
dearquivosdependedaquantidadedepacotesinstaladoemseusistema,porquealgunsprogramam
tarefasnestesdiretriosenopossveldescrevertodas,paradetalhessobreoquecadaarquivo
fazvejaocabealhoeocdigodecadaarquivo.
Estesarquivossoexecutadospelocronatravsdoarquivo/etc/crontab.Vocpodeprogramar
quantastarefasdesejar,paradetalhesaprendamaissobreocroneat,aseguir.Algunsprogramas
mantm arquivos do cron individuais em /var/spool/cron/crontabs que executam comandos
periodicamente.

TiposdeExecuodecomandos/programas
Umprogramapodeserexecutadodeduasformas:
PrimeiroPlanoTambmchamadodeforeground.Quandovocdeveesperarotrminoda
execuo de um programa para executar um novo comando. Somente mostrado o aviso de
comandoapsotrminodeexecuodocomando/programa.
SegundoPlano Tambm chamado de background. Quando voc no precisa esperar o
trminodaexecuodeumprogramaparaexecutarumnovocomando.Apsiniciarumprograma
em background,mostradoumnmeroPID(identificaodoProcesso)eoavisodecomando
novamentemostrado,permitindoousonormaldosistema.
O programa executado em background continua sendo executado internamente. Aps ser
concludo,osistemaretornaumamensagemdeprontoacompanhadodonmeroPIDdoprocesso
queterminou.
Parainiciarumprogramaem primeiroplano bastadigitarseunomenormalmente.Para
iniciarumprogramaemsegundoplano,acrescenteocaracter"&"apsofinaldocomando.
OBS:Mesmoqueumusurioexecuteumprogramaemsegundoplanoesaiadosistema,o
programacontinuarsendoexecutadoatquesejaconcludooufinalizadopelousurioqueinicioua
execuo(oupelousurioroot).
Exemplo:find/nameboot.b&
Ocomandoserexecutadoemsegundoplanoedeixarosistemalivreparaoutrastarefas.
Apsocomandofindterminar,sermostradaumamensagem.
________________________________________________________________________________________

85

DICA:Execuodecomandosemseqencia:Ointerpretadordecomandostemacapacidadedeexecutar
vrioscomandosemseguida.necessrio,apenas,separaroscomandosporum;(pontoevrgula)para
queoscomandossejamexecutadosumapsotrminodooutro.
Exemplo:echoprimeiro;echosegundo;echoterceiro.

86

Exerccios
1)Digiteocomandonaversooctal,equivalenteparaoscomandosabaixo:
a)chmoda+rwx,orwxarquivo
b)chmoda+rwxarquivo
R:
2)Quaissoostrstiposdeacessoexistentesparaarquivosediretrios?
R:
Anotaes
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________

87

CAPTULOXIIIPROCESSOS
ps
Mostraosprocessosqueestorodando.
Algumasvezestilverquaisprocessosestosendoexecutadosnocomputador.Ocomando
psfazisto,etambmnosmostraqualusurioexecutouoprograma,horaqueoprocessofoiiniciado,
etc.
ps[opes]
opes
aMostraosprocessoscriadosporvocedeoutrosusuriosdosistema.
xMostraprocessosquenosocontroladospeloterminal.
uMostraonomedeusurioqueiniciouoprocessoehoraemqueoprocessofoiiniciado.
mMostraamemriaocupadaporcadaprocessoemexecuo.
f Mostra a rvore de execuo de comandos (comandos que so chamados por outros
comandos).
eMostravariveisdeambientenomomentodainicializaodoprocesso.
wMostraacontinuaodalinhaatualnaprximalinhaaoinvsdecortarorestantequeno
coubernatela.
sort:[coluna] Organizaasadadocomando ps deacordocomacolunaescolhida.Voc
podeusarascolunaspid,utime,ppid,rss,size,user,priority.
Podeser especificada uma listagem em ordem inversaespecificando sort:[coluna].
Paramaisdetalheseoutrasopes,vejaapginademanual.
Asopesacimapodemsercombinadaspararesultaremumalistagemmaiscompleta.Voc
tambmpodeusarpipes"|"parafiltrarasadadocomandops.
Aocontrriodeoutroscomandos,ocomando ps noprecisadohfen""paraespecificaros
comandos.Istoporqueelenoutilizaopeslongasenousaparmetros.
Exemplos:ps,psax|grepinetd,psauxf,psauxw.

top
Mostraosprogramasemexecuo
Fornecevriasinformaessobreosprogramasemexecuoativos,parados,tempousadona
CPU,detalhessobreousodamemriaRAM,Swapedisponibilidadeparaexecuodeprogramas
nosistema.

88

Otopumprogramaquecontinuaemexecuomostrandocontinuamenteosprocessosque
estorodandoemseucomputadoreosrecursosutilizadosporeles.Parasairdotop,pressionea
teclaq.
top[opes]
d[tempo]Atualizaatelaapso[tempo](emsegundos).
sDizaotopparaserexecutadoemmodoseguro.
iIniciaotopignorandootempodeprocessoszumbis.
cMostraalinhadecomandoaoinvsdonomedoprograma.
Aajudasobreotoppodeserobtidadentrodoprogramapressionandoateclahoupelapgina
demanual(mantop).Abaixoalgumasteclasteis:
espaoAtualizaimediatamenteatela.
CTRL+LApagaeatualizaatela.
hMostraateladeajudadoprograma,todasasopesquepodemserusadascomotop.
iIgnoraotempoociosodeprocessoszumbis.
qSaidoprograma.
kFinalizaumprocessosemelhanteaocomandokill.Vocserperguntadopelonmero
deidentificaodoprocesso(PID).Estecomandonoestardisponvelcasoestejausandootop
comaopos.
nMudaonmerodelinhasmostradasnatela.Se0forespecificado,serusadatodaatela
paralistagemdeprocessos.

Controledeexecuodeprocessos
Abaixo alguns comandos e mtodos teis para o controle da execuo de processos no
GNU/Linux.
Interrompendoaexecuodeumprocesso
Para cancelar a execuo de algum processo rodando em primeiro plano, basta
pressionarasteclasCTRL+C.Aexecuodoprogramasercanceladaesermostradooavisode
comando.Voctambmpodeusarocomandokillparainterromperumprocessosendoexecutado.
Parandomomentaneamenteaexecuodeumprocesso
Parapararaexecuodeumprocessorodandoemprimeiroplano,bastapressionarasteclas
CTRL+Z.Oprogramaemexecuoserpausadoesermostradoonmerodeseujobeoavisode
comando.
Pararetornaraexecuodeumcomandopausado,usefgoubg.
Oprogramapermanecenamemrianopontodeprocessamentoemqueparouquandoele
interrompido.Voc podeusaroutros comandos ourodaroutrosprogramas enquantooprograma
atualestinterrompido.

89

jobs

Mostraosprocessosqueestoparadosourodandoem
segundoplano

.
Processosemsegundoplanosoiniciadosusandoosmbolo"&"nofinaldalinhadecomando
ouatravsdocomandobg.
Onmerodeidentificaodecadaprocessoparadoouemsegundoplano(job),usadocom
oscomandosfgoubg.Umprocessointerrompidopodeserfinalizadousandoseocomando kill
%[num],onde[num]onmerodoprocessoobtidopelocomandojobs.

fg
Permitefazerumprogramarodandoemsegundoplanoouparado,rodaremprimeiroplano.
Vocdeveusarocomandojobsparapegaronmerodoprocessorodandoemsegundoplano
ouinterrompida,estenmeroserpassadoaocomandofgparaativaloemprimeiroplano.
fg[nmero]
nmeroonmeroobtidoatravsdocomandojobs.
Caso seja usado sem parmetros, o fg utilizar o ltimo programa interrompido (o maior
nmeroobtidocomocomandojobs).
Exemplo:fg1.

bg
Permitefazerumprogramarodandoemprimeiroplanoouparado,rodaremsegundoplano.
Para fazer um programa em primeiro plano rodar em segundo, necessrio primeiro
interromperaexecuodocomandocomCTRL+Z,sermostradoonmerodatarefainterrompida,
useestenmerocomocomandobgparainiciaraexecuodocomandoemsegundoplano.
bg[nmero]
nmeronmerodoprogramaobtidocomopressionamentodasteclasCTRL+Zouatravsdo
comandojobs.

kill
Permiteenviarumsinalaumcomando/programa.
Casosejausadosem parmetros,o kill enviarumsinaldetrminoaoprocessosendo
executado.
kill[opes][sinal][nmero]
nmeroonmerodeidentificaodoprocessoobtidocomocomandops.Tambmpode
seronmeroapsosinalde%obtidopelocomandojobsparamatarumatarefainterrompida.
sinalSinalqueserenviadoaoprocesso.Seomitidousa15comopadro.

90

opes
9Enviaumsinaldedestruioaoprocessoouprograma.Eleterminadoimediatamente
semchancesdesalvarosdadosouapagarosarquivostemporrioscriadosporele.
Vocprecisaserodonodoprocessoouousuriorootparaterminalooudestrulo.Vocpode
verificarseoprocessofoifinalizadoatravsdocomandops.
Exemplo:kill500,kill9500,kill%1.

killall
Permitefinalizarprocessosatravsdonome.
killall[opes][sinal][processo]
processoNomedoprocessoquedesejafinalizar
sinalSinalqueserenviadoaoprocesso(podeserobtidousandoaopoi).
opes
iPedeconfirmaosobreafinalizaodoprocesso.
lListaonomedetodosossinaisconhecidos.
qIgnoraaexistnciadoprocesso.
vRetornaseosinalfoienviadocomsucessoaoprocesso.
wFinalizaaexecuodokillallsomenteapsfinalizartodososprocessos.
Exemplo:killallHUPinetd

SinaisdoSistema
Retiradodapginademanualsignal.OGNU/Linuxsuportaossinaislistadosabaixo.Alguns
nmerosdesinaissodependentesdearquitetura.
Primeiro,ossinaisdescritosnopadroPOSIX1:
SINAL
HUP
KILL
TERM
TSTP

VALOR
1
9
15
18,20,24

COMENTRIO
Travamentonoterminaldecontroleoufinalizaodoprocessocontrolado
Sinaldedestruiodoprocesso
SinaldeTrmino
Interromperdigitaonoterminal(ctrl+c)
Tabela5

pidof
RetornaoPIDdoprocessoespecificado
pidof[opes][nome]
nomeNomedoprocessoquesejaobteronmeroPID
opes
sRetornasomenteoprimeiroPIDencontrado.
xRetornaoPIDdodoshellqueestexecutandooscript

91

o[PID] IgnoraoprocessocomaquelePID.OPIDespecial%PPIDpodeserusadopara
nomearoprocessopaidoprogramapidof,emoutraspalavras
OBSSERVAO:Oprogramapidofumlinksimblicoaoprogramakillall5.Cuidadoao
executar o killall5 asfunese opes so completamentediferentes dependendo da forma
comochamadonalinhadecomando.
Exemplo:pidofsinit

92

nice
Configuraaprioridadedaexecuodeumcomando/programa.
nice[opes][comando/programa]
comando/programaComando/programaquetersuaprioridadeajustada.
opes
n[numero] Configuraaprioridadequeoprogramaserexecutado.Seumprogramafor
executadocommaiorprioridade,eleusarmaisrecursosdosistemaparaseuprocessamento,caso
tenhaumaprioridadebaixa,elepermitirqueoutrosprogramastenhampreferncia.Aprioridadede
execuodeumprograma/comandopodeserajustadade19(amaisalta)at19(amaisbaixa).
Exemplo:nicen19find/nameapropos.

renice
Alteraaprioridadedeumprocessoemexecuo.
nice+[prioridade][comando/programa]
comando/programaComando/programaquetersuaprioridadeajustada.
Exemplo:

renice10programa
renice+5programa2

93

Exerccios
1) Qual o comando deveria ser utilizado para terminar um processo de PID 1048, para
garantirqueesseprocessoserdestrudo?
R:
2)Qualferramentapodeserutilizadaparamudaraprioridadedeumprocessoexistente?
R:
3)QuaisoscomandosexibirooestadodeprocessosemumsistemaLinux?
a)lsedf
b)psetop
c)psedf

d)dfetop
e)duedf
Anotaes

__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________

94

CAPTULOXIVKERNELEMDULOS

OKERNEL
osistemaoperacional(oLinux),elequecontrolaosdispositivosedemaisperifricosdo
sistema(comomemria,placasdesom,vdeo,discosrgidos,disquetes,sistemasdearquivos,redes
e outros recursos disponveis). Muitos confundem isto e chamam a distribuio de sistema
operacional.
O kernel faz o controle dos perifricos do sistema e para isto ele deve ter o seu suporte
includo.Parafazerumaplacadesom SoundBlaster funcionar,porexemplo,necessrioqueo
kernelofereasuporteaesteplacaevocdeveconfigurarseusparmetros(comointerrupo,I/Oe
DMA)comcomandosespecficosparaativaraplacaefazelafuncionarcorretamente.Existeum
documentoquecontmquaissoosperifricossuportados/nosuportadospeloGNU/Linux,elese
chamaHardwareHOWTO.
Suasversessoidentificadaspornmeroscomo2.0.36,2.1.10,2.2.12,2.4.34,2.5.21,2.6.12,
asversesquecontmumnmeroparentreoprimeiroesegundopontosoversesestveiseque
contm nmeros mpares neste mesmo local so verses instveis (em desenvolvimento). Usar
versesinstveisnoquerdizerqueocorrertravamentosoucoisasdotipo,masalgumaspartesdo
kernelpodemnoestartestadasosuficienteoualgunscontroladorespodemaindaestarincompletos
paraobterplenofuncionamento.Prefirasemprepegarversesestveisdokernel.
Aps inicializar o sistema, o kernel e seus arquivos podem ser acessados ou modificados
atravsdopontodemontagem/proc.

MDULOS
Sopartesdokernelquesocarregadassomentequandososolicitadasporalgumaplicativo
oudispositivoedescarregadasdamemriaquandonosomaisusadas.Esterecursotilpor2
motivos:Evitaaconstruodeumkernelgrande(esttico)queocupegrandepartedamemriacom
todosos drivers compiladosepermitequepartesdokernelocupemamemriasomentequando
foremnecessrios.
Os mdulos do kernel esto localizados no diretrio /lib/modules/verso_do_kernel/* (onde
verso_do_kernelaversoatualdokernelemseusistema,casoseja2.2.10odiretrioquecontm
seusmdulosser/lib/modules/2.2.10).

95

Osmdulossocarregadosautomaticamentequandosolicitadosatravsdoprogramakmodou
manualmenteatravsdoarquivo/etc/modules,insmodoumodprobe.Ateno:Nocompileosuporte
aoseusistemadearquivosrazcomomdulo,istootornarinacessvel.

KMOD

Esteoprogramausadoparacarregarosmdulosautomaticamentequandosorequeridos
pelosistema.Eleumdaemonquefuncionaconstantementefazendoamonitorao,quandoverifica
que algum dispositivo ou programa est solicitando o suporte a algum dispositivo, ele carrega o
mdulocorrespondente.
Ele pode ser desativado atravs da recompilao do kernel, dando um kill no processo ou
atravsdoarquivo/etc/modules.Casosejadesativado,precisocarregarmanualmenteosmdulos
atravsdomodprobeouinsmod.

LSMOD

Listaquaismdulosestocarregadosatualmentepelokernel.Onomelsmodumacontrao
dels+mdulosListarMdulos.Alistagemfeitapelolsmodumaalternativaaousodocomandocat
/proc/modules.
Asadadestecomandotemaseguinteforma:
ModuleSizePagesUsedby
nls_iso8859_1800011(autoclean)
nls_cp437374411(autoclean)
ne615621
839083902[ne]0
AcolunaModuleindicaonomedomduloqueestcarregado,acolunaUsedmostraqual
mdulosestusandoaquelerecurso.Oparmetro(autoclean)nofinaldacolunaindicaqueomdulo
foicarregadomanualmente(peloinsmodoumodprobe)ouatravsdokmodeserautomaticamente
removidodamemriaquandonoformaisusado.
No exemplo acima os mdulos ne e 8390 no tem o parmetro (autoclean) porque foram
carregados pelo arquivo /etc/modules. Isto significa que no sero removidos da memria caso
estiveremsemuso.
Qualquermdulocarregadopodeserremovidomanualmenteatravsdocomandormmod.

96

INSMOD

Carregaummdulomanualmente.Paracarregarmdulosquedependemdeoutrosmdulos
paraquefuncionem,vocduasopes:Carregarosmdulosmanualmenteouusaromodprobeque
verificaecarregaasdependnciascorrespondentes.
Asintaxedocomando:insmod[mdulo][opes_mdulo]
Onde:
Mduloonomedomduloquesercarregado.
opes_mdulo Opesqueserousadaspelomdulo.Variamdemduloparamdulo,
algunsprecisamdeopesoutrosno,tenteprimeirocarregarsemopes,casosejamostradauma
mensagem de erro verifique as opes usadas por ele. Para detalhes sobre que opes so
suportadas por cada mdulo, veja a sua documentao no cdigo fonte do kernel em
/usr/src/linux/Documentation
Exemplo:insmodneio=0x300irq=10

RMMOD

Remove mdulos carregados no kernel. Para ver os nomes dos mdulos atualmente
carregadosnokerneldigitelsmodeverifiquenaprimeiracolunaonomedomdulo.Casoummdulo
tenha dependncias e voc tentar remover suas dependncias, uma mensagem de erro ser
mostradaalertandoqueomduloestemuso.
Exemplo:rmmodne

MODPROBE

Carrega um mdulo e suas dependncias manualmente. Este comando permite carregar


diversosmdulosedependnciasdeumasvez.Ocomportamentodomodprobemodificadopelo
arquivo/etc/modules.conf.
Asintaxedestecomando:modprobe[mdulo][opes_mdulo]
Onde:
Mduloonomedomduloquesercarregado.
opes_mdulo Opesqueserousadaspelomdulo.Variamdemduloparamdulo,
algunsprecisamdeopesoutrosno,tenteprimeirocarregarsemopes,casosejamostradauma
mensagem de erro verifique as opes usadas por ele. Para detalhes sobre que opes so

97

suportadas por cada mdulo, veja a sua documentao no cdigo fonte do kernel em
/usr/src/linux/Documentation.
Nem todos os mdulos so carregados corretamente pelo modprobe, o plip, por exemplo,
mostraumamensagemsobreportaI/Oinvlidamasnocasosejacarregadopeloinsmod.
Exemplo:modprobeneio=0x300irq=10,modprobesbio=0x220irq=5dma=1dma16=5mpuio=0x330

DEPMOD

Verificaadependnciademdulos.Asdependnciasdosmdulossoverificadaspelosscripts
em /etc/init.d usando o comando depmod a e o resultado gravado no arquivo
/lib/modules/versao_do_kernel/modules.dep.Estachecagemserveparaquetodasasdependncias
de mdulos estejam corretamente disponveis na inicializao do sistema. O comportamento do
depmodpodesermodificadoatravsdoarquivo/etc/modules.conf.possvelcriaradependnciade
mdulosimediatamenteapsacompilaodokerneldigitandodepmoda[verso_do_kernel].
Exemplo:depmoda

MODULES.CONF

Oarquivo/etc/modules.confpermitecontrolarasopesdetodososmdulosdosistema.Ele
consultadopelosprogramasmodprobeedepmod.Asopesespecificadasnestearquivofacilitamo
gerenciamentodemdulos,evitandoadigitaodeopesatravsdalinhadecomando.
Porexemplo:adicionandoaslinhas:
aliassoundsb
optionssbio=0x220irq=5dma=1dma16=5mpuio=0x330
Issopermitirquesejausadosomenteocomandomodprobesbparaativaraplacadesom.

Anotaes
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
98

__________________________________________________________________________
__________________________________________________________________________

CAPTULOXIVAGENDAMENTODETAREFAS

CRON

Ocronumdaemonquepermiteoagendamentodaexecuodeumcomando/programapara
umdeterminadodia/ms/ano/hora.Elemuitousadoemtarefasdearquivamentodelogs,checagem
daintegridadedosistemaeexecuodeprogramascomandosemhorriosdeterminados.
As tarefas so definidas no arquivo /etc/crontab e por arquivos individuais de usurios em
/var/spool/cron/crontabs/[usurio] (criados atravs do programa crontab). Adicionalmente a
distribuioDebianutilizaosarquivosnodiretrio/etc/cron.dcomoumaextensoparao/etc/crontab.
Paraagendarumanovatarefa,bastaeditaroarquivo/etc/crontabcomqualquereditordetexto
(comooaeeovi)edefiniroms/dia/horaqueatarefaserexecutada.Nonecessrioreiniciaro
daemon do cron porque ele verifica seus arquivos a cada minuto. Veja abaixo o formato de um
arquivoparaentendermelhoroformatoutilizadonoagendamentodetarefas.
Oformatodeumarquivocrontab
Oarquivo/etc/crontabtemoseguinteformato:

99

Figura25

Onde:
Minuto:Valorentre0e59
Hora:Valorentre0e23
DiadoMs:Valorentre0e31
Ms:Valorentre0e12(identificandoosmesesdeJaneiroaDezembro).
DiadaSemana:Valorentre0e7(identificandoosdiasdeDomingoaSbado).Notequetanto
0quanto7equivalemaoDomingo.
Usurio:Ousurioespecificadoserusadoparaexecutarocomando(ousuriodeverexistir).
Comando:Comandoqueserexecutado.Podemserusadosparmetrosnormaisusadosna
linhadecomando.
Oscamposdoarquivososeparadosporumoumaisespaosoutabulaes.Oasterisco *
podeserusadonoscamposdedataehoraparaespecificartodoointervalodisponvel.
Oarquivogeradoem /var/spool/cron/crontabs/[usurio] pelo crontab temomesmoformatodo
/etc/crontabexcetopornopossuirocampousurio(UID),poisonomedoarquivojidentificaqualo
usurioexecutaroscomandos.
Paraeditarumarquivodeusurioem/var/spool/cron/crontabsaoinvsdeeditaro/etc/crontab
usecrontabe,paralistarastarefasdeumusuriocrontableparaapagaroarquivodetarefasdo
usurio crontabr (adicionalmentevocpoderemoversomenteumatarefaatravsdo crontabe e
apagandoalinhacorrespondente).
OBS:Noesqueadeincluirumalinhaembranconofinaldoarquivo,casocontrriooltimo
comandonoserexecutado.
Ocrondefineovalordealgumasvariveisautomaticamentedurantesuaexecuo;avarivel
SHELLdefinidacomo/bin/sh,PATHcomo/usr/bin:/bin,LOGNAME,MAILTOeHOMEsodefinidas

100

atravs do arquivo /etc/passwd. Os valores padres destas variveis podem ser substitudos
especificandoumnovovalornosarquivosdocron.
Exemplosdeumarquivo/etc/crontab:
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
0010***rootsync
#Executaocomandosynctodoodiaas10:00
0006**1rootupdatedb
#Executaocomandoupdatedbtodasegundafeiraas06:00.
10,20,40****rootls/etc>/tmp/lsetc
#Executaocomandols/etc>/tmp/lsetctodososdias,s10h,20
e40minutos.
*/10****rootfetchmail
#Executaocomandofetchmailde10em10minutostodososdias
1502512*rootecho"FelizNatal"|mailjohn
#Enviaumemailas0:15todoodia25/12parajohndesejandoum
feliznatal.
305**16rootteste
#Executaocomandotesteautomaticamenteas5:30desegundafeiraa
sbado.

101

AT

Oatagendatarefasdeformasemelhanteaocroncomumainterfacequepermiteautilizao
delinguagemnaturalnosagendamentos.Suaprincipalaplicaonousodetarefasquesejam
disparadassomenteumavez.Umacaractersticadesteprogramaaexecuodeaplicativosque
tenhampassadodeseuhorriodeexecuo,muitotilseocomputadordesligadocomfreqncia
ouquandoocorreumainterruponofornecimentodeenergia.
Para utilizar o comando at por usurios diferentes do root, necessrio criar os arquivos
/etc/at.allow e /etc/at.deny. Estes arquivos so organizados no formato de um usurio por linha.
Durante o agendamento, verificado primeiro o arquivo at.allow (lista de quem poder executar
comandos)edepoiso at.deny (listadequemNOpodeexecutarcomandosatravsdoat).Caso
estesarquivosnoexistam,oagendamentodecomandospermitidoatodososusurios.
Abaixoseguemexemplosdoagendamentoatravsdocomandoat:
echols|at10amtodayExecutaas10damanhadehoje
echols|at10:05todayExecutaas10:05damanhadehoje
echols|at10:05pmtodayExecutaas10:05danoitedehoje
echols|at22:05todayExecutaas22:05danoitedehoje
echols|at14:50tomorrowExecutaocomandoamanhas14:50datarde
echols|atmidnightExecutaocomandoameianoitedehoje
echols|atmidnighttomorrowExecutaocomandoameianoitedeamanh
echols|atnoonExecutaocomandodetarde(meiodia).
atfcomandos.txtteatimeExecutaoscomandosespecificadosnoarquivo"comandos.txt"no
horriodocafdatarde(as16:00horas).
at f comandos.txt now + 3 minutes Executa os comandos especificados no arquivo
"comandos.txt"daquia3minutos.Tambmpodeserespecificado"hours"ou"days".
at f comandos.txt tomorrow + 3 hours Executa os comandos especificados no arquivo
"comandos.txt"daquia3horasnodiadeamanh.(seagoraso10:00,elaserexecutadaamanh
s13:00horas).
Todas as tarefas agendadas so armazenadas em arquivos dentro do diretrio
/var/spool/atjobs. Para ver as tarefas, digite atq. Para remover uma tarefa, use o comando atrm
seguidodonmerodatarefaobtidapeloatq.

102

Exerccios
1)Comopodemosutilizarocrontabpara.editaroarquivoquecontrolaaagendadetarefas
dousurioquevocestiverutilizando?
R:
2) Qual deve ser a entrada no arquivo crontab para executar o programa backup.sh
exatamentemeianoiteemeiatodososdias?
R:
3)Voctemumarquivo.txtcontendoumtotaldedezinstrues(comandos)emcadalinha
dessearquivo.txt,quedevemserexecutadosdentrode35minutos.Usandoocomandoat,
comoissopoderiaserfeito?
R:

Anotaes
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________

103

CAPTULOXVINTRODUOAREDES

OPROTOCOLOTCP/IP
TCP/IP (Transmission Control Protocol/Internet Protocol, ou Protocolo de Controle de
Transmisso/ProtocolodaInternet)serefereaoconjuntodeprotocolosutilizadosnaInternet.Ele
inclui uma srie de padres que especificam como os computadores vo se comunicar e cria
convenesparainterconectarredeseparaoroteamentoatravsdessasconexes.
O Protocolo da Internet (IP) o resultado de um projeto da DARPA (Defense Advanced
Research Projects Agency, ou Agncia de Projetos de Pesquisa Avanada de Defesa) sobre
conectividadeentreredesnofinaldosanos70.Elefoiutilizadoemtodasasredesdelongadistncia
dosistemadeDefesadosEUAem1983,masnofoiamplamenteaceitoatserincorporadoaoBSD
(BerkeleySoftwareDistribution)Unix4.2.ApopularidadedoTCP/IPbaseadaem:
Estrutura clienteservidor robusta. O TCP/IP uma excelente plataforma clienteservidor,
especialmenteemambientesWAN(wideareanetwork,ouredesdegrandealcance).
Compartilhamento de informaes. Milhares de organizaes militares, educacionais,
cientficasecomerciaiscompartilhamdados,correioeletrnico(email),eoutrosserviosnaInternet
usandooTCP/IP.
Ampladisponibilidade.ImplementaesdoTCP/IPestodisponveisempraticamentetodosos
sistemas operacionais populares. Seu cdigo fonte amplamente disponvel em vrias
implementaes.Fabricantesdebridges,routerseanalisadoresderedesoferecemsuporteparao
TCP/IPemseusprodutos.

CamadasdoModeloTCP/IP
ComonomodeloOSI,omodeloTCP/IPtambmdivididoemcamadas:
CamadaAplicao
formada pelos protocolos utilizados pelas diversas aplicaes do modelo TCP/IP. Esta
camadanopossuiumpadrocomum.Opadroestabelecidoporcadaaplicao.Isto,oFTP
possuiseuprprioprotocolo,assimcomooTELNET,SMTP,POP3,DNSeetc.
CamadaTransporte(TCP/UDP)
Camadafimafim,isto,umaentidadedestacamadassecomunicacomasuaentidadepar
do host destinatrio. nestacamadaque se faz o controle da conversao entreas aplicaes
intercomunicadasdarede.Doisprotocolosaquisousados:oTCPeoUDP.OTCPorientado

104

conexoeoUDPno.Oacessodasaplicaescamadadetransportefeitoatravsdeportas
querecebemumnmerointeiroparacadatipodeaplicao.
CamadaInternet(IP)
Essacamadaaprimeiranormatizadadomodelo.TambmconhecidacomocamadaInternet,
responsvelpeloendereamento,roteamentoecontroledeenvioerecepo.Elanoorientada
conexo,secomunicaatravsdedatagramas.
CamadaRede(Hardware)
Camadadeabstraodehardware,temcomoprincipalfunoainterfacedomodeloTCP/IP
comosdiversostiposderedes(X.25,ATM,FDDI,Ethernet,TokenRing,FrameRelay,PPPeSLIP).
Porcausadagrandevariedadedetecnologiasderede,elanonormatizadapelomodelo,oque
provapossibilidadedeinterconexoeinteroperaoderedesheterogneas.

ComparaoentreModeloOSIxModeloTCP/IP
Camada
7
6
5
4
3
2
1

ModeloOSI
Aplicao
Apresentao
Sesso
Transporte
Rede
Enlace
Fsica

ModeloTCP/IP
Aplicao
Transporte
Internet
Interfacecomarede
Tabela6

ProtocolosdaCamadadeAplicao
ConheaalgunsdosprotocolosdonveldeAplicaodomodeloTCP/IP:

FTP
(FileTransferProtocol)

Protocoloutilizadoparatransmitirarquivos.OFTPumexemploclarodeumprotocoloque
tambmumprograma.OperandocomoumProtocolooFTPusadopelasaplicaes,operando
comoumprogramautilizadopelosusurios.
Telnet

Protocoloquepermiteaemulaoremotadeumterminal,utilizandooTelnetpossveldeuma
maquina cliente acessarumterminaldeumservidor.ComopassardotempooTelnetestsendo
substitudo por outro programa de Acesso Remoto o SSH, principalmente devido a falta de
criptografiadedadosdoprotocoloTelnet.

SMTP
(SimpleMailTransferProtocol)

Protocolo que responde a nossa chamada onipresente ao correio eletrnico utilizando um


mtodoemspool,oufila,pararemessademensagens.

105


DNS
(DomainNameService)

Um dos protocolos mais importantes da Internet Atual, ele responsvel pela traduo de
endereosIPsparahosts.ODNSfoielaboradocomoprincipalintuitodefacilitaranavegaona
Internet,atualmentedifcildeseimaginaraInternetsemutilizaodoDNS.

ProtocolosdaCamadadeTransporte
ConheaalgunsdosprotocolosdonveldeAplicaodomodeloTCP/IP:
TCP(TransmissionControlProtocol)
O TCP um protocolo da camada de transporte confivel, ele baseado em conexo
encapsulada no IP. O TCP garante a entrega dos pacotes, assegura o "seqenciamento" dos
pacotes,eprovidenciaum"checksum"quevalidatantoocabealho,quantoosdadosdopacote.No
caso da rede perder ou corromper um pacote TCP/IP durante a transmisso, tarefa do TCP
retransmitiropacotefaltosoouincorreto.EssaconfiabilidadetornaoTCP/IPoprotocoloescolhido
para transmisses baseadas em sesso, aplicativos clienteservidor e servios crticos.Os
cabealhos dos pacotes TCP requerem o uso de bits adicionais para assegurar o correto
"seqenciamento"dainformao,bemcomoum"checksum"obrigatrioparagarantiraintegridade
do cabealho e dos dados. Para garantia da entrega dos pacotes, o protocolo requisita que o
destinatrio, informe atravs do envio de um "acknowledgement", para que seja confirmado o
recebimento.
UDP(UserDatagramProtocol)
OprotocoloUDPasegundaopodacamadadetransporte,sendoqueelenoconfivel,
poisnoimplementa"acknowledgements","janelas"enem"seqenciamentos",onicocontrolefeito
um"checksum"opcionalqueestdentrodoseuprprio"header",eleutilizadoporaplicaesque
novogeraraltosvolumesdetrfegonaInternet.
ComofoiapresentadooProtocoloTCPOrientadoaConexoeoProtocoloUDPno.Parao
melhor entendimento existe uma analogia que se encaixa bem, destacando de forma clara as
principaisdiferenasentreosdoisprotocolos:
OTCPassimilaseaumaligaotelefnica.Todossabemosqueantesdefalarcomalgumem
um telefone voc primeiro precisa estabelecer uma conexo com a pessoa que voc deseja
conversar,ondequerqueelaesteja.Sevocestivessedandoinformaesimportantesduranteasua
conversa,poderiaperguntarestentendendo?.Estetipodesolicitaomuitoparecidocomum
reconhecimentodoTCPelatemointuitodeverificao.Devezemquando,especialmenteem
telefonescelulares,aspessoasperguntam:Vocestameouvindo?.Normalmenteumaconversa
por telefone termina com um Tchau ou algo parecido, encerrando a ligao telefnica. O TCP
tambmrealizaessestiposdefunes.

106

Comoalternativa,ousodoUDPfuncionadeformasimilaraoenviodeumcartopostal.Para
fazer isso voc no precisa contatar a outra parte primeiro. Voc simplesmente escreve sua
mensagem,endereaocartopostaleremete.IssosemelhanteanaturezadoprotocoloUDP,que
noorientadoaconexo.Comoamensagemnocartopostalprovavelmentenotratadeum
assuntotoimportante,vocnoprecisadeumreconhecimento.Damesmaforma,oprotocoloUDP
noenvolvereconhecimentos.
OProtocoloUDPutilizadoemlargaescalaporaplicaesquetransmitemdadosaovivo,em
temporeal.ComooprotocoloUDPnonecessitadeconfirmaooenviodedadosutilizandootende
asermaisrpido,oqueextremamentenecessrioemumatransmissoaovivo.

ProtocolosdaCamadadeInternet
IP(InternetProtocol)
O Protocolo IP essencialmente o nvel Internet. Os outros protocolos encontrados aqui
existemsimplesmenteparadarsuporteaele.OIPmantmaidiageralepoderiaserconsiderado
comooquetudov,poisestacientedetodasasredesinterligadas.Elepodefazerissoporque
todasasmquinasnaredepossuemumendereodesoftware,oulgico,chamadoendereoIP.O
ProtocoloIPexaminaoendereodecadapacote.Depois,usandoumatabeladerotas(routingtable),
eledecideparaondeumpacotedeveserenviadoemseguida,escolhendoomelhorcaminho.
EndereamentoIP
PorCarlosE.Morimoto
http://www.guiadohardware.net
13.11.2001

DentrodeumaredeTCP/IP,cadamicrorecebeumendereoIPnicoqueoidentificanarede.
UmendereoIPcompostodeumaseqnciade32bits,divididosem4gruposde8bitscada.
Cadagrupode8bitsrecebeonomedeocteto.
Veja que 8 bits permitem 256 combinaes diferentes. Para facilitar a configurao dos
endereos,usamosentonmerosde0a255pararepresentarcadaocteto,formandoendereos
como220.45.100.222e131.175.34.7.Muitomaisfcildoqueficardecorandobinrios.
OendereoIPdivididoemduaspartes.Aprimeiraidentificaaredequalocomputadorest
conectado(necessrio,poisemumaredeTCP/IPpodemostervriasredesconectadasentresi,veja
ocasodaInternet)easegundaidentificaocomputador(chamadodehost)dentrodarede.
Obrigatoriamente,osprimeirosoctetos serviroparaidentificararedeeos ltimosserviro
paraidentificarocomputadoremsi.Comotemosapenas4octetos,estadivisolimitariabastanteo
nmero de endereos possveis. Se fosse reservado apenas o primeiro octeto do endereo por
exemplo,teramosumgrandenmerodehosts,masemcompensaopoderamosterapenas256
subredes. Mesmo se reservssemos dois octetos para a identificao da rede e dois para a
identificaodohost,osendereospossveisseriaminsuficientes.

107

Para permitir uma gama maior de endereos, os desenvolvedores do TPC/IP dividiram o


endereamentoIPemcincoclasses,denominadasA,B,C,D,eE,sendoqueasclassesDeEesto
reservadasparaexpansesfuturas.Cadaclassereservaum nmerodiferentedeoctetos parao
endereamentodarede:
Na classe A, apenas o primeiro octeto identifica a rede, na classe B so usados os dois
primeirosoctetosenaclasseCtemosostrsprimeirosoctetosreservadosparaaredeeapenaso
ltimoreservadoparaaidentificaodoshosts.
Oquediferenciaumaclassedeendereosdaoutra,ovalordoprimeiroocteto.Seforum
nmero entre1 e 126(como em 113.221.34.57) temos um endereo de classe A. Se o valor do
primeirooctetoforumnmeroentre128e191,entotemosumendereodeclasseB(comoem
167.27.135.203)e,finalmente,casooprimeirooctetosejaumnmeroentre192e223teremosum
endereodeclasseC:

Figura26

Figura27

AoimplantarumaredeTCP/IP,deveseranalisadaqualclassedeendereosmaisadequada,
baseandosenonmerodensdarede.ComumendereoclasseC,possvelenderearapenas
254nsderede;comumendereoBjpossvelenderearat65,534ns,sendopermitidosat
16,777,214nsusandoendereosclasseA.ClaroqueosendereosdeclasseCsomuitomais
comuns. Se voc alugar um backbone para conectar a rede de sua empresa Internet, muito
provavelmente ir receber um endereo IP classe C, como 203.107.171.x, onde 203.107.171 o

108

endereodesuarededentrodaInternet,eoxafaixade254endereosquevocpodeusarpara
identificarseushosts.VejaalgunsexemplosdeendereosTCP/IPvlidos:
ClasseA
ClasseB
ClasseC

105.216.56.185
134.65.108.207
222.45.198.205

45.210.173.98
189.218.43.100
196.45.32.145

124.186.45.190
156.23.219.45
218.23.108.45
Tabela7

89.42.140.202
167.45.208.99
212.23.187.98

34.76.104.205
131.22.209.198
220.209.198.56

Comovoc deveter notado,nemtodas as combinaes devalores sopermitidas.Alguns


nmeros so reservados e no podem ser usados em sua rede. Veja agora os endereos IPs
invlidos:
Endereo
0.xxx.xxx.xxx
127.xxx.xxx.xxx

255.xxx.xxx.xxx
xxx.255.255.255
xxx.xxx.255.255
xxx.xxx.xxx.255

xxx.0.0.0
xxx.xxx.0.0
xxx.xxx.xxx.0

Porqu
NenhumendereoIPpodecomearcomzero,poisoidentificadorderede0utilizadopara
indicarqueseestnamesmarede,achamadarotapadro.
NenhumendereoIPpodecomearcomonmero127,poisestenmeroreservadopara
testesinternos,ouseja,sodestinadosprpriamquinaqueenviouopacote.Seporexemplo
voctiverumservidordeSMTPeconfigurarseuprogramadeemailparausaroservidor
127.0.0.1eleacabarusandooprprioservidorinstaladomquina.
Nenhumidentificadorderedepodeser255enenhumidentificadordehostpodesercomposto
apenasdeendereos255,sejaqualforaclassedoendereo.Outrascombinaesso
permitidas,comoem65.34.255.197(numendereodeclasseA)ouem165.32.255.78(num
endereodeclasseB).Osendereosxxx.255.255.255,xxx.xxx.255.255exxx.xxx.xxx.255so
sinaisdebroadcastquesodestinadossimultneamentetodososcomputadoresdarede.
EstesendereossousadosporexemplonumaredeondeexisteumservidorDHCP,paraqueas
estaespossamreceberseusendereosIPcadavezqueseconectamrede.
Nenhumidentificadordehostpodesercompostoapenasdezeros,sejaqualforaclassedo
endereo.Comonoexemploanterior,sopermitidasoutrascombinaescomo69.89.0.129
(classeA)ou149.34.0.95(classeB)
NenhumendereodeclasseCpodeterminarcom0oucom255,poiscomojvimos,umhost
nopodeserrepresentadoapenasporvalores0ou255.
Tabela8

Se voc no pretender conectar sua rede Internet, voc pode utilizar qualquer faixa de
endereosIPvlidosetudoirfuncionarsemproblemas.Mas,apartirdomomentoemquevoc
resolverconectlosWebosendereosdasuaredepoderentraremconflitocomendereosj
usadosnaWeb.
Para resolver esteproblema, basta utilizar uma das faixas de endereos reservados. Estas
faixassoreservadasjustamenteaousoemredesinternas,porissonosoroteadasnaInternet.
As faixas de endereos reservados mais comuns so 10.x.x.x e 192.168.x.x, onde
respectivamente o 10 e o 192.168 so os endereos da rede e o endereo de host pode ser
configuradodaformaquedesejar.
VejaqueusarumadestasfaixasdeendereosreservadosnoimpedequeosPCsdasuarede
possamacessaraInternet,todospodemacessaratravsdeumservidorproxy.
Mscaradesubrede
AoconfiguraroprotocoloTPC/IP,sejaqualforosistemaoperacionalusado,almdoendereo
IPprecisoinformartambmoparmetrodamscaradesubrede,ousubnetmask.Aocontrrio
doendereoIP,queformadoporvaloresentre0e255,amscaradesubredeformadapor

109

apenasdoisvalores:0e255,comoem255.255.0.0ou255.0.0.0.ondeumvalor255indicaaparte
endereoIPreferenterede,eumvalor0indicaaparteendereoIPreferenteaohost.
AmscaraderedepadroacompanhaaclassedoendereoIP:numendereodeclasseA,a
mscaraser255.0.0.0,indicandoqueoprimeirooctetoserefereredeeostrsltimosaohost.
NumendereoclasseB,amscarapadroser255.255.0.0,ondeosdoisprimeirosoctetosreferem
seredeeosdoisltimosaohost,enumendereoclasseC,amscarapadroser255.255.255.0
ondeapenasoltimooctetorefereseaohost.
IP
98.158.201.128
158.208.189.45
208.183.34.89

Classe
A
B
C

Rede
98.
158.208.
208.183.34
Tabela9

Host
158.201.128
189.45
89

Mscara
255.0.0.0
255.255.0.0
255.255.255.0

Mas,afinal,paraqueservemasmscarasdesubredeento?Apesardasmscaraspadro
acompanharemaclassedoendereoIP,possvelmascararumendereoIP,mudandoasfaixas
doendereoqueserousadasparaendereararedeeohost.Otermomscaradesubrede
muitoapropriadonestecaso,poisamscarausadaapenasdentrodasubrede.
Vejaporexemplooendereo208.137.106.103.PorserumendereodeclasseC,suamscara
padroseria255.255.255.0,indicandoqueoltimooctetorefereseaohost,eosdemaisrede.
Porm, se mantivssemos o mesmo endereo, mas alterssemos a mscara para 255.255.0.0
apenas os dois primeiros octetos (208.137) continuariam representando a rede, enquanto o host
passariaaserrepresentadopelosdoisltimos(enoapenaspeloltimo).
IP
208.137.106.103
208.137.106.103
208.137.106.103

Mscara
Rede
255.255.255.0
208.137.106.
255.255.0.0
208.137.
255.0.0.0
208.
Tabela10

Host
103
106.103
137.106.103

Veja que 208.137.106.103 com mscara 255.255.255.0 diferente de 208.137.106.103 com


mscara255.255.0.0:enquantonoprimeirocasotemosohost103dentrodarede208.137.106,no
segundocasotemosohost106.103dentrodarede208.137.
Dentro de uma mesma subrede, todos os hosts devero ser configurados com a mesma
mscara de subrede, caso contrrio podero no conseguir comunicarse, pois pensaro estar
conectadosaredesdiferentes.Se,porexemplo,houverdoismicrosdentrodeumamesmasubrede,
configurados com os endereos 200.133.103.1 e 200.133.103.2 mas configurados com mscaras
diferentes, 255.255.255.0 para o primeiro e 255.255.0.0 para o segundo, teremos um erro de
configurao.
SubRedes
Em 1985, foi definido um procedimento padro de subrede, ou seja, diviso de um nico
nmeroderedeclasseA,BouC,empequenospedaos.Asubredefoiintroduzidapararesolver
alguns dos problemas que partes da Internet estavam comeando a sofrer com a hierarquia de

110

endereamentodedoisnveis,taiscomo:crescimentodastabelasderoteamento,anecessidadepor
partedosadministradoreslocaisdesolicitaroutrosnmerosderededaInternetantesdeinstalar
novasredes.
Estes problemas foram atacados adicionandose outro nvel na hierarquia da estrutura de
endereamentoIP.Destaforma,ohostnumberfoidivididoemduaspartes:nmerodesubredeeo
hostnumber.
O problema da expanso das tabelas de roteamento foi atacado assegurandose que a
estruturadesubrededeumaredenuncaservisvelforadestarede.ArotadaInternetparacada
subrededeumdadoendereoIPamesma,noimportandoemqualsubredeohostdedestino
est.Istosedporquetodasassubredesdeumdadonmeroderedeusamomesmoprefixode
redemascomdiferentesnmerosdesubrede.Osroteadoresdentrodeumaorganizaoprecisam
fazeradiferenciaoentreassubredes,masparaosroteadoresdefora(daInternet)todasessas
subredesestoagrupadasemumanicaentradanatabeladeroteamento.Estemtodopermiteao
administradorlocalumatotalliberdadeparaintroduzircomplexidadesuaredeprivadasemafetaro
tamanhodastabelasderoteamentodaInternet.
Umaoutravantagemdestemtododesubredeofatodequemudananasrotasdedentro
deumarede(subrede)noafetaastabelasderoteamentodaInternet,jqueosroteadoresda
Internetnotmconhecimentodecadaumadessassubredes.
RoteamentoIP
Para uma mquina ser capaz de encontrar outra atravs de uma rede, necessrio um
mecanismoquedescrevacomoirdeumaparaaoutra.Istochamadoroteamento.Umarotaum
pardefinidodeendereos:umdestinoeumgateway.Oparindicaquesevocestivertentando
alcanar este destino, deve se comunicar atravs deste gateway. Existem trs tipos de destinos:
mquinasindividuais,subredesepadro.Arotapadrousadasenenhumadasoutrasrotasfor
aplicvel.Vamosfalarumpoucomaissobrerotaspadromaistarde.Tambmexistemtrstiposde
gateways:mquinasindividuais,interfaces(tambmchamadasdeenlaces)eendereosfsicosde
hardwareEthernet(endereosMAC).
Roteamentooprocessopeloqualtantooshostsquantoosroteadoresescolhemumcaminho
em que os dados iro trafegar. Existem dois nveis de algoritmos de roteamento: IGP (Interior
GatewayProtocolqueinternorede)eoEGP(ExteriorGatewayProtocol).Cadaumdestesnveis
possuivriosprotocolos,comoRIP,IPXRIP,OSPF,BGP,EIGRPEGP,IGRPeCIDR.
Todosasrotasdeumdeterminadohostsosalvasemumatabelalocalamaquina,chamada
deTabeladeRotas,Nolinuxatabeladerotaspodeserexibidaatravsdocomandoroute.
ExemplodeumaTabeladeRotas:
Destination

Gateway

192.168.100.0

0.0.0.0

200.164.220.80

0.0.0.0

Genmask

255.255.255.25
2
255.255.255.24

Flags

Metric

Ref

Use

Iface

eth3

eth2
111

200.164.220.88

192.168.100.1

200.164.220.64

0.0.0.0

200.164.220.72

0.0.0.0

10.10.4.0
0.10.2.0
10.10.1.0
169.254.0.0
127.0.0.0
0.0.0.0

192.168.100.1
200.164.220.82
192.168.100.1
0.0.0.0
0.0.0.0
200.164.220.65

8
255.255.255.24
8
255.255.255.24
8
255.255.255.24
8
255.255.255.0
255.255.255.0
255.255.255.0
255.255.0.0
255.0.0.0
0.0.0.0

UG

eth3

eth0

eth1

UG
UG
UG
U
U
UG

0
0
0
0
0
0

0
0
0
0
0
0

0
0
0
0
0
0

eth3
eth2
eth3
eth3
lo
eth0

Tabela11

FlagsdoComandoroute
U

(routeisup)

(targetisahost)

(usegateway)

(reinstateroutefordynamicrouting)

(dynamicallyinstalledbydaemonorredirect)

(modifiedfromroutingdaemonorredirect)

(installedbyaddrconf)

(cacheentry)

(rejectroute)

RotasPadro
Quandoumsistemalocalprecisafazerumaconexoaumsistemaremoto,eleverificaatabela
deroteamentoparadeterminarseexisteumcaminhoconhecido.Seosistemaremotoestiverem
umadassubredesquejsabemoscomoalcanar(rotasClonadas),entoosistemaverificasepode
seconectarporaquelainterface.Sefalharemtodososcaminhosconhecidos,osistematemuma
ltimaopo:arotapadro.Estarotaumtipoespecialrotadesada,ougateway(normalmentea
nicapresentenosistema),esempreindicadaporum c nocampoflags.Parasistemasemuma
redelocal,estegatewayconfiguradoparaqualquermquinaquetenhaumaconexodiretaparao
mundoexterior(sejaviaenlacePPP,DSL,modemacabo,T1ououtrainterfacederede).Sevoc
estiverconfigurandoarotapadroemumamquinaqueestejafuncionandocomoogatewayparao
mundoexterior,entoarotapadroseramquinagatewaylocalizadanoseuProvedordeServios
Internet(ISP).
Algoritmoderoteamentobaseadonamaiorcoincidncia.Todososroteadoresimplementamum
algoritmodedirecionamentobaseadonamaiorcoincidncia(longestmatch).

112

OprotocoloARP
ComodescobrirqueendereoEthernetusarquandovocquerconversarcomumdeterminado
endereo Internet? Para solucionar esta questo existe um protocolo especfico, chamado ARP
(adrressresolutionprotocol).(NotequeoARPnoumprotocoloIP,isto,osdatagramasARPno
temcabealhosIP).
Suponhaquevocestejanosistema128.6.4.194equeiraconectarosistema128.6.4.7.Seu
sistema primeiro ir verificar que 128.6.4.7 est na mesma rede, ento ele pode conversar
diretamenteviaEthernet.Entoeleirprocurar128.6.4.7emsuatabelaARP,paraverseoseu
endereo Ethernet j conhecido. Caso seja conhecido, o sistema ir adicionar um cabealho
Ethernet,eenviaropacote.
MassuponhaqueestesistemanoestejanatabelaARP.Nohcomoenviaropacote,porque
voc precisa do endereo Ethernet. Ento o seu sistema usa o protocolo ARP para enviar uma
requisio ARP. Essencialmente uma requisio ARP diz "Eu preciso o endereo Ethernet para
128.6.4.7".
TodoosistemaescutarequisiesARP.
QuandoumsistemavumarequisioARPparaelemesmo,elerequisitadoaresponder.
Ento 128.6.4.7 verarequisioerespondercomumarespostaARPdizendocomoresultado
"128.6.4.78:0:20:1:56:34".(LembresequeendereosEthernetsode48bits,oqueso6octetos.
Endereos Ethernet so convencionalmente apresentados em hexadecimal, usando a pontuo
mostradaacima.)
SeusistemairsalvarestainformaoemsuatabelaARP,entoosfuturospacotesparaesse
mesmoendereopoderoirdiretamente.MuitossistemastratamatabelaARPcomoumacache,e
limpamsuasentradasseestasnoforemusadasemumdeterminadoperododetempo.
Note que as requisies ARP devem ser enviadas como "broadcasts". No h como uma
requisioARPserenviadadiretamenteaosistemacorreto.Afinal,arazopelaqualarequisio
ARPestsendoenviadaquevocnoconheceoendereoEthernet.
Ento um endereo Ethernet para todas as mquinas usado, isto ff:ff:ff:ff:ff:ff. Por
conveno,todasasmquinasEthernetprestamatenonospacotescomesteendereo.Ento
cadamquinaverificasearequisioparaoseuprprioendereo.Sefor,elareponde.Seno,ela
simplesmenteaignora.(AlgunshostsusamrequisiesARPparaatualizarseuconhecimentosobre
outroshostsdarede,mesmoquearequisionosejaparaeles.)Notequepacotescujoendereo
IPindica broadcast (ex:255.255.255.255ou128.6.5.255)tambmsoenviadoscomumendereo
Ethernetdebroadcast.
OprotocoloICMP
OICMP(InternetControlMessageProtocol)atuanonvelderedeeusadopeloprotocoloIP
para diversos servios diferentes. O ICMP um protocolo de gerenciamento e um provedor de

113

serviosdemensagensparaoProtocoloIP,suasmensagenssotransportadascomodatagramaIP.
AbaixosegueumatabelacomostiposcomunsmaisdepacotesICMP:
Nmero
0
3
5
8

Nome
echoreply
destinationunreachable
redirect
echorequestpingtimeexceeded
Tabela12

Requeridopor
Ping
QualquertrfegoTCP/UDP
Problemasnoroteamentodepacotes
Traceroute

extremamenteerradobloquearcompletamenteotrafegoICMPquecirculaemsuarede,pois
comofoivistooICMPexercediversasfunesnarede.OtrafegoICMPdeveserLIMITADOpara
evitar ataques usando este protocolo, como por exemplo, o Ping da Morte, porem sob hiptese
algumadeveserbloqueado.

114

Exerccios
1)OUDPumprotocoloquegaranteaentregadospacotes,semelhanteaoTCP/IP?
R:
2)QuaisascamadasdomodeloOSIedomodeloTCP/IP?
R:
3)CitealgunsprotocolosdacamadadeaplicaodomodeloTCP/IP.
R:
Anotaes
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________

115

CAPTULOXVICONFIGURANDOAREDENOLINUX
Ocomandoifconfig
Ocomando"ifconfig"serveparaconfigurararede,bemcomovercomoelaestconfigurada.A
fimdefacilitaravidadousurio,vriasdistribuiesLinux,permitemaconfiguraodaredeatravs
descriptscominterfacegrficaquevoacessaroifconfigdeformatransparenteaousurio.
Apsconfiguradafisicamente,ainterfaceprecisareceberumendereoIPparaseridentificada
naredeesecomunicarcomoutroscomputadores,almdeoutrosparmetroscomooendereode
broadcasteamscaraderede.Ocomandousadoparafazerissooifconfig(interfaceconfigure).
ParaconfigurarainterfacederedeEthernet(eth0)comoendereo192.168.1.1,mscaraderede
255.255.255.0,podemosusarocomando:
ifconfigeth0192.168.1.1netmask255.255.255.0up
Ocomandoacimaativaainterfacederede.Apalavrauppodeseromitida,poisaativaoda
interfacederedeopadro.Paradesativaramesmainterfacederede,bastausarusarocomando:
ifconfigeth0down
Digitando ifconfig so mostradastodas as interfaces ativas no momento, pacotes enviados,
recebidosecolisesdedatagramas.Paramostraraconfiguraosomentedainterfaceeth0,useo
comando:ifconfigeth0

Ocomandoroute
NoLinuxocomandoutilizadoparamanipularmanualmenteatabeladerotasdamaquinao
route.Comelepodemosadicionareremovertodasasrotasdatabela.
Exemplodocomandorouteadicionandoumarota:
routeaddnet192.168.2.2/24gw192.168.10.1
Exemplodocomandorouteadicionandoarotapadro:
routeadddefaultgw192.168.10.1
Exemplodocomandorouteremovendoumarota:
routedeldefaultgw192.168.10.1

Oarquivo/etc/resolv.conf
noarquivoresolv.conf,dentrododiretrio/etcquesodefinidososservidoresDNSqueo
sistemairautilizar.Oservidordeveprecederdapalavranameserver.
Exemplo:nameserver192.168.1.20

116

Oarquivo/etc/rc.d/rc.inet1.conf
noarquivo/etc/rc.d/rc.inet1.confquesodefinidasasnumeraesIPdecadainterfacedo
sistema, tambm definido nesse arquivo o Gateway padro do sistema e a forma como cada
interfacedeveobterseuendereoIP(DHCPouEsttico).

Exerccios
1)ComopodemosadicionarumarotapadronoLinux,casooroteadorestiverconfigurado
comoIP192.168.1.1?
R:
2)Qualarquivodeveserfeitaainserodo(s)endereo(s)do(s)servidor(es)DNSdarede?
R:
3)Usandooifconfig,comoconfigurarparaqueaplacaderedeconhecidaporeth0tenhao
IP192.168.1.110emumarededeclasseC?
R:
Anotaes
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________

117

__________________________________________________________________________

GABARITODOSEXERCCIOS
CAPTULOII
1)fdisk
2)OdobrodamemriaRAM.
3)AssumindoqueoHDestejalocalizadofisicamentecomo"master"naIDE1daplacame,digita
sefdisk/dev/hdaparaacionarofdisk.Op(visualizaaspartiesexistentes.Depoissedigita"d
NUMERO"(deletaonmerodapartioespecificada).Apsadeleodetodasasparties
existentes,devemsercriadasasduaspartiesnecessrias(LinuxeSWAP)paraainstalaodo
Linux.Paracriarapartio,digitase:n(new),p(primary),escolheseocilindroqueapartioestar
localizadafisicamentenoHD(apenasteclaseenter)eespecificaseotamanhodapartio.Depois
decriadasasduasparties,devesequetrocarosistemadapartioSWAP,paraonmero82
(cdigodotipo"LinuxSWAP"nofdisk).Feitastodasasalteraesnecessrias,teclase"w"para
gravareconcluirautilizaodofdisk.

CAPTULOIII
1)shutdownrnow,init6,ctrl+alt+del,reboot
2)Deveserenomearoarquivocolocandoum'.'(ponto)nafrentedonome.Exemplo:"mvarquivo
.arquivo".
3)OdiretrioraznoLinuxo"/".

CAPTULOIV
1)a)mkdir/tmp/teste;b)mv/tmp/teste/tmp/meudiretorio;c)touch/tmp/meudiretorio/meuarquivo.
2)find/nameDIRCOLORS
3)mounttiso9660/dev/cdrom/mnt/cdrom

CAPTULOV
1)Informaessobreosusuriosdosistema,como:login,diretriohome,shell,nome,etc.
2)/bin,/boot,/dev/,/etc,/home,/usr,/var,/mnt,/tmp,/sbin,/bin,/root,/proc,/lib,etc.

CAPTULOVI
1)Digitase/senhanomodocomandodo"vi".Paralocalizarasprximasocorrncias,digitase"n"
(next).
2):%s:senha:password

118

3):wq

CAPTULOVII
1)/etc/lilo.conf
2)Devesedigitar'lilo'para'reinstalar'ogerenciadorseguindoasconfiguraes,porpadro,do
/etc/lilo.conf.

CAPTULOVIII
1)Ashellpadroabash.Paraalterar,digitasechsheocaminhodanovashell,nocaso:/bin/csh.
2)/etc/profile
3)Variveislocaissovlidasapenasparausuriocorrente.Asglobaissovlidasparatodosos
usurios.
4)d).

CAPTULOIX
1)echo"oi">>/tmp/teste.
2)ls/etc|grep"cron"
3)find/nameDIRCOLORS>/tmp/resultadofind&

CAPTULOX
1)tarzcvfetc.tgz/etcoutarbcvfetc.tbz2/etc
2)tarbxvfteste.tbz2

CAPTULOXI
1)groudeldesenv;groupadddesenvolvedores
2)mkdir/home/linuxfi;adduserlinuxfigdesenvolvedoresd/home/linuxfi

CAPTULOXII
1)a)chmod770arquivob)chmod777arquivo
2)Leitura,escrita,execuo.

CAPTULOXIII
1)kill91048
2)renice

119

3)b)

CAPTULOXIV
1)crontabe
2)300***root/root/backup.sh
3)atfarquivo.txtnow+35minutes

CAPTULOXV
1)No,oprotocoloUDPnogaranteaentregadospacotes.
2)OSI:fsica,enlace,rede,transporte,sesso,apresentaoeaplicao.TCP/IP:interface/rede,
internet,transporte,aplicao.
3)Ftp,telnet,smtp,dns,etc.

CAPTULOXVI
1)routeadddefaultgw192.168.1.1
2)/etc/resolv.conf
3)ifconfigeth0192.168.1.110netmask255.255.255.0

120

MDULOIIADMINISTRAODESERVIDORES

CAPTULOIINTRODUOAOSSH
Oservio de ssh permiterealizaroacesso remotoaoconsoledesuamquina,em outras
palavras,vocpoderacessarsuamquinacomoseestivesseconectadolocalmenteaoseuconsole
(substituindoorloginersh).Aprincipaldiferenacomrelaoaoserviotelnetpadro,rloginersh
que toda a comunicao entre cliente/servidor feita de forma criptografada usando chaves
pblicas/privadasRSAparacriptografiagarantindoumatransfernciaseguradedados.
AvelocidadedoconsoleremotoconectadoviaInternetexcelente(melhorqueaobtidapelo
telneteserviosr*)dandoaimpressodeumaconexoemtemporeal(mesmoemlinksdiscadosde
9.600 KB/s), a compactao dos dados tambm pode ser ativada para elevar ainda mais a
velocidade entre clienteservidor ssh. Alm do servio de acesso remoto, o scp possibilita a
transferncia/receposeguradearquivos(substituindoorcp).
Emconexessemcriptografia(rsh,rlogin)osdadostrafegamdeformadesprotegidaecaso
exista algum sniffer instalado em sua rota com a mquina destino, todo o que fizer poder ser
capturado(incluindosenhas).

1.1CARACTERSTICASDOSSH
Abaixoasprincipaiscaractersticasdoserviossh:
Conexodedadoscriptografadaentrecliente/servidor.
Cpiadearquivosusandoconexocriptografada.
Suporteaftpcriptografado(sftp).
Suporteacompactaodedadosentrecliente/servidor.
Controledeacessodasinterfacesservidaspeloservidorssh.
Suporteacontroledeacessotcpwrappers.
Autenticaousandoumpardechavespblica/privadaRSAouDSA.
Algoritmodecriptografialivredepatentes.
SuporteaPAM.
SuporteacaracteresANSI(coresecdigosdeescapeespeciaisnoconsole).

ArquivoscontidosnoSSH
sshClientessh(consoleremoto).

121

sloginLinksimblicoparaoprogramassh.
sshd2Servidordeshellsegurossh.
scpProgramaparatransfernciadearquivosentrecliente/servidor
sshkeygenGerachavesdeautenticaoparaossh
sftpClienteftpcomsuporteacomunicaosegura.
sftpserverServidorftpcomsuporteacomunicaosegura.
sshaddAdicionachavesdeautenticaoDSAouRSAaoprogramadeautenticao.
sshagent Agente de autenticao, sua funo armazenar a chave privada para

autenticaoviachavepblica(DSAouRSA).
sshkeyscan Scaneia por chaves pblicas de autenticao de hosts especificados. O

principalobjetivoajudarnaconstruodoarquivolocalknow_hosts.
Arquivosdeconfigurao
/etc/ssh2/sshd2_configArquivodeconfiguraodoservidorssh.
/etc/ssh2/ssh2_configArquivodeconfiguraodoclientessh.
~/.ssh2/configArquivodeconfiguraopessoaldoclientessh.

RequerimentosdeHardware
recomendadonomnimo6MBdememriaRAMparaaexecuodoserviosshmaiso
kernel doLinux. Estelimite deveser redimensionadopara servidores deacesso dedicado, uma
quantidadede64MBdeveserconfortvelparacentenasdeusuriosconectadossimultaneamente(o
queraramenteacontece).

1.2USANDOAPLICATIVOSCLIENTES
Estaseoexplicarousodosutilitriossshescp.

Ocomandossh
Estaaferramentaclienteusadaparaseesdeconsoleremotos.Oarquivodeconfigurao
deusurios~/.ssh/configeoarquivoglobal/etc/ssh/ssh_config.Paraconectaraumservidorssh
remoto:
sshlusuarioip/nome_do_servidor_ssh
Casoonomedousuriosejaomitido,seuloginatualdosistemaserusado.Ousodaopo
Crecomendadoparaativar omododecompactaodosdados (tilemconexes lentas). A
opolusuriopodeserusadaparaalteraraidentificaodeusurio(quandonousadaessa
opo, o login local usado como nome de usurio remoto). Uma porta alternativa pode ser
especificadausandoaopopporta(a22usadaporpadro).

122

Naprimeiraconexo,achavepblicadoservidorremotosergravadaem~/.ssh2/hostkeyse
verificadaacadaconexocomochecagemdeseguranaparasecertificarqueoservidornofoi
alvodequalquerataqueoumodificaonoautorizadadaschaves.
Exemplos:
#Conectaseaoservidorremotousandoologindousurioatual
sshftp.sshserver.org
#Conectaseaoservidorremotousandoologinjohn
sshljohnftp.sshserver.org
Ocomandoscp
Permiteacpiadearquivosentreocliente/servidorssh.Asintaxeusadaporestecomandoa
seguinte:
scp[origem][destino]
Os parmetros de origem e destino so semelhantes ao do comando cp, mas possui um
formatoespecialquandoespecificadoumamquinaremota:
UmcaminhopadroQuandoforespecificadoumarquivolocal.

Porexemplo:/usr/src/arquivo.tar.gz.
usuario@host_remoto:/diretrio/arquivo Quando desejar copiar o arquivo de/para um

servidorremotousandosuacontadeusurio.Porexemplo:gleydson@ftp.intranet.org:~/arqs.
A opo C recomendvel para aumentar a taxa de transferncia de dados usando
compactao.Casoaportaremotadoservidorsshd2sejadiferentede22,aopoPportadever
ser especificada (a opo p usada para preservar permisses/data/horas dos arquivos
transferidos).
Exemplos:
#Copiarumarquivolocalchamadooi.txtparameudiretriopessoalemftp.sshserver.org
scpCscript.shgleydson@ftp.sshserver.org:~/oi.txt
#Copiarumarquivodeumservidorremotoparaolocal:
scpCgleydson@ftp.sshserver.org:~/oi.txtoi.txt
_______________________________________________________________________________
DICA:ClientesshparaWindows.OputtyumclientesshWin32quepossuisuporteaosprotocolosverso1e
2 do ssh, aceita compactao alm de funcionar tambm como cliente telnet. O tamanho do arquivo
pequeno,apenasumexecutvelerequermenosde300KBdeespaoemdisco.Elepodeserbaixadode
http://www.chiark.greenend.org.uk/~sgtatham/putty/.Muitotilparaquandovocestiveremalgumlugaronde
stenhacomputadorescomwindowsenecessiteacessaralgumservidorremotamente.

1.3OSERVIDORSSH
123

sshd, sshd2: Este o daemon de controle da conexo encriptada via protocolo ssh,
transfernciadearquivoseshellinterativo.
Seuarquivodeconfiguraoprincipal/etc/ssh2/sshd2_config.
OBS1: recomendvel que o arquivo /etc/ssh2/sshd2_config seja lido somente pelo
dono/grupo,porconterdetalhesdeacessodeusurios,gruposeintervaloentreageraodechave
deseo.
OBS2:Seestiverocorrendofalhasnoacessoaoservidorssh,verifiqueas permisses dos
arquivos/etc/hosts.allowe/etc/hosts.deny(onomedoserviosshd2). Mesmooperandocomo
daemon,oservidorutilizaestesarquivosparafazerumcontroledeacessoadicional.

1.4CONTROLEDEACESSONOSSH
definidopelasopesListenAddress,AllowUsers,DenyUsers,AllowGroups,DenyGroupse
PermitRootLogindoarquivodeconfiguraosshd_configeviatcpwrappers(arquivoshosts.allowe
hosts.deny).

1.5INSTALANDOOOPENSSH
SigaosprocedimentosabaixoparainstalaroservidorSSH:
1AntesdecomearainstalaoverifiquesenoexisteumaversodoSSHjrodandono
seu servidor, caso exista no esquea de parar o servio e tirar um backup antes de iniciar a
instalaodanovaversodoSSH.
2Baixeoarquivosshverso.tar.gznoservidorFTPinstaladonamquinadeIP192.168.1.100.
Login:linuxfiSenha:linuxfi
3Crieumdiretriochamado/root/installecopieparalosshverso.tar.gz.
4Descompacteoarquivocomocomandotarzxvfsshverso.tar.gz
5 Entre nodiretrio sshverso e execute o comando, queverifica se a mquinatem os
requisitosnecessriosparainstalarossh,./configure
6Apsoterminodoconfiguredigiteocomandomake,queseguindoorientaodoarquivo
MakeFilevaicompilaroSSHnasuamquina.
7 Aps o termine do make digite o comando make install, que tornara apto o SSH para
qualquerusuriodosistema.
8Parainiciaronovosshdigiteocomando/usr/local/sbin/sshd2
Iniciandooservidor/reiniciando/recarregandoaconfigurao

124

Porpadro,oarquivoquecontrolaofuncionamentododaemondossho/etc/rc.d/rc.sshd.
Pormestearquivoestpreparadoparautilizaraversodosshquejseencontravainstaladono
sistema, necessrio realizar algumas alteraes para que este arquivo possa gerenciar
corretamenteanovaversodoSSH.

125

CAPTULOIIFTP
O File Transfer Protocol, protocolo de transferncia de arquivo, um dos protocolos mais
utilizados para transferncia de arquivos entre computadores, principalmente para atualizao de
sitesemprovedoresquefazemhospedagememservidorWeb.
OprojetodoFTPteveincio1971eapsalgumasmudanasemelhorias,entrouemfasede
testesemalgumasredesmilitareseemuniversidadesem1973.OintuitodoFTPunicamenteode
proverumaformadetransfernciadearquivos,sejanaInternetouemumaredelocal.Porpadro,o
acessorealizadoatravsdaporta21doprotocoloTCP.
Alm disso, servidores FTP podem ser utilizados para o envio de grandes arquivosde um
ponto a outro, sendo a melhor alternativa se comparado a outros mtodos de transferncia de
arquivos.OservidorFTPpossibilitaquevriosusuriossejamconfiguradosnamesmamquina,de
formaquecadaumpossuaseuprpriodiretrioparaarmazenamentodearquivos,compermisses
especficaspara cadaum deles. Tambmpossvel criar umareasem senha, ondeousurio
efetuaumacessoconhecidocomoannimo,epassaateracessoatodoocontedodestarea,o
quebastanteinteressanteparadownloaddesoftwaresououtrostiposdearquivos.
Ossoftwares servidores de FTP mais recomendados e mais utilizados so: ProFTPD, Wu
FTPD,VsFTPD(queapesardesimples,vemsedestacandopelaseguranaqueoferece).

2.1FTPPASSIVOEATIVO
Existem dois modos para transferncia de arquivos; o modo ativo e o modo passivo.
NavegadoresWebnormalmenteusamomodopassivo,masprogramasFTPdelinhadecomando
normalmenteusamomodoativo.Adiferenaentreosdoismodoscaracterizadapelamaneirade
comoaconexoentreoclienteeoservidorestabelecida.
Nomodoativo,quandooclientenegociaaconexo,eleescolheautomaticamenteumaporta
(quedeveseracimadaporta1024)einformaaaoservidorparaqueaconexosejaestabelecida.O
problemanestemododefuncionamentodoFTPquenopossvelparaoservidorsaberonmero
daportaqueoclientesolicitarparaoenviodosdados.Oadministradoracabaporterquedeixar
todasasportasTCPabertasno firewall,oquepodesetornarumabrechanaseguranadarede.
Umamaneiradecontornarissoabrirapenasasportasacimade1024,masaindaassimocenrio
acabasetornandopropcioatentativasdeataquesmaliciosos.
Jnomodopassivo,duranteanegociaooservidorquemescolheumaportaaleatria,e
informaaaocliente,paraquesejaestabelecidaaconexo,garantindo,assim,umaportaseguraque
podesersempremonitoradapeloadministrador.

126

2.2OCLIENTEFTP
Permiteatransfernciadearquivosdocomputadorremoto/localeviceversa.Ofiletransferprotocol
osistemadetransmissodearquivosmaisusadonaInternet.requeridaaautenticaodousurio
para que seja permitida a conexo. Muitos servidores ftp disponibilizam acesso annimo aos
usurios,comacessorestrito.
Umavezconectadoaumservidor ftp,vocpodeusaralgunsdoscomandosdo GNU/Linux para
operlo.

ftp[ip/dns]
AbaixoalgunsdoscomandosmaisusadosnoFTP:
lsListaarquivosdodiretrioatual.
cd[diretrio]Entraemumdiretrio.
get[arquivo]Copiaumarquivodoservidorftpparaocomputadorlocal.Oarquivogravado,por
padro,nodiretrioondeoprogramaftpfoiexecutado.
hash[on/off] Porpadroestaopoestdesligada.Quandoligada,fazcomqueocaracter"#"
sejaimpressonatelaindicandooprogressododownload.
mget [arquivos] Semelhante ao get, mas pode copiar diversos arquivos e permite o uso de
curingas.
send[arquivo]EnviaumarquivoparaodiretrioatualdoservidorFTP(vocprecisadeumaconta
comacessoagravaoparafazeristo).
prompt[on/off]Ativaoudesativaaperguntaparaacpiadearquivo.Seestivercomooffassume
simparaqualquerpergunta.
binmudaomododetransfernciaparabinrio.
asciimudaomododetransfernciaparaascii.
Exemplo:ftpftp.linuxfi.com.br.

2.3PROFTP
OProFTPDumaplicativoparaserviodeFTPqueestemdesenvolvimentohvriosanose
seu principal mantenedor John Morrissey. Alm disso, existe uma grande equipe por trs do
ProFTPD,oquegaranteumagrandeestabilidadeeconfiana.
Osmanuaissobemcompletos.Possuicomoarquivodeconfiguraoo/etc/proftp.conf.Est
disponvel para muitas plataformas Unix: AIX, BSD/OS, DG/UX, Digital Unix, FreeBSD*, HP/UX,
IRIX*, Linux*, Mac OS/X, NetBSD, OpenBSD, SCO, Solaris e SunOS. Os itens marcados com *
mostramondeoProFTPDjfoitestado.
AlgumascaractersticasdoProFTPD:
Ofereceumaltonveldeseguranaerapidez.
Asconfiguraessosimples,comdiretivascompletamenteintuitivas.

127

Feitopararodartantoemstandaloneoudependentedoinetd.conf

2.4INSTALANDOOPROFTP
SigaosprocedimentosabaixoparainstalaroservidorProFTP:
1AntesdecomearainstalaoverifiquesenoexisteumaversodoProFTPjrodandonoseu
servidor,casoexistapareoservioefaaobackupantesdeiniciarainstalao.
2Baixeoarquivoproftpdverso.tar.gznoservidorFTPinstaladonamaquinadeIP192.168.1.100.
Login:linuxfiSenha:linuxfi
3Crieumdiretriochamado/root/installecopieparaloproftpdverso.tar.gz.
4Descompacteoarquivocomocomandotarzxvfproftpdverso.tar.gz
5 Entre no diretrio proftpdverso e execute o comando, que verifica se a mquina tem os
requisitosnecessriosparainstalaroproftp:./configure
6 Aps o termino do configure digite o comando make , que seguindo orientao do arquivo
MakeFilevaicompilaroproftpnasuamaquina.
7Apsoterminodomakedigiteocomandomakeinstall,quetornaraaptooproftpparaqualquer
usuriodosistema.
8Parainiciaronovoservidorftpddigiteocomando/usr/local/sbin/proftpd

2.5CONFIGURANDOOPROFTPD
#ConfiguraodoProFTPD
ServerName"ServidorftpdaLinuxFi"
ServerTypestandalone
DefaultServeron
ServerAdminadministrador@linuxfi.com.br
Port21
#paraquenovosarquivosoudiretriosnotenhampermisses
incorretas
Umask022
#NmeromximodeprocessosnoservidorparaprevinirataquesDoS
(standalone)
MaxInstances30
#Usurioegrupoqueirorodaroservio
Usernobody
Groupnobody

128

#Paraprendercadausurioemseuhome
#DefaultRoot~
#Parapermitirqueosarquivossejamsobrescritos.
AllowOverwriteon
#Configuraobsicadeumacessoconvidado(usurioanonymous).Para
bloquearacesso
#dousurioanonymous,bastadeletartodasaslinhasdaseo
<Anonymous>.
<Anonymous~ftp>
Userftp
Groupftp
#Limitemximodeclienteslogadoscomoanonymous.
MaxClients10
#Paramostrarumamensagemdebemvindowelcome.msgeo.message.
DisplayLoginwelcome.msg
DisplayFirstChdir.message
#Bloqueiaapermissodeescritaemqualquerdiretriodousurio
anonymous
<LimitWRITE>
DenyAll
</Limit>
</Anonymous>
Uma vez configurado corretamente, ao iniciar o servio FTP, ele estar apto a receber
conexes.OProFTPDutilizaporpadroo/etc/passwdcomobasedeautenticaodosusurios,ou
seja,osusurioscriadosnosistemaautomaticamenteteroacessoaosseusdiretriospessoaisvia
FTP.

129

CAPTULOIIIDNSDOMAINNAMESYSTEM
ComocrescimentodaInternetotrabalhoapenascomendereosIPpassouasetornaruma
tarefardua,poisexigiaqueosusuriosmemorizassemumaenormequantidadedeendereosIP.A
construodeumsistemaondeoacessofossefeitoatravsdenomesficariamaisfcilparaonosso
trabalho.Inicialmenteotrabalhoerafeitoatravsdamanutenodoarquivohosts,atravsdeSRIs
NetworkInformationCenter.
Em1984PaulMockapetrisficouresponsvelpelodesenhodaarquiteturadoservidor.RFCs
882e883ServidoresDNSsosistemasdistribudos,ondecadasegmentoresponsvel(possui
autoridade)sobreossistemaslocalizadosabaixo.
ISC/BINDBerkleyInternetNameDomain

3.1MODOSDEOPERAO
a)Query
SofeitasatravsdoprotocoloUDPedirecionadasaporta53

b)Trocadeinformao(zonas,etc)
SofeitasatravsdoprotocoloTCPedirecionadasaporta53

3.2CARACTERSTICAS
ImplementaodeumservidorDNSrealizadainicialmenteporestudantesdegraduaoda
UniversidadedeBerkeley
Amaisutilizadanomundo
Novasversesecorreesdebugsreportadossaemconstantemente
OpenSource
PortadoparaquasetodasasdistribuiesdeUNIX
Arquivosdelogsparametrizveis,ficandoporpadroem/var/log/messages
Iniciadonormalmentenainicializaodamaquina.
Maisinformaespodemserobtidasnositehttp://www.isc.org/products/BIND/ounalistade
discussohttp://www.isc.org/services/public/lists/bindlists.html.

130

3.3INSTALANDOOBIND/NAMED
SigaosprocedimentosabaixoparainstalaroservidorDNS:
1AntesdecomearainstalaoverifiquesenoexisteumaversodoNamedjrodandono
seuservidor,casoexistapareoservioefaaobackupantesdeiniciarainstalao.
2 Baixe o arquivo bindverso.tar.gz no servidor FTP instalado na mquina de IP
192.168.1.100.Login:linuxfiSenha:linuxfi
3Crieumdiretriochamado/root/installecopieparalobindverso.tar.gz.
4Descompacteoarquivocomocomandotarzxvfbindverso.tar.gz
5Entrenodiretriobindversoeexecuteocomando,queverificaseamquinatemos
requisitosnecessriosparainstalaronamed:./configure
6Apsoterminodoconfiguredigiteocomandomake,queseguindoorientaodoarquivo
MakeFilevaicompilaronamednasuamquina.
7Apsoterminodomakedigiteocomandomakeinstall,quetornaraaptoonamedpara
qualquerusuriodosistema.
8Parainiciaronovoservidorftpddigiteocomando/usr/local/sbin/named

3.4CONFIGURAO
ArquivodeconfiguraodoBind/Named
/etc/named.conf
#Informaodiretrioondeosarquivosreferentesszonasconfiguradasdevemestar
options{
directory"/var/named";
}
#Arquivodecache.AjudaaoDNS.
zone"."{
typehint;
file"named.ca";
};
#Criaazonalinuxfi.com.breasinformaessobreamesmaestlocalizadoemlinuxfi.zone.
zonelinuxfi.com.br"{

131

typemaster;
filelinuxfi.zone";
}
#ArquivocomasconfiguraesdoreversodoDNS.
zoneXXX.YYY.ZZZ.inaddr.arpa"{
typemaster;
filelinuxfi.rev";
};
#zona local.Nonecessrio,porm podercausardanos naresoluodoendereo de
loopback.
zone"0.0.127.inaddr.arpa"{
typemaster;
file"localhost";
};

TiposderegistroDNS
SOA:registrodeautoridade
NS:listasosservidoresdenomeparaumadeterminadazona
A:mapeianomeparaendereo
PTR:mapeiaendereoparanome
CNAME:nomecannico(apelido)
SOA(StartofAuthority)registro
CadazonaprecisadeumregistrodotipoSOAparaindicarquemtemautoridadesobreo
domnioemquesto.
OsresgistrosdotipoSOAsonecessriosparatodososarquivosquerepresentamzonase
zonasreversas

Arquivodezonalinuxfi.zone
@
(

INSOAlinuxfi.com.br.root.linuxfi.com.br.

2005071502;serial
10800;refreshaps3h

132

3600;retryaps1h
640800;expireaps1semana
86400;default_ttlmnimode1dia
)
@

INNSns.linuxfi.com.br.

INNSns2.linuxfi.com.br.

INMX 10

mail.linuxfi.com.br.

ns

INA

192.168.1.5

router

INA

192.168.1.1

mail

INA

192.168.1.3

ns2

INCNAME

ns

Arquivodereversolinuxfi.rev
@

IN

SOA

linuxfi.com.br.root.linuxfi.com.br.(

2005071502;serial
10800;refresh
3600;retry
640800;expire
86400;default_ttl
)
@

INNSns.linuxfi.com.br.

INNSns2.linuxfi.com.br.

IN

PTR

router.linuxfi.com.br.

IN

PTR

mail.linuxfi.com.br.

IN

PTR www.linuxfi.com.br.

Arquivodazonalocallocalhost
@

INSOAlinuxfi.com.br.root.linuxfi.com.br.(

2005071502;serial
10800;refresh
3600;retry
640800;expire

133

86400;default_ttl
)@
@

INNSns.linuxfi.com.br.

INNSns2.linuxfi.com.br.

1INPTRlocalhost.
Arquivodecache
OarquivodecachetemasinformaesdosRootNameServers,necessriosparainiciaro
cachededomniodosservidoresdenomesdaInternet.EssearquivodisponibilizadopelaInterNIC
serviosderegistro,porumftpannimoporarquivochamado:/domain/named.root

3.5INICIANDOOBIND
/usr/sbin/named:geralmenteoprogramadoservidordenomesdobindnamedeseencontra
nodiretrio/usr/sbin
Observarqueoservidorfuncionacompermissesdoadministradordosistema(root)

3.6COMANDONSLOOKUP
ParatestareresolverosproblemasnaconfiguraodeumservidorDNS,independentedo
fabricante.
RealizaqueriesaservidoresDNS
Possuimodosinterativoenointerativo
Exemplo:
$nslookup
DefaultServer:ns.linuxfi.com.br
Address:192.168.1.5
$nslookupmail.linuxfi.com.br
Server:ns.linuxfi.com.br
Address:192.168.1.3

3.7LOGS
Default/var/log/messages

134

Grandefontedeinformaessobreocorretofuncionamentodoservidor.
Tambmservecomomecanismodeauditoriadoservidor

3.8IMPLEMENTANDOSEGURANA
Restringindotransfernciasdezona
#Utilizaratagallowtransfer
Options{
allowtransfer{IP;}
}

TratandoSpoofing
#Utilizarastagsnorecursionenofetchglue
Options{
recursionno;
fetchglueno;
}

Escondendoalgumasinformaes
#Atagversion,podeserutilizadaparaquenosejamostradaaversodoservioutilizado
Options{
versionX;
}

135

CAPTULOIVAPACHEHTTP

4.1APACHESOFTWAREFOUNDATION
AApacheSoftwareFoundationprovsuporteparaumacomunidadedeprojetosdesoftware
opensource(cdigoaberto).OsprojetosdaApachesocaracterizadosprincipalmentepelaatividade
colaborativanoprocessodedesenvolvimento,quebaseadonoconsensoenodesejodacriaode
umsoftwaredealtaqualidadeequeliderenoseucampodeatuao.

4.2PROJETODOSERVIDORAPACHEHTTP
Oobjetivodesseprojetoproversegurana,eficinciaeumservidorprovedordeservios
HTTPemsincroniacomospadresdoprotocoloHTTP.
OApacheomaispopularservidordewebnaInternet desdeabrilde1996. Possueduas
versesquesomantidasparalelamentedevidoaograndenmerodemudanasesuporte:averso
1.xea2.x.Siteoficial:http://www.apache.org.

Algunsmelhoramentosnaverso2.x
NovaAPIdoApache;SuporteaIPv6;
Configuraodosistemamaissimilarcomdeoutrospacotes;
Bibliotecadeexpressesregularesatualizada.

4.3PHPHYPERTEXTPREPROCESSOR
Linguagem de programao inicialmente direcionada para desenvolvimento web e pode ser
embutidanocdigoHTML.Podeserembutidafacilmentenoapacheouadicionadoopcionalmente
comomdulo.SemelhanteaoApache,possuiduasversescommudanasconsiderveisfazendo
com que as duas verses sejam mantidas simultaneamente, as verses 4.x e 5.x. Site oficial:
http://www.php.net
Novomodeloobjeto
Novasfunes
Novasdiretrizes
Omododemanuseamentodosobjetosfoicompletamentereescrito
Melhordesempenho

136

CompatvelcomPHP4
Novogerenciamentodememria

4.4MYSQL
obancodedadosopensourcemaispopulardomundo.Siteoficial:http://www.mysql.com.

Caractersticas
Consistncia
Altodesempenho
Altaconfiabilidade
Facilidadedeutilizao

4.5INSTALANDOMYSQL,PHPEAPACHE
MySQL
Depoisdebaixadooarquivo,descompacte,configureecompile.
#tarzxvfmysqlverso.tar.gz
#cdmysqlverso
#./configure
#make
#makeinstall
Devesecriarabaseinicialdobancoecolocarumasenhaparaoadministradordomysql.
#cdscripts
#./mysql_install_db(Criaasdatabasesnecessrias)
#safe_mysqlduser=root&(Iniciaomysqllendoasbasesapartir
de/usr/local/var).
#mysqladminurootppasswordnova_senha(Trocaaantigasenha
vaziapornova_senha)

Apachecomsuporteamdulosdinmicos
#tarzxvfhttpdverso.tar.gz

137

#cdhttpdverso
#./configureenablesowithmodules=so
#make
#makeinstall

138

PHPparaoApache
#tarzxvfphpverso.tar.gz
#cdphpverso
#./configurewithapxs2=/usr/local/apache2/bin/apxswith
mysql=/usr/local
(Configuraophphabilitadoparaoapacheeodiretriodeondeo
mysqlfoiinstalado)
#make
#makeinstall
#cpphp.inidist/usr/local/lib/php.ini

HabilitandooPHPnoApache
#Colocaoarquivoindex.phpparaserlido,porpadro,antesdoindex.html,naordemaseguir.
DirectoryIndexindex.phpindex.htmlindex.htmindex.cgi
#Adicionaeespecificaotipo.phpparaserreconhecidoe
interpretadopeloapache
AddTypeapplication/xhttpdphp.php
#Carregaomdulodophp
LoadModulephp5_module

modules/libphp5.so

4.6VIRTUALHOSTS
Configuraodeumvirtualhostemumservidorcomapenas1endereoIP:
NameVirtualHost192.168.1.201:80
<VirtualHost192.168.1.201:80>
ServerAdminwebmaster@webmail.testefi.com.br
ServerNamewebmail.testefi.com.br
DocumentRoot/usr/local/apache2/htdocs/webmail
ErrorLoglogs/webmailerror_log
CustomLoglogs/webmailaccess_logcommon
</VirtualHost>

139

<VirtualHost192.168.1.201:80>
ServerAdminwebmaster@suportefi.com.br
ServerNamewww.suportefi.com.br
DocumentRoot/usr/local/apache2/htdocs/suportefi
ErrorLoglogs/suportefierror_log
CustomLoglogs/suportefiaccess_logcommon
</VirtualHost>

Configuraodeumvirtualhostemumservidorcommaisde1endereosIP
diferente:
NameVirtualHost*
<VirtualHost192.168.1.211:80>
ServerAdminwebmaster@webmail.testefi.com.br
ServerNamewebmail.testefi.com.br
DocumentRoot/usr/local/apache2/htdocs/webmail
ErrorLoglogs/webmailerror_log
CustomLoglogs/webmailaccess_logcommon
</VirtualHost>
<VirtualHost192.168.1.212:80>
ServerAdminwebmaster@suportefi.com.br
ServerNamewww.suportefi.com.br
DocumentRoot/usr/local/apache2/htdocs/suportefi
ErrorLoglogs/suportefierror_log
CustomLoglogs/suportefiaccess_logcommon
</VirtualHost>

4.7AUTENTICAONOAPACHE
Crieoarquivo/usr/local/apache2/htdocs/admin/.htaccess

140

Obs.:Nesseexemplo,elecriaroarquivo.htaccessnodiretrioadmin/,issoquerdizerqueele
faraverificaoquandoodiretrioadmin/foracessado.Dentrodoarquivo.htaccessadicioneas
seguinteslinhas:

141

AuthTypeBasic
AuthName/var/www/html/
AuthUserFile/etc/senhas
AuthGroupFile/dev/null
Requirevaliduser
Agora,criaremosoarquivodesenhas,comoabaixo:
#htpasswdc/usr/local/apache2/senhasusuario
Ele criar o arquivo senhas dentro do diretrio /etc, o usurio teste, e a senha para este
usurio.Vocpodercriarvriosusuriosparaautilizaodesteservio,parafazlo,simplesmente
repitaocomandoacimaretirandoaopocelogicamentealterandoonomedeusurio,daseguinte
forma:
#htpasswd/usr/local/apache2/senhasusuario2
Depoisdecriadoousurioesenhaparaautilizaodohtaccess,temosquefazeralgumas
alteraesnoarquivo.
/usr/local/apache2/conf/httpd.conf.
Dentro do arquivo de configurao do apache, devemos procurar pela entrada
AccessFileName.Descomenteaentradaretirandoocaracter#,daseguinteforma:
AccessFileName.htaccess
Aps isso, procuraremos dentro do arquivo pela entrada AllowOverride, descomentando e
adicionandoadiretivaAll,paraqueohtaccesstrabalhecorretamente:
AllowOverrideAll

142

CAPTULOVSERVIDORDEEMAIL
OconjuntodeimplementaesqueutilizaosprotocolosSMTP(SimpleMailTransferProtocol
protocolo para envio de mensagens) e POP(Post Office Protocol protocolo para recebimento de
mensagem)sodenominadosservidordeemailoudecorreioeletrnico.
Umusurioquequeiraenviarumamensagemparaoutrousurioprecisausarumclientedee
mail,estedenominado MUA (MailUserAgent).OMUAenviaestamensagemparaoMTA (mail
transferagent)quedeverentregaramensagemparaoMTAdodestinatrio.Emambososcasos
feitaautilizaodoprotocoloSMTP(SimpleMailTransferProtocol).
Paraqueodestinatriotenhaacessossuasmensagens,geralmente,eledevetransferirseus
emailsparaomquinaemqueeleestellasatravsdeumclientedeemail.Istoconseguido
atravs de um outro protocolo, denominado POP. O protocolo IMAP(Internet Message Access
Protocol)podeserusadoparaomesmofim,pormeste,almdeimplentarasfuncionalidadesdo
POP,implementamuitasoutrasfuncionalidades.

5.1CONCEITOS
MUAMailUserAgent
Protocolo para envio de mensagens atravs de algum programa (Kmail, Mozilla Mail, Pine,
etc.).

MTAMailTransportAgent
Programaquefornecetransfernciadeemailsentrevriosservidores,comosendmail,postfix,
qmail,exim,etc.

MDAMailDeliveryAgent
Umprograma(maildrop,procmail,deliver,local.mail,etc.)querealizaaentregadeumEmail
emumacaixapostalparticular.
OsMTAsmaiscomuns,so: sendmail, postfix ou qmail.UmMTAusadoparatransferir
mensagensentremquinas.Umagentedemensagensdousurio,MUA,damensagemparaum
MTA,quepodepassarparaoutroMTA,oupossivelmenteparaoutrosMTAs.OMTAresponsvel
porrotearcorretamenteasmensagensparaoseudestino.
SendmailoMTAmaisutilizandonomundo.Algumasdassuascaractersticasso:
Documentaorelativamentegrande.
Grandeflexibilidadedeconfigurao.

143

Suportecomercial.
Versoparawindows
O QMail, desde sua concepo foi enfatizada a questo da segurana. Principais
caractersticas:
Altodesempenho.
Segurana.
Dificuldadenaconfigurao.
OPostfixserutilizadoemnossocurso,pelasseguintescaractersticas:
Robustez.
Altodesempenho.
Facilidadedemanutenoeconfigurao.
Emulavriasfunesdosendmail.

5.2POSTFIX
PostfixoMTA,queseapresentacomoumaboaalternativaaosoutrosMTAs,tendocomo
objetivo ser mais rpido, seguro e fcil de configurar que os outros MTAs, alm de manter a
compatibilidadecomeles.Podeserencontradoemhttp://www.postfix.org.

5.3CLAMAV
Um antivrus desenvolvido em GNU/C que roda multiplataforma nos diversos sabores de
Unix. Tem como pretenso rodar como um antivrus de acesso a arquivos. Isto ideal para
servidoresSAMBA/NIS/MARS.TambmpossvelrodaresteantivrusemconjuntocomoAMAVISe
oMailScannerparaprotegerservidoresdeEmailecomoApacheparaprotegerservidoresWEB.
UmagrandevantagemnautilizaodoClamavcomoPostfixqueoantivrusficaintegrado
diretamentenoMTA,ouseja,dispensaainstalaode"scanners"comooMailScannerouoAmavis
(programasqueutilizammuitosrecursosdamquina,comomemriaeprocessamento).
Essauniogarantequeodesempenhodoseuservidordeemailaumentaremrelaoaosoutros
mtodosdeintegraodeumantivrusaoMTA,almdeestarutilizandoumasoluoprticaemuito
segura.

5.4INSTALANDOPOSTFIXECLAMAV
Arquivosnecessrios:
postfixverso.tar.gz

www.postfix.org

144

clamavverso.tar.gz

www.clamav.net

clamavfilter.sh.gz

www.unitednerds.org/projects/mail/clamavfilter.sh.gz

145

InstalandoeconfigurandooPostfix
1Faaodownloaddaversomaisnovadopostfixnosite:www.postfix.org.
2Crieumusurioeumgrupoparaopostfix
useradds/bin/falsec"UsuariodoPostfix"postfix
groupaddpostdrop
3Descompacteeinstaleopostfix
tarzxvfpostfixverso.tar.gz
cdpostfixverso
make
makeinstall
_______________________________________________________________________________
DICA: Caso no make ocorra algum erro devido a ausncia do db*devel instale a lib db, que pode ser
encontradanoCD1doSlackware.

4Altereosseguintesparmetrosno/etc/postfix/main.cf
myhostname=hostdoservidor(ex:mail.linuxfi.com.br)
mydomain=dominiodoservidor(ex:linuxfi.com.br)
myorigin=$myhostname
inet_interfaces=all
mydestination=$myhostname,localhost.$mydomain,localhost,$mydomain
mynetworks_style=class
mynetworks=SuasRedes(ex:192.168.4.0/24,127.0.0.0/8,
200.199.96.0/24)
relay_domains=$mydestination,$mynetworks
header_checks=regexp:/etc/postfix/header_checks
5Oarquivo/etc/postfix/header_checksdeveconter:
/^content(type|disposition):.*name[[:space:]]*=.*\.(exe|vbs)/REJECT
Badattachmentfilenameextension:$2
Issobloquearosarquivosdeextenso.exee.vbs.
6Copieosarquivosaliasesdo/etc/mailparao/etc
cpr/etc/mail/aliases*/etc

InstalandoeconfigurandooClamav
1Crieumusurioeumgrupoparaoclamav
groupaddclamav

146

useradds/bin/falsegclamavcUsuriodoClamavAntiVrus
clamav
2Descompacteecompileoarquivo
tarzxvfclamav0.80.tar.gz
cdclamavverso
./configuresysconfdir=/etcprefix=/usr
make
makeinstall
3Altereasseguintesopesno/etc/clamd.conf
LogFile/tmp/clamd.log
LogClean
LogSyslog
PidFile/var/run/clamav/clamd.pid
Userclamav
ScanMail
ScanArchive
4Criandodiretriodopidesetandopermisso
mkdir/var/run/clamav
chownclamav:users/var/run/clamav
Precisamosalterarasseguintesopesno/etc/freshclam.conf:
DatabaseDirectory/var/lib/clamav
UpdateLogFile/var/log/clam/freshclam.log
LogVerbose
LogSyslog
PidFile/var/run/clamav/freshclam.pid
DatabaseOwnerclamav
5Criandodiretriodologesetandopermisso
mkdir/var/log/clam/
touch/var/log/clam/freshclam.log
chownclamav:users/var/log/clam/Rf
6Criandodiretoriodabasededadosdoclamav
mkdir/var/lib/clamav

147

chownclamav:users/var/lib/clamavRf
7Instalandoofiltrodoclamav
gzipdclamavfilter.sh.gz
8Copieofiltropara/usr/libexec/postfixou,dependendodasuainstalao,/usr/lib/postfix.
chmod755clamavfilter.sh
cprclamavfilter.sh/usr/libexec/postfix
9Crieodiretrioparaondeseroenviadasmensagensdurantealeituradoclamav.
mkdir/var/spool/filter
chownclamav:clamav/var/spool/filterRf
10Editeoarquivo/etc/postfix/master.cfeacrescente,nofinaldoarquivo:
smtp inet n

content_filter=clamav:clamav

smtpdo

clamavunix

n
n

pipe flags=Rquser=clamav
[continuanamesmalinha]argv=/usr/libexec/postfix/clamavfilter.sh
f${sender}${recipient}
_______________________________________________________________________________
ATENO:Qualquerletraescritadaformaerradairfazercomqueofiltronofuncione.Casooseupostfix
estejaem/usr/lib/postfixbastaalterarnalinhaacima.

5.5ATUALIZAODOANTIVRUS
Ocomandoparaatualizaojexiste,vocprecisaapenascriarumscriptcomeleeadicionar
aocron.Aconselhoumaatualizaodiria.
Contedodoscriptclamav_update:
#!/bin/bash
/usr/bin/freshclamdaemonnotifydaemonchecks=50
log=/var/log/clam/freshclam.log
Copieoclamav_updateparaodir/bin
#chmod+x/bin/clamav_update
Agorabastacolocarnocrond:
#crontabe
105*** /bin/clamav_update
Nocasotodososdiasas5horasdamanhae10minutoselevaiatualizarabasededadosdo
antivrus.Oresultadodaatualizaoficanoarquivodelog/var/log/clam/freshclam.log

148

5.6INICIANDOOCLAMAVEOPOSTFIX
clamd
clamav_update
postfixstart
Noesqueadecolocarainicializaonoseuarquivo/etc/rc.d/rc.local

5.7INICIANDOOSERVIDORPOP3
Parainiciaroservidordeentregademensagens,POP3,bastadescomentaralinhainiciadapor
pop3noarquivo/etc/inetd.conf,edepoisreiniciaroservioinetdcomocomandokillallHUPinetd.

149

CAPTULOVISAMBA

6.1INTRODUO
O SAMBA um servidor e conjunto de ferramentas que permite que mquinas Linux e
Windowssecomuniquementresi,compartilhandoservios(arquivos,diretrio,impresso)atravs
do protocolo SMB (Server Message Block)/CIFS (Common Internet File System), equivalentes a
implementaoNetBEUInoWindows.OSAMBAumadassoluesemambienteUNIXcapazde
interligarredesheterogneas.
NalgicadaredeWindowsoNetBEUIoprotocoloeoNETBIOSdefineaformacomqueos
dadossotransportados.NocorretodizerqueoNetBIOSoprotocolo,comomuitosfazem.
ComoSAMBA,possvelconstruirdomnioscompletos,fazercontroledeacessoemnvelde
usurio, compartilhamento, montar um servidor WINS, servidor de domnio, impresso, etc. Na
maioria dos casos o controle de acesso e exibio de diretrios no samba mais minucioso e
personalizvelquenoprprioWindows.

6.2HISTRICO
Andrew Tridgell desenvolveu o SAMBA porque precisava montar um volume Unix em sua
mquinaDOS.InicialmenteeleutilizavaoNFS,masumaplicativoprecisavadesuporteNetBIOS.
Andrew ento utilizou um mtodo muito avanado usado por administradores para detectar
problemas:escreveuumsnifferdepacotesqueatendesseaosrequerimentosparaterumanica
funo:analisareauxilialoainterpretartodootrfegoNetBIOSdarede.Eleescreveuoprimeiro
cdigoquefezoservidorUnixaparecercomoumservidordearquivosWindowsparasuamquina
DOSquefoipublicadomaisoumenosemmeadosde1992quandotambmcomeouareceber
patches.Satisfeitocomofuncionamentodeseutrabalho,deixouseutrabalhodeladoporquase2
anos. Umdia,eleresolveutestaramquinaWindowsdesuaesposacomsuamquinaLinux,e
ficoumaravilhadocomofuncionamentodoprogramaquecrioueveioadescobrirqueoprotocoloera
documentadoeresolveulevarestetrabalhoafundomelhorandoeimplementandonovasfunes.
OSAMBA atualmenteumservidorfundamentalpara amigraodepequenosgrupos de
trabalho grandes domnios com clientes mixtos. Nenhum servidor de rede NetBEUI conhecido
proporciona tanta flexibilidade de acesso a clientes como o SAMBA para compartilhamento de
arquivos/impresso em rede. As funes de segurana que foram adicionadas ao SAMBA hoje

150

garantemumcontrolemaisrigorosoqueaprpriaimplementaousadanoWindowsNT,incluindoo
serviosdediretrios,mapeamentoentreIDsdeusuriosWindowscomLinux,PDC,perfismveise
umacoisaqueinclusiveapresentaproblemasnoWindows:compatibilidadetotalentreasdiferentes
implementaesdeversesdoWindows.
Sua configurao pode receber ajustes finos pelo administrador nos soquetes TCP de
transmisso,recepo,cacheporcompartilhamento,configuraesfsicasqueafetamaperformance
de rede. Seu cdigo vem sendo melhorado constantemente por hackers, obtendo excelente
performancecomhardwaresmaisobsoletos.Oguiatemporobjetivoabordarestestemasepermitir
quevocconfigureseusistemacomumaperformancebatendoamesmaalcanadaemumservidor
NTdedicado.

6.3CARACTERSTICAS
Compartilhamento de arquivos entre mquinas Windows e Linux ou de mquinas Linux
(sendo o servidor SAMBA) com outro SO que tenha um cliente NetBEUI (Macintosh, OS/2,
LanManager,etc).
MontarumservidordecompartilhamentodeimpressonoLinuxquereceberaimpresso
deoutrasmquinasWindowsdarede.
Controledeacessoaosrecursoscompartilhadosnoservidoratravsdediversosmtodos
(compartilhamento,usurio,domnio,servidor).
Controledeacessoleitura/gravaoporcompartilhamento.
Controledeacessodeleitura/gravaoporusurioautenticado.
Possibilidadededefinircontasdeconvidados,quepodemseconectarsemfornecersenha.
Possibilidadedeusodobancodedadosdesenhadosistema(/etc/passwd),autenticao
usandooarquivodedadoscriptografadosdosamba,LDAP,PAM,etc.
Controledecacheeopesdetunningporcompartilhamento.
Permiteocultarocontedodedeterminadosdiretriosquenoquerquesejamexibidosao
usuriodeformafcil.
PossuiconfiguraobastanteflexvelcomrelaoaomapeamentodenomesDOSUNIXe
viceversa,pginadecdigo,acentuao,etc.
Permiteousodealiasesnaredeparaidentificarumamquinacomoutronomeesimular
umaredeNetBiosvirtual.
Osambapossibilitaajustefinonasconfiguraesdetransmissoerecepodospacotes
TCP/IP,comoformadegarantiromelhordesempenhopossveldeacordocomsuasinstalaes.

151

PermiteousodogerenciadordemensagemdoLinux(Linpopup)paraatrocademensagens
com estaes Windows via NetBios. Com a flexibilidade do samba possvel at redirecionar a
mensagemrecebidaviaemailoupager.
Possui suporte completo a servidor WINS (tambm chamado de NBNS NetBios Name
Service)derede.Aconfiguraobastantefcil.
Faz auditoria tanto dos acessos a pesquisa de nomes na rede comoacesso a
compartilhamentos.Entreosdetalhessalvosestoadatadeacesso,IPdeorigem,etc.
SuportecompletoacontroladordedomnioWindows(PDC).
Suportequasecompletoabackupdocontroladordedomnio(BDC).Ataverso2.2do
samba,osuporteaBDCparcial.Estecdigoprovavelmenteestarestvelataverso3.0.
PermitemontarunidadesmapeadasdesistemasWindowsououtrosservidoresLinuxcomo
umdiretrionoLinux.
Permiteaconfiguraoderecursossimplesatravsdeprogramasdeconfiguraogrficos,
tantoviasistema,comoviaweb.
Permite executar comandos no acesso ao compartilhamento ou quando o acesso ao
compartilhamentofinalizado.
Com um pouco de conhecimento e habilidade de administrao de sistemas Linux,
possvelcriarambientesdeauditoriaemonitorao.Atmonitoraodeacessoacompartilhamento
emtemporeal.

6.4CONFIGURANDOOSAMBA
Utilizaremosaverso3.xdosamba.PararealizarmosaconfiguraovamosutilizaroSWAT
(Samba Web Administration Tool). O SWAT iniciado a partir do daemon inetd. Edite o arquivo
/etc/inetd.confedescomentealinhaabaixo:
swatstreamtcpnowait.400root/usr/sbin/swatswat
Depoiskilleerodenovamenteoinetd:
killall9inetd
inetd
Confiraseoinetdfoireiniciadocomsucesso:
psauwx|grepinetd
ou
socklist
Depoisqueoinetdforreiniciadoentrenoambientegrficodoservidoreutilizandoumbrowser
acesseaseguinteURL:

152

http://localhost:901
Emseguidairasurgirumajanelasolicitandousurioesenha.ParautilizaroSWATnecessrio
ousurioroot.DepoisdeinformarasenhadousuriorootvocjestarlogadodiretonoSWAT.
DepoisdelogadooprimeiropassoparaconfiguraroSambaclicarnoconeGLOBAL,aondevoc
iraconfiguraronomedoseuhosteoseuWorkgroup(GrupodeTrabalho).
Feito tudo isso, abra um Web Browser tipo o Netscape, Mozilla e digite a URL:
http://localhost:901/. Em seguida vai aparecer uma janela pedindo a senha e o nome do root,
evidentementevocterqueestarcomosuperusurioparaentrarnoSWAT.Pronto,vocagoraest
dentrodoSWAT,oprimeiropassoagoraclicarnoconeGLOBAL.lquevocvaiconfiguaro
nomedoseuhost e o workgroup entreoutras coisas. Aqui est uma breve explicao de como
funcionamalgunsitensdeconfiguraodosamba:

a)SEOGLOBAL:
#GrupodeTrabalhodasuaRede.
workgroup=GRUPO
#Onome(host)doservidornarede
netbiosname=Servidor_1
#ComentriodohostnoSamba
Serverstring=ServidorLinuxSlackware

b)SEOSECURITYOPTIONS:
security=user
# Usurio que voc ira utilizar para compartilhar arquivos e impressoras. Esse usurio
necessrio em algumas rede em que a autenticao obrigatria, por exemplo, atravs desse
usurioamaquinaLinuxpodeautenticaremumcontroladordedomniosdoWindows2000.
encryptpasswords=yes
#Determinaosambaatrabalharcomencriptaodesenhas.Nasverses doWin95Bem
diante,essaopovemhabilitadapordefaultnowindows,aceitandosenhasencriptadas.Portanto,
digayesamenosquevocnousesistemadeencriptaonasuarede!
hosts.allow=EndereodeRede
#Especificaoseuendereamentoderede,portantocoloqueoseuendereamentoderede
afimdequeosambapossaentrareservistonarede.Essaopomuitoimportante,poiscasono
sejadefinidooendereoIPdesuasubrede,fatalmenteosambanofuncionar.Porexemplo,para
definirmosqueoSambadevetrabalharnarede192.168.1.0devemoscolocarnastringEndereode
Redearede192.168.1.
winsserver==

153

winssupport=no
# O Wins um servidor de Controle de Nomes do Windows. O samba tambm pode dar
suporteaele,pormporpadroestaopodesabilitada.
Depoisdeteralteradoeconfiguradoconformeasnecessidadesdesuarede,cliquenoboto
CommitChangesparasalvarsuasalteraes.

154

c)SEOSHARES
Aquiserodeterminasaspastasquedevem sercompartilhadas.DoladodobotoCreate
Share,escrevaonomedocompartilhamento(porpadro,coloqueonomedapasta)emseguida
cliquenobotoCreateShare,semaistardevocquiserfazermodificaesnessamesmaououtra
pastacriada,bastaescolherapastaeclicarnocampoChooseShare.Depoisdeterclicadono
boto Create Share, v direto ao campo PATH e coloque o caminho correto para o
compartilhamento.Asoutrasopes,deixeascomodefaults,masatenteparaessas:
EX:.
path=/home/usuario1>caminhodocompartilhamento.Apastaqueirsercompartilhada.
writeable=yes>sehabilitado,aceitaocompartilhamentocomoleituraeescrita.
guestok=no>Seestaopoforsetadaparayesqualquerusuriodosistemateracesso
apasta.
valid users = usuario1 > Esta opo define os usurios que tero acesso a pasta
compartilhada.Poderamosdefiniroacessoparaumgrupo,bastainseriruma@nafrentedonome.
Exemplo:ValidUsers=@users.
browseable=yes>definequeocompartilhamentoservistonoambientederede.
available=yes>disponibilidadedocompartilhamento,porpadro:yes.
EmseguidacliquenobotoCommitsChangesparasalvarsuasalteraes.Cliquenocone
deSTATUSeinicieosserviosdoSamba,clicandonosbotesstartsmbdestartnmbd.
AgoraqueoSAMBAestconfiguradoeativoembackground,horadecriarosusers,ouseja,
osusuriosqueiroacessarmeusservidorSAMBAemmquinasWin9x!Primeirovamosdarumcat
/etc/groupeanalisarosgruposemquequeremosquenossosusuriospertenam,vamosescolhero
grupodosusersqueoqueoSlackwarejcolocacomopadroquandoformoscriarousurio.Em
seguida,vamosusarocomandoadduserparacriarosusuriosnoslackware,edepoisacrescent
losaoSAMBAcomocomandosmbpasswd.
Crieumusurionormaldosistema,utilizandoocomandoadduser.
Apstercriadoousurio1,vamosagorasincronizlocomoSAMBA,paraissovamosusaro
comandosmbpasswdparacolocarasenhaeacrescentarmosousurioaoarquivosmbpasswddo
SAMBA,coloqueamesmasenhadecriaodousurioquefoicolocadacomocomandoadduser:
Ex:
#smbpasswdausuario1
DepoisdissovoltenoSWAT,naguiaSHARES,selecionesuapastacompartilhadaecliqueno
botoAdvancedview,vatocampoValidUserscoloqueonomedonossousurio1,afimdeque
possamosvalidar o acesso dele ao compartilhamento. Depois deter feito as mudanas, salve o
arquivo.

155

6.5ACESSANDOCOMPARTILHAMENTOS:
#Paravermosquaissooscompartilhamentosdohostmicro1:
smbclientLmicro1
#Paraacessarmosumcompartilhamento:
mounttsmbfs//micro1/diretrioremoto/mnt/mapeadoopassword=123
smbmount//micro1/diretrioremoto/mnt/mapeado.

156

Potrebbero piacerti anche