Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
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
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
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
Figura10
Apsselecionarosistemadearquivosaserusado,odisco,ento,formatadoFigura11.
23
Figura11
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
26
Figura15
Agoraserrealizadaainstalaodospacotesselecionados.SeaopoparainstalaroGnome
e/ouKDE,aparecerumatela(Figura16)pedindoquesejacolocadoocddeinstalao2.Troqueo
CDetecle[OK].
Figura16
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
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
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
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
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)
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
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
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
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
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