Você está na página 1de 146

LinuxSystemAdministration

Sumario
Histrico.....................................................................................................................................................
4
Distribuiesmaisconhecidas:......................................................................................
......................6
Instalao...............................................................................................................................
....................7
Passo1)Bootcomocdromdeinstalao..................................................................................
..........8
Passo2)Escolheroteclado..............................................................................................
....................8
Passo4)Particionarodiscorgido.................................................................................
....................10
Motivosparaparticionamento:...................................................................................
...................10
Passo6)FormatandoaspartiesdeSWAP..........................................................................
............15
Passo7)Formatandoasoutrasparties......................................................................................
......17
Passo8)Definindoamdiaquecontmosarquivosdeinstalao....................................................18
Passo9)Escolhendoospacotesqueseroinstalados........................................................................19
Passo10)Escolhadolocaldokernel.................................................................................................
.21
Passo11)Geraododiscodeboot..............................................................................
.....................22
Passo12)Configuraodomodem..........................................................................................
..........22
Passo14)ConfiguraodoLILO..........................................................................................
.............23
Passo15)ConfiguraodoMouse.......................................................................................
..............24
Passo16)ConfiguraodaRede.....................................................................................
...................25
Passo17)ConfirmaodasconfiguraesdeRede....................................................................
.......26
Passo19)Configuraoprviadefonte............................................................................
.................27
Passo20)Escolhadotipodeatualizaodorelgiodamquina.....................................................28
Passo22)DefinirasenhadoAdministradordosistema(root).........................................................28
Passo23)Finalizandoainstalao.......................................................................................
..............29
IniciandooSistemaOperacional..........................................................................................................
...30
ComandosBsicos.......................................................................................................................
.......30
Mostrarodiretrioatual.....................................................................................
...........................31
Entrar/Sairdediretrios.....................................................................................................
............31
CriandoDiretrios..........................................................................................................................
31
CopiandoArquivoseDiretrios................................................................................
....................31
CriandoArquivosVazios...................................................................................................
............32
RemovendoDiretrios................................................................................................
...................32
RemovendoArquivoseDiretrios....................................................................
............................33
Movendo/RenomeandoArquivoseDiretrios................................................................
..............33
Comandotail........................................................................................................................
..........34
Comandocat.........................................................................................................
.........................34
Comandosort.....................................................................................................................
............34
Comandogrep......................................................................................................................
..........34
ComandosdePaginao.................................................................................................
...............35
Comandomore........................................................................................................................
.......35
Comandoless...................................................................................................................
..............35
DesligandooSistemaOperacionalLinux.....................................................................
................36
SejaumProfissionalAprendendocomProfissionais1

LinuxSystemAdministration
ReiniciandooSistemaOperacionalLinux.......................................................................
.............36
RedirecionamentodeEntradaeSaida...............................................................................................
......36
RedirecionamentodeSada..........................................................................................
......................38
RedirecionamentodeEntrada........................................................................................................
.....38
Comandosort.....................................................................................................................
...........39
Pipe.....................................................................................................................................................
.39
Metacaracteres................................................................................................................
....................40
EstruturadeDiretrios..................................................................................................
..........................42
Dispositivos................................................................................................................
.............................43
ConsolesVirtuais.................................................................................................................................
....45
EditoresdeTexto............................................................................................................
.........................45
Mtools...............................................................................................................................
.......................47
PaginasdeManuais............................................................................................................
.....................49
CriandoLinks......................................................................................................................
....................49
ComandosdeBusca...................................................................................................
.............................50
CompactaodeArquivos......................................................................................................
.................51
gzip:.........................................................................................................................................
...........51
bzip2:........................................................................................................................................
..........51
compress:...................................................................................................................
........................52
Empacotamento................................................................................................................
.......................52
zip:..................................................................................................................................................
....52
tar:...............................................................................................................................
.......................53
MontagemdeDispositivos....................................................................................................
..................54
Fdisk......................................................................................................................................................
...55
GerenciamentodeContasdeUsurios......................................................................
.............................57
Criar/AlterandoSenhaDeUsurio......................................................................
............................57
DeletandoUsurios............................................................................................................................
.58
AdicionandoGruposNoSistema....................................................................................
...................58
Mudandoodonodearquivosediretrios...........................................................................
...............59
Mudandoogrupodearquivosediretrios........................................................................................
.59
Mudandodonoegrupoaomesmotempo.............................................................................
.............59
PermissesdeArquivoseDiretrios...................................................................................................
....61
PadroDeCriao.............................................................................................................
.................62
GerenciamentodePacotesRPM.......................................................................................
......................67
PacotesTGZnoSlackware..........................................................................................................
............71
GerenciamentodeProcessos...............................................................................................
....................73
ProcessodeInicializaodaMquina...................................................................................................
..76
InstalaoeconfiguraodoGestordeIncioLILO..................................................................
............78
Passandoparmetrosparaokernelatravsdolilo.................................................................................
.80
ConfiguraesdeSegurana.................................................................................................
..................80
OprocessoINITnainicializaodosistema................................................................................
..........83
Nveisdeexecuo(Runlevel)........................................................................................................
..83
ComunicandocomoprocessoINIT
......................................................................................................................................................
.......85
OutrasfunesdoINIT.....................................................................................................
.................86
SejaumProfissionalAprendendocomProfissionais2

LinuxSystemAdministration
OArquivo/etc/inittab......................................................................................................
...................86
Odiretrio/etc/rc.d/...........................................................................................................................
.89
Arquivo/etc/issue..............................................................................................................
......................90
Arquivo/etc/nologin..................................................................................................................
..............90
Arquivo/etc/motd............................................................................................................
........................91
Arquivo/etc/securetty..............................................................................................................
................91
Comandosu........................................................................................................................
.....................93
InicializaodeServios...........................................................................................................
..............94
OArquivo/etc/login.defs..............................................................................................
..........................95
ProgramaoShell.........................................................................................................................
..........96
ProgramandonoLinux............................................................................
...........................96
Tiposdeinterpretadores..................................................................................................
.....96
UmScriptsimples................................................................................................
...............97
Utilizandoocomandobash...........................................................................................
.....................98
Sintaxe............................................................................................................
....................100
TiposdeVariveis....................................................................................................................
........100
Acessandovariveis......................................................................................................
....................101
Comandoecho..................................................................................................
.................101
Caracteredeescape....................................................................................................................
.......102
Passagemdeparmetros.............................................................................................
......................103
Parmetro.............................................................................................................................
....103
Leituradetecladoevariveis...................................................................................
.......................103
EstruturasdeDeciso(if)..........................................................................................
.......................104
Comandoexit................................................................................................................
....................106
Operadoresdecomparao......................................................................................................
.........106
Condiocase..........................................................................................................
.........................108
GerenciamentodeArquivosdeLOG...................................................................................................
..111
Formatosdearquivosdelogs..................................................................................................
..........111
GerandoLOGs......................................................................................................
............................111
ODaemonSyslogd...............................................................................................
............................112
ODaemonKlogd.......................................................................................................
.......................112
Osprincipaisdiretriosearquivosdelog....................................................................
......112
Controledecotasdedisco...........................................................................................
..........................114
Verificandosuporteacota...................................................................................
.............................114
Habilitandoquotaemumapartio........................................................................................
..........115
Configurandoquotadedisco.........................................................................................
...................115
Gerenciandoquotas...........................................................................................................
...............118
Definindoquotaparausurios......................................................................................
....................118
Definindoquotasparagrupo.........................................................................................
...................122
AgendadordeTarefas.....................................................................................................
.......................124
CRON.................................................................................................................................................
....124
Arquivosdeconfigurao......................................................................................................
..........125
Crontab....................................................................................................................................
.........127
Controlandooacessocron.........................................................................................................
.......129
SejaumProfissionalAprendendocomProfissionais3

LinuxSystemAdministration
Anacron(ParaRedHat)............................................................................................................
.......130
ConfiguraodosDispositivosdeHardware......................................................................
..................132
ConfigurandoimpressoracomCUPS..............................................................................
.....................132
ConfiguraoBsicadoServidorNFS.............................................................................
...................135
HabilitandooacessoremotoviaSSH(passoapasso)................................................................
.........138
CompilaodoKernel........................................................................................................
...................140
Mdulos...........................................................................................................................................
..140
ConfiguraoGRUB(Istoapenasumexemplo):..........................................................................145
ConfiguraodoLILO(Istoapenasumexemplo):.......................................................................146

SejaumProfissionalAprendendocomProfissionais4

LinuxSystemAdministration

Histrico
Em1965,algumasempresasseuniram(LaboratriosBelldaAT&T,GeneralEletriceMIT)
para desenvolver um novo sistema operacional chamado MULTICS, que se propunha a oferecer
serviosdetimesharing(TempoCompartilhado)parausogeral.
Timesharing:quandotodoprocessamentoefeitoporumcomputadorcentral,cujotempode
processamentoentocompartilhadopelosvriosusurios.
DevidosdificuldadesqueseencontraramnaconstruodoMULTICS,quesemostrouum
sistemamuitogrande,complexoeexigiarecursosdemaisparaoscomputadoresdapoca,aAT&T,
acabouseretirandodoprojeto,1969,paraquemaistardealgunsmembrosdaempresa,lideradopor
Ken Thompson, aproveitando a experincia ganha na construo do MULTICS, comearam a
trabalharporcontaprprianumsistemamenosrobusto,queacabouresultandonoUNIX.
AprimeiraversodoUNIXfoidesenvolvidaparaumcomputadorPDP7efoitotalmente
escritaemlinguagemassembly,em1971foiescritoparaumPDP11ejem1973foireescritopara
linguagemCpelocriadordalinguagem,DENISRITCHIE.
DevidoaofatodoUNIX,deestarescritonumalinguagemdealtonvel,OusodoUNIX
dentrodoLAB.BELLfoicrescendotanto,queacabousendocriadoumgrupodesuporteinternoao
sistema.NessamesmapocaaAT&Tforneciacpiasdocdigofonteasuniversidadesparafins
educacionais.
Comofornecimentodocdigofonte,vriascorporaesmodificaramoUNIXdeacordocom
suasnecessidadeselanaramsuaprpriaverso.
Em 1980,a Universidade daCalifrniaem Berkelyfoi financiadapeloDepartamento de
Defesa para desenvolver uma verso de UNIX voltada para os novos sistemas de computao
distribudaqueresultounosistemaBSD,nestapocaaMicrosoftlanouoXENIX,baseadaemmicro
computadorescompatveiscomoIBMPC. A Sun Microsystem desenvolveu o SunOS, que
introduziuoconceitodeNetworkFileSystem,NFS,quepossibilitaocompartilhamentodearquivos
pormquinasligadasemredelocal.
Noinciodosanos90,umalunodecinciadacomputao,LinusTorvalds,sepropsa
desenvolversistemaoperacional,melhorqueoS.O.queeleutilizavanafaculdade,MINIX,construdo
por AndewTanembaumparafinsdidticos.MelhorporqueoSOpropostoporeleutilizaria das
SejaumProfissionalAprendendocomProfissionais5

LinuxSystemAdministration
facilidadesdomodoprotegido(comomultitarefaememriavirtual)tambmoSOpropostono
carregariatodososseusdispositivosemmemria,vistoqueexisteanecessidadeapenasquandona
suautilizao.
Essesistema,batizadodeLINUXeevoluiuparaumaversodeUNIXsendodistribudopela
redenamodalidadefreeeopensource(cdigoaberto),naqualtantoocdigoexecutvelquantoo
cdigofontepodemserbaixadosedistribudosgratuitamentepelainternet.Comisso,oLINUXse
disseminourapidamenteehojeocupaumafatiaconsiderveldasgrandesemdiascorporaesem
todomundoalmdesurgirvriasversesdosistema(distribuies).
Existem grupos de pessoas, empresas e organizaes que decidem criar sua prpria
distribuio.Oqueumadistribuio?oKerneldoLinuxjuntocomoutrosprogramasessenciais
(como por exemplo, editores grficos, planilhas, bancos de dados, ambientes de programao,
formataodedocumentos,Jogos,etc).
Cadadistribuiotemsuasprpriascaractersticasde:comoosistemainstalado,oseu
objetivo, a localizao dos programas, nomes de arquivos de configurao, etc. E cabe o
desenvolvedordadistribuiodizerqueelaounoopensource.Maspraumsistemasercomercial,
ele tem que sofrer mudanasgigantescas,devidoo grandenumero de distribuiesopensource
distribuidaspelomundo.

Distribuiesmaisconhecidas:
SlackwareUSA
DebianUSA
SuseEUROPA(distribuiocomercializadavoltadaparaomercadocorporativo)
MandrakeUSA(muitorecursogrfico)
RedHatUSA(comercializada)
ConectivaBRASIL
OceanPacificASITICA
YellowDog
Kurumin(distribuioquerodaemCD)CaldeiraUSA
SejaumProfissionalAprendendocomProfissionais6

LinuxSystemAdministration
Fedora(versodoRedHat9)
Mandriva(ConectivacomMandrake)

AlgumasCaractersticasdoLinux:
livre,edesenvolvidovoluntariamenteporprogramadorescomoobjetivodecontribuioparaa
melhoriaecrescimentodestesistemaoperacional;
Convivemsemnenhumtipodeconflitocomoutrossistemasoperacionais(comooDOS,Windows,
OS/2)nomesmocomputador;
MultitarefaReal(Vriastarefasrodandoaomesmotempo);
Multiusurio(Vriosusurioslogadossimultaneamentenosistema);
Suporteanomesextensosdearquivosediretrios(suportaat255caracteres);
Nohanecessidadedesereiniciarosistemaapsamodificaodasconfiguraes;
Norequeridaumalicenaparaseuuso;
Suportavriossistemasdearquivos(EXT/2/3,NTFS,FAT/16/32,MINIX,etc...);
RodaaplicaesDOSeWindowsatravsdeemuladores(DOSEMU,WINE);
Vriosservidores(WEB,EMAIL,FTP,SAMBA,DNS,etc..)podemestarlocalizadosnomesmo
computador.

SejaumProfissionalAprendendocomProfissionais7

LinuxSystemAdministration

Instalao
Ainstalaopodeserfeitadediversasformas

CDROM;

HD;

REDE(utilizandoprotocolos);

NFS(NetworkFileSystem);

SAMBA(integramaquinaswindows);

HTTP(fazatransferenciadearquivospelobrowser)

FTP(Faztransferenciadearquivosmaiseficienteemaisrpida)

Reiniciaramquina,entrarnoSETUP,mudaroprimeirobootdamaquinaparaCDROM,salvare
sair.
NOTA:Estespassosdeinstalao,soexclusivosparaadistribuioSlackware.

Passo1)Bootcomocdromdeinstalao
Aoinserirodiscodebootnocdrom,selecioneaopodaBIOSparabootatravsdaunidade
deCDROM.Aoiniciarosistema,ateladebootdoslackwareirsolicitaraformadeinicializaro
sistema.Nestecasobastapressionar<enter>.

SejaumProfissionalAprendendocomProfissionais8

LinuxSystemAdministration

Passo2)Escolheroteclado
Apspressionar<enter>edefinirqualokernelserinicializado,serdisponibilizadaumatela
ondedevesedefinirqualolayoutdetecladoserutilizado.Nestecasobastadigitar<1>epressionar
atecla<enter>.

Naprximatelafoiescolhidootecladoabnt2comacentos.Apsaescolhadoteclado,ser
disponibilizadaumajanelaparatestedoteclado.Casootecladoestejacorreto,bastadigitar<1>e
pressionar<enter>.Casootecladoescolhidonosejaoideal,pressione<2>e<enter>eretornepara
ateladeescolhadeteclados.

SejaumProfissionalAprendendocomProfissionais9

LinuxSystemAdministration

Passo3)Logarnosistema

Apsaescolhadoteclado,sersolicitadoumlogindeusurioparacontinuarainstalaodo
sistemaoperacional.Nestecasobastadigitarrootepressionar<enter>.

Passo4)Particionarodiscorgido
Motivosparaparticionamento:
Segurana:Existemopesquedeterminamosmodosdefuncionamentodosistemadearquivos,e
conseqentementeoquepossvelfazercomosdadoslgravados.Diretrioscontendoarquivosdo
sistema, podem em grande parte funcionar em um modo que permite apenas leitura, evitando
destruiodosistemaatmesmoporusuriosprivilegiados.Outrosdiretrios,comooresponsvel
pelainicializaodosistema,noprecisamnemmesmoestardisponvelaosusurios.Aseparao
destesdiretriosempartiesseparadasgaranteestenvelextradecontroleesegurana.
Espaoemdisco:OfuncionamentonormaldeumsistemaLinuxdependedeumacertaquantidade
livredeespaoemdisco.Imaginequeumdeterminadoprocesso,ouusurio,foradecontrole,comece
apreencheroespaodisponvelemdisco.Estasimplesaocolocariaaestabilidadedosistemaem
SejaumProfissionalAprendendocomProfissionais10

LinuxSystemAdministration
cheque.Aodedicarumapartioparausuriosoudeterminadosprocessos(quetemnecessidades
legtimas de gravar dados), o sistema permaneceria sem modificaes em uma situao igual
apresentadaprimeiramente.
Velocidade:Casoseusistemapossuamaisdeumdisco,adistribuiodediferentesreasdosistema
entre os discos trar melhorias na performance do sistema. Imagine que voc est iniciando
automaticamenteumaplicativo(instaladoemumapartionoprimeirodisco)aoclicarsobreocone
deumdocumento(armazenadoemumaoutrapartio,emumoutrodisco).Osistemaconsegue
enviarordensdeleituradedadossimultaneamenteparaosdoisdiscos,quecolocamoaplicativoeo
documentoemmemriaemumtempomuitomenor.
Proteocontraerrosfsicos: Danosfsicosaodiscopodemcausaracorrupodosistemade
arquivos como um todo, dificultando ou impossibilitando a leitura de todos os dados nele
armazenados. A separao de reas em parties, e conseqentemente em sistemas de arquivos
diferentes,diminuioestragocausadoporumdanofsico.
Apsologin,devemoscriaraspartiesparaainstalaodonossosistema.Nesteservidorsero
criadas5parties,seguindoosseguintespassos:

a)acessarodisco
# fdisk /dev/hda

SejaumProfissionalAprendendocomProfissionais11

LinuxSystemAdministration
b)criandonovasparties
Command(mforhelp):n

c)definindoseapartioprimariaouextendida.Nonossocasoserprimria.Paraisto,bastadigitar
<p>.
Commandaction
eextended
pprimarypartition(14):

Apsescolherpartioprimria,sersolicitadoonmerodapartio.Nestecasodevemos
digitar<1>paraprimeirapartio.
Partitionnumber(14):

d)definindootamanhodapartio:logoapsaescolhadonmerodapartio,devemosdefinirqual
seropontoinicialdapartio.Nestecasobastapressionar<enter>.
Nota:Paraasnossasinstalaes,opontoinicialsempreserdefinidopressionandoatecla<enter>.

Firstcylinder(14870,default1):

Devemosdefiniragoraopontofinaldapartio.
Lastcylinderor+sizeou+sizeMor+sizeK(14870,default4870):+75M

e)criandopartioextendida.
Command(mforhelp):n

Devemosdigitar<e>elogoaps<2>paraindicaronmerodapartioextendida.
Commandaction
eextended
pprimarypartition(14):

SejaumProfissionalAprendendocomProfissionais12

LinuxSystemAdministration
e
Partitionnumber(14):2
Firstcylinder(104870,default10):

Devemospressionar<enter>paraselecionartodoorestantedodisco.
Lastcylinderor+sizeou+sizeMor+sizeK(104870,default4870):

f)criandoasegundapartiodosistema.
Command(mforhelp):n

Commandaction
llogical(1orover):
pprimarypartition(14):

Devemosescolher<L>delgica.
Firstcylinder(114870,default4870):
Lastcylinderor+sizeou+sizeMor+sizeK(114870,default4870):+256M

g)criandoaterceirapartiodosistema.
Command(mforhelp):n

Devemosescolher<L>delgica.
Commandaction
llogical(2orover):
pprimarypartition(14):

Devemosescolher<L>delgica.
Firstcylinder(434870,default4870):
Lastcylinderor+sizeou+sizeMor+sizeK(434870,default4870):+256M

h)criandoaquartapartiodosistema.
Command(mforhelp):n

Devemosescolher<L>delgica.
SejaumProfissionalAprendendocomProfissionais13

LinuxSystemAdministration
Commandaction
llogical(3orover):
pprimarypartition(14):

Devemosescolher<L>delgica.
Firstcylinder(754870,default4870):
Lastcylinderor+sizeou+sizeMor+sizeK(754870,default4870):+30000M

i)criandoaquintaeltimapartiodosistema.
Command(mforhelp):n

Devemosescolher<L>delgica.
Commandaction
llogical(4orover):
pprimarypartition(14):

Devemosescolher<L>delgica.
Firstcylinder(37234870,default4870):

Devemospressionar<enter>paraselecionartodoorestantedodisco.
Lastcylinderor+sizeou+sizeMor+sizeK(37224870,default4870):

Apsfinalizarasparties,devemosescolhertipodosistemadearquivos.Nestecasoiremos
mudarosistemadasparties5e6paraswap.
Definindootipodapartio5.
Command(mforhelp):t
Partitionnumber(18):5
Hexcode(typeLtolistcodes):82

Definindootipodapartio6.
Command(mforhelp):t
Partitionnumber(18):6
Hexcode(typeLtolistcodes):82

SejaumProfissionalAprendendocomProfissionais14

LinuxSystemAdministration
Apstodasasconfiguraespodemosvisualizarseestatudocorretoatravsdaopo<p>
Command(mforhelp):p
Disk/dev/hda:40.0GB,40060403712bytes
255heads,63sectors/track,4870cylinders
Units=cylindersof16065*512=8225280bytes
DeviceBootStartEnd

Blocks

System

/dev/hda11 10

80293+

/dev/hda211

4870

39037950

/dev/hda511

42

257008+

Linuxswap

/dev/hda643 74

83

Id

82

257008+

Linux

82

Extended
Linux

swap
/dev/hda775

3722

29302528+ 83

Linux

/dev/hda83723

4870

9221278+

Linux

83

j)Salvartodasasconfiguraes.
Parasalvartodasasconfiguraesdevemosescolheraopo<w>.
Command(mforhelp):w
Callingioctl()torereadpartitiontable.
Syncingdisks.

Passo5)Iniciandoainstalaoatravsdosoftwaredeinstalaodoslackware
Devemosagoradigitar<setup>,parainiciarosoftwaredeinstalao.

SejaumProfissionalAprendendocomProfissionais15

LinuxSystemAdministration

Passo6)FormatandoaspartiesdeSWAP
Nestepasso,escolhadiretoa3opoADDSWAP.

Apsfeitaaescolhadapartioconfirmecom<yes>aformataodaspartiesdeSWAP.

SejaumProfissionalAprendendocomProfissionais16

LinuxSystemAdministration

Passo7)Formatandoasoutrasparties.
ApsotrminodaformataodaspartiesdeSWAP,teremosqueindicaremqualpartio
devemosinstalarapartioraiz(/).Nestecasodevemosescolherapartio/dev/hda8.

Na prximateladevemosconfirmarsedesejamosformatarapartioindicada.Devemos
confirmarpressionando<enter>.

Aprximatelasolicitaquensindiquemosqualotipodesistemasdearquivosqueiremos
utilizarparaestapartio.Nestecasovamosutilizarosistemadearquivosext3.

SejaumProfissionalAprendendocomProfissionais17

LinuxSystemAdministration
Apsestaescolhaumatelacomotamanhodosblocosdealocaodearquivosserdisponibilizada.
Devemosutilizaraopode4096blocks.

Apsaformataodapartioraiz,osoftwaredeinstalaoirretornarateladeescolhadas
parties.Escolhaapartio/dev/hda1edefinacomo/boot;partio/dev/hda7edefinacomo/var.

Passo8)Definindoamdiaquecontmosarquivosdeinstalao.
Apsaformataodetodasaspartiesoprogramadeinstalaodisponibilizadaumatela
ondedevemosinformarafontequecontmosarquivosparainstalao.Nestecasodevemosescolher
aprimeiraopo.

SejaumProfissionalAprendendocomProfissionais18

LinuxSystemAdministration

Logoapsdevemosdefinirseabuscapelamdiaautomticaoumanual.Nestecasodevemos
definircomomanual.

Passo9)Escolhendoospacotesqueseroinstalados
Aps o sistema detectar os arquivos de instalao, ser disponibilizada uma tela com os
aplicativosquepodemserinstalados.

SejaumProfissionalAprendendocomProfissionais19

LinuxSystemAdministration

Devemosescolhertodosospacotesdosgrupos:
[A]:basedosistemalinux
[D]:pacotesdedesenvolvimento
[F]:pacotescomalistasdeFAQ's
[K]:pacotesdedesenvolvimentodoKernel
[KDE]:pacotesdoambientegrficoKDE
[L]:pacotescomasbibliotecas
[N]:pacotesdosaplicativosderede

Apsaescolhadospacotes,serdisponibilizadaumatelacomotipodeinstalao,escolhaa
opomenu,epressione<enter>nasprximastelasdeconfirmaoeaguardaracpiadosarquivos.

SejaumProfissionalAprendendocomProfissionais20

LinuxSystemAdministration

Passo10)Escolhadolocaldokernel

Apsainstalaodospacotesescolhidos,umanovatelaserdisponibilizadaparaquepossa
mosinformarqualaordemdebuscapelokernel.Nestecasoiremosescolheraltimaoposkip.

SejaumProfissionalAprendendocomProfissionais21

LinuxSystemAdministration

Passo11)Geraododiscodeboot
Nestatelaserquestionadosedesejamoscriarumdiscodeboot.Nestecasonoiremoscriar
estediscodeboot.Iremosescolheraoposkip.

Passo12)Configuraodomodem
Nestateladisponibilizadaaconfiguraodomodem,casoeleexistanamquina.Nonosso
casoiremosmarcaraoponomodem,poisnoexistemodememnossoservidor.

Passo13)HabilitarHotPlug
Nesta tela devemos informar se queremos que o sistema linux ao inicializar carregue os
dispositivosHotPlugs(dispositivosUSBemgeral).Nestecaso,vamosmarcaraopo<yes>.

SejaumProfissionalAprendendocomProfissionais22

LinuxSystemAdministration

Passo14)ConfiguraodoLILO
Aprximateladeconfiguraoadolilo,nestecasovamosmarcaraoposimple.

Emseguida,umateladecomandosespeciaisparaoLILOsermostrada,nestenossocaso
vamossimplesmenteconfirmarcom<enter>

SejaumProfissionalAprendendocomProfissionais23

LinuxSystemAdministration

Apsaescolhadolilo,umanovatelamostraque devemosescolherondeolilodeverser
gravado.IremosgravlonaMBR,paraistobastamarcaraopoMBR.

Passo15)ConfiguraodoMouse
Nestaopodevemosescolherotipodomouseutilizado.Podemosmarcaraprimeiraopo,
mesmonotendoummousepresenteemnossamquina.Bastapressionar<enter>emps2.

SejaumProfissionalAprendendocomProfissionais24

LinuxSystemAdministration
Naprximateladevemosconfigurarseomouseserinicializadoemmodotexto.Nestecaso
vamosmarcaraopoyes.

Passo16)ConfiguraodaRede
A prximatelairpermitirquesejarealizadoaconfiguraodarede.Nestecasovamos
confirmarmarcandoaopo<yes>.

a)Naprimeiraopoiremosdefinironomedamquina.Nossocaso:server.

SejaumProfissionalAprendendocomProfissionais25

LinuxSystemAdministration
b)Naprximaopoiremosdefinirodominio:Nossocaso:3way.com.br
c)NaprximaopoiremosdefinircomoserconfiguradonossoendereoIP.Iremosutilizara
opostaticip.

d)InseriroendereoIP:192.168.0.1
e)Inseriramscaraderede:255.255.255.0
f)Inseriroendereodogateway:192.168.0.254
g)inseriroendereodoservidordenomesDNS:192.168.0.254

Passo17)ConfirmaodasconfiguraesdeRede
Nestetelabastaconfirmaroscampospreenchidos.
SejaumProfissionalAprendendocomProfissionais26

LinuxSystemAdministration

Passo18)Definindoosserviosquedeverosercarregadosaoiniciarosistema
Nestecasosomenteconfirmecom<enter>

Passo19)Configuraoprviadefonte
Nestecasomarqueaopo<No>.

SejaumProfissionalAprendendocomProfissionais27

LinuxSystemAdministration

Passo20)Escolhadotipodeatualizaodorelgiodamquina
Nestecasovamosmarcar<No>.

Passo21)EscolhadoFusoHorrio
NonossocasovamosescolheroAmrica/So_Pauloeconfirmarcom<enter>

Passo22)DefinirasenhadoAdministradordosistema(root)
Bastaconfirmarcom<enter>paradefinirasenhadoroot.

SejaumProfissionalAprendendocomProfissionais28

LinuxSystemAdministration

Passo23)Finalizandoainstalao
AinstalaodoSlackwareLinuxfoifinalizada,bastaconfirmarcom<enter>ereiniciaro
sistema,digitando<ctrl>+<alt>+<del>,oudigitandoreboot.

SejaumProfissionalAprendendocomProfissionais29

LinuxSystemAdministration

IniciandooSistemaOperacional
Parateracessoaosistema,entrecom:
login:<informarumlogindosistema>
password:<informarasenhadologin>
Apsologon,opromptdecomandosiniciado,eficaraguardandoporcomandosdigitadosporns
usurios,daseguinteforma:
[root@host/root]#

Onde:
root:Mostraousurioqueestlogadonosistema.
host:Mostraonomedamquina.
/root:Indicaodiretrioatual.
#:Indicaqueosuperusurioqueestlogado.
NOTA:Quandoqualquerusuriocomumestlogadonosistemaasuaindicaoocaractere$(almdonomedeusurio)como
alternativaaocaractere#.

ComandosBsicos
Nolinux,todososcomandosteroaseguinteforma:
[COMANDO][OPES][PARAMETROS]
Listarcontedodediretrios
Sintaxe:ls[opo][arquivo]
#lsa:listaarquivosocultos.
#lsl:listadetalhadamente;
#lsF:listamostrandootipodoarquivo
#lsla:listatodocontedododiretrionoformatolongo(detalhando).

SejaumProfissionalAprendendocomProfissionais30

LinuxSystemAdministration

Mostrarodiretrioatual
Sintaxe:pwd
#pwd

Entrar/Sairdediretrios
Sintaxe:cd[diretorio]
#cd/:entradentrododiretrioraizdosistema.
#cd../:voltaumnvel
#cd/bin
#cd/usr/bin:entradentrododiretrio/usr/bin.
#cd/etc/sysconfig/networkscripts/
#cd../../../(caminhorelativo)
#cd:retornaaodiretrioimediatamenteanterior
#cd~/oucd$HOME:retornaaodiretriodousurio(/home/fulano)

CriandoDiretrios
Sintaxe:mkdir[opo]<nomediretrio>
#mkdir3way:criaapasta3waynodiretrioatual.
#mkdirlinux:criaapastalinuxnodiretrioatual.
#mkdirp1/p2/p3/p4/:Erro!necessrioumaopo.
#mkdirpp1/p2/p3/p4/:p4dentrodep3queestdentrodep2queestdentro
dep1.
p:criarvoresdediretrios
#mkdird1d2d3:Socriadososdiretrios(d1,d2ed3)nomesmonvel.

CopiandoArquivoseDiretrios

SejaumProfissionalAprendendocomProfissionais31

LinuxSystemAdministration
Sintaxe:cp[opo]<origem><destino>
#cp/etc/passwd/root:copiaoarquivodesenhaspasswdparaodir./root.
#cp/root/passwd/root/passwd.bkp:copiaoarquivopasswdparapasswd.bkp
#cp/etc/shadow/etc/group/tmp:copiaosarquivosshadowegroupparaodir.
/tmp.
#cp/etc/*.conf/tmp:copiatodosarquivoscomextenso.confpara/tmp.
#cp/etc/*/tmp:copiatodosarquivos(nodiretrios)para/tmp.
#cpf/etc/*/tmp:copiatodosarquivoscomextenso.confpara/tmp.f=
forcaacpiadearquivos.Nocopiadiretrios.
#cprf/etc/*/tmp:copiatodoconteudododiretrio/etcpara/tmp.r=
cpiarecursiva.

Incluirarquivosediretrios
CriandoArquivosVazios
Usadoparacriararquivosdelog(usadoporaplicaes),porexemplo.
Sintaxe:touch[arquivo]oucat>[arquivo]
#touch~/arquivo.txt
#cat>~/teste.txt:PressioneCtrl+Dparasalvaesair.

RemovendoDiretrios
Sintaxe:rmdir[opo]<nomediretrio>
#rmdir3way:removeapasta3waynodiretrioatual.
#rmdir/etc:Erro!diretrionovazio.
#rmdirp1/p2/p3/p4/:Erro!necessrioumaopo.
#rmdirpp1/p2/p3/p4/:removearvoresdediretriosnaordemp4/p3/p2/p1
p:removeaspastasrelacionadas.
#rmdird1d2d3:removeosdiretriosd1,d2ed3donvelatual.
NOTA:Ocomandormdirnousadonapraticaporqueremoveapenasdiretriosvazios.Umaalternativaaestecomandoa
utilizaodocomandorm,mostradoabaixo.

SejaumProfissionalAprendendocomProfissionais32

LinuxSystemAdministration
RemovendoArquivoseDiretrios
Sintaxe:rm[opo]<arquivo/diretrio>
#rm/tmp/*.conf:removetodosarquivoscomextenso.confdodir./tmp.
Solicitaconfirmao.
#rmf/tmp/*.conf:foraaremoodetodosarquivos.confdodir./tmp.No
solicitaconfirmao(f).
#rmrf/tmp/*:removerecursivamente(r)todoocontedode/tmpsem
confirmao(f).

CUIDADO!Autilizaodocomandormcomaoporf,poisgeralmentemuitodificilrealizar
arecuperaodearquivosnosistemaLinux.

Movendo/RenomeandoArquivoseDiretrios
Sintaxe:mv<opo><origem><destino>
#mv~/teste.txt/tmp:moveoarquivoparaodir./tmp.(~/=indicao
diretriopessoaldousurio)
#mv/tmp/teste.txt~/:moveoarquivoparaodir.pessoaldousurio(~/)
#mv/tmp/shadow.:moveoarquivoparaodir.Atual(.)
#mv~/arquivo.txt~/arq.txt:renomeiaoarquivo.txtparaarq.txt

Visualizaodocontedodearquivos
Comandohead
visualizaasprimeiras10linhasdoarquivo,porpadro.
Sintaxe:head<opo><arquivo>
#head/etc/passwd:mostraas10primeiraslinhasdoarquivopasswdporpadro.
#headn20/etc/passwd:mostraas20primeiraslinhasdoarquivopasswd.

SejaumProfissionalAprendendocomProfissionais33

LinuxSystemAdministration
Comandotail
Visualizaasultimas10linhasdoarquivo,porpadro.
Sintaxe:tail<opo><arquivo>
#tail/etc/passwd:mostraas10ultimaslinhasdoarquivopasswdporpadro.
#tailn20/etc/passwd:mostraas20primeiraslinhasdoarquivopasswd.
#tailf/var/log/messages:ficalendooarquivoininterruptamente(f).Usada
paraarquivosdelog.

Comandocat
Estecomandopodeserutilizadoparacriararquivos,maseletambmpodeserutilizadoparamostrar
contedodearquivos,vejanoexemplo:
Sintaxe:cat<opo><nomedoarquivo>
#cat/etc/termcap:mostraocontedodoarquivo/etc/termcap.
#catn/etc/termcap:mostraocontedoecontaaslinhasdoarquivoincluindo
linhasembranco.
#catb/etc/termcap:idemaoanterior.Pormnocontalinhasembrancodo
arquivo.

Comandosort
Sintaxe:sort<opo><arquivo>
# sort d /etc/group : ordena as linhas do arquivo /etc/group na ordem de
dicionrio.(a,b,c,d,...,aa,ab,ac...)
#sortr/etc/group:ordenaaslinhasdoarquivo/etc/groupnaordeminversa
dedicionario.(z,x,v...;zz,zx,zv...)

Comandogrep
Procurapelaocorrnciadeumastringnoarquivoespecificado
Sintaxe:grep<opo><expresso><arquivo>
#grepingocidades.txt:procuraaslinhasdoarquivoqueaparecem
expressogoeindicaalinhaqueestesestonatela.

i=ignoraadiferenadetamanhodoscaracteres(g==G)
v=mostraaslinhasquenoapareceastring

SejaumProfissionalAprendendocomProfissionais34

LinuxSystemAdministration
c=mostraonmerodevezesquefoiencontradaaexpressoncolocaonmerodalinhaem
quefoiencontradaaexpresso.
Noexemploacimaoarquivocidades.txtexisteebuscadoocorrnciasdaslabagodentrodoarquivo.
ComandosdePaginao
Oscomandosdepaginaosonecessriosquandodesejamoslerumdeterminadoarquivo
pausadamente.Soeles:moreeless.
Comandomore
#more/etc/termcap:mostraocontedodoarquivotermcap.Ocomando
finalizadoautomaticamenteaoseufinal.

Estecomandopossuivriosrecursos:
[enter];andalinhaalinhanoarquivo;
[barradeespao]:andapginaapginanoarquivo;
[h]ou[?]:visualizaohelp;
[b]:retornaatelaanterior;
[q]:saidopaginadormore.

Comandoless
#less/etc/termcap:mostraocontedodoarquivotermcap.Ocomandono
finalizadoautomaticamenteaoseufinal,parasairpressione<q>.

Estecomandopossuivriosrecursos:
[enter];andalinhaalinhanoarquivo;
[barradeespao]:andapginaapginanoarquivo;
[h]:visualizaohelp;
[b]:retornaatelaanterior;
[q]:saidopaginadormore.
/nome:buscaapalavranomenoarquivo.

SejaumProfissionalAprendendocomProfissionais35

LinuxSystemAdministration
DesligandooSistemaOperacionalLinux
#halt:desligaosistemaimediatamente.
#shutdownhnow:desligaosistemaimediatamente.Enviaumamensagempratodos
osusurioslogadosnosistema.
#shutdownh30Ateno:OSistemaserdesligadodentrode30minutos!:
enviaamensagementreaspasduplasparatodosusurioslogados.

ReiniciandooSistemaOperacionalLinux
#reboot:reiniciaimediatamente.
#shutdownrnow:reiniciaimediatamente.Enviaumamensagempratodosos
usurioslogadosnosistema.(r==reboot)
#shutdownr30Ateno:oSistemaserreiniciadodentrode30minutos
#<Ctrl+Alt+Del>:reiniciaosistema.Essaopopodeserdesabilitadano
arquivo/etc/inittab.

RedirecionamentodeEntradaeSaida
Ocomputadorformadopordiversoscomponentes,muitasvezesconhecidoscomoperifricos,sendo
osseusprincipaisomonitoreoteclado,quesemestesnoteriasadaouentrada,respectivamente,
paraosistema.
Estesdoiscomponentesformamoprincipalmeiodecomunicaoentreusurioeocomputador,com
funesbemdistintasentreeles.Otecladoforneceaentradadeumdeterminadodadoinicialparao
sistema,eomonitorasadadainformao.
Existemoutrosmeiosdecomunicaoentreousurioeocomputador,masestassoasprincipais,
podemservirdeentradadedadosomouse(emdiversosprogramas,emmaioriagrficos),scanner,a
rede,CDROMoudisquete,ecomosada(almdomonitor)aimpressora,arede,CDROMou
disquete,existemmuitosoutrostantoparaaentradaquantoparaasada,masestessoos mais
SejaumProfissionalAprendendocomProfissionais36

LinuxSystemAdministration
conhecidos.
OssistemasUNIX,incluindooLinux,lidamcom3dispositivosbsicos:

Entradapadro,tambmconhecidoporSTDIN

Sadapadro,tambmconhecidoporSTDOUT

Sadadeerropadro,tambmconhecidoporSTDERR

Os sistemas UNIX tambm possuem um conceito interessante, onde tudo um arquivo. Este
conceitopermiteescreveremdispositivosexternosexatamentedamesmamaneiraqueseescreveem
arquivos.Conseqentemente,osdispositivosbsicosmencionadosacimasotambmarquivos.
Programas UNIX, incluindo o shell, lidam com arquivos atravs de descriptores, nmeros que
representamumdeterminadoarquivoqueestabertoparaleiturae/ouescrita.
Aentradapadro,asadapadroeasadadeerropadro,tambmpossuemestesdescriptores.Segue
umatabelacomoresumodestesdispositivos,incluindoonmerodosdescriptoresdearquivo.

Dispositivo

Apelido

NmerodoDescriptor MapeadoporPadro
deArquivo

Para:

Entradapadro

STDIN

Teclado

Sadapadro

STDOUT

Monitor

Sadadeerropadro

STDERR

Monitor

Ousodoredirecionamentomuitosimples,enquantoqueomonitoraformapadrodesadade
informaes,eotecladoaformapadrodeentrada,umoutroarquivooudispositivopodemassumiro
papeldestesdispositivosdeentradaesadapadro.
Executar determinadas operaes e direcionar o resultado para um arquivo pode ser bem mais
convenientequeterquecopilasmanualmentedatelaparaumarquivo.Ocontedodestesarquivos
(o resultado gerado por determinado comando), pode ento ser manipulado normalmente, sendo
SejaumProfissionalAprendendocomProfissionais37

LinuxSystemAdministration
possvel,porexemplo,apesquisadealgumvalor.

RedirecionamentodeSada
Umexemploderedirecionamentodesadautilizandoocomandolsla;estecomando,porpadro,
lista todo contedo contidos dentro do diretrio atual incluindo detalhes sobre cada arquivo ou
diretrioemostraoresultadonatela,certo?Aoinvsdeutilizarmosasadapadro,omonitor,do
comandolsla,iremosutilizarumarquivocomoalternativa.Paraissoutilizamosoredirecionadorde
sadaqueindicadocomumsinaldemaiorque,>.Vejaoexemplo:
#lsla>saida.txt

Observeque,comaexecuodestecomandonoapareceunenhumasadanomonitor,queasada
padro.Observetambmqueumarquivocomonomesaida.txtfoicriadanodiretrioatual.Executeo
comandocatsaida.txt,asadaqueeraparaaparecernatelafoiredirecionadaparaestearquivo.

RedirecionamentodeEntrada
Antesdeexemplificarumredirecionamentodeentrada,vamosfazeroseguinte:
Crieumarquivocomonomecidades.txtcontendoocontedo:Goinia,Anpolis,Damolndia,Nova
Era,Aparecida,Goiansia.Cadacidadeemumalinha!
Oarquivodeverficardaseguinteforma:
Goinia
Anpolis
Damolndia
NovaEra
Aparecida
SejaumProfissionalAprendendocomProfissionais38

LinuxSystemAdministration
Goiansia

Comandosort
Ordenaaslinhasdoarquivo.
Executeeverifiqueasadadocomando.
#sortcidades.txt

Apsavisualizaodocomandoacima,vamosverumexemploderedirecionamentodeentrada.Para
isso,podemosutilizarcomoentradaoarquivocidades.txtparaacriaodeumoutroarquivode
sada,porexemplo.Oredirecionamentodeentradaindicadocomumsinaldemenorque,<.
Vejaoexemplo:

#sort<cidades.txt>cidadessordenadas.txt

Ocomandoacimarecebeoarquivocidades.txtcomoentradaeredirecionaparaumarquivodesada,
cidadesordenadas.txt.

Pipe
Aidiaprincipaldousodocomandopipe("|")fazercomqueoscomandostrabalhememconjunto.
Umcomandotrabalhandosozinhogeralmentelimitadoquantosuafuncionalidade,revelandouma
outracaractersticadossistemasoperacionaisUNIX:faaapenasumacoisa,masfaaabem.
OspipesfacilitamotrabalhoemequipedosutilitriosUNIX.Nestecenrio,cadaaplicativoexecuta
determinadaoperaonoarquivo,epassaoresultadoparaoprximoutilitrio.Penseempipescomo
umalinhadeproduo,ondeasdeterminadasetapassorealizadaspordiferentesutilitriosUNIX.

SejaumProfissionalAprendendocomProfissionais39

LinuxSystemAdministration
Seexecutarmosocomandols/etcoresultadoquesermostradonasadapadro(monitor)sermuito
rpida.Parapausarasadadestecomandopodemosutilizaroscomandodepaginao(moreouless).
Vejaoexemplo:

#ls/etc|more
#ls/etc|less

Outroexemplo:
#catcidades.txt|grepigo

Ocomandocatcidades.txt,fazcomquesejamostrado,nasadapadro,todocontedodoarquivo
cidades.txt.Comautilizaodopipecomocomandogrep(|grep)fazcomqueasadanatelamostre
apenasaslinhasquecontenhaapalavrago.Nocaso,GoiniaeGoiansia.

Metacaracteres
Tmseosseguintesarquivosem/home/aluno:arq,arq1,arq2,doc,doc3edoc555.
*representaqualquerquantidadedequalquercaractere.
Exemplo:ls*
Resposta:arq,arq1,arq2,doc,doc3,doc555.
?representaumnicoequalquercaractere.
Exemplo:lsarq?
Resposta:arq1,arq2.
[]Indicaumalistadecaracteres.
Exemplo:lsdoc[123456789],oulsdoc[19]
Resposta:doc3
SejaumProfissionalAprendendocomProfissionais40

LinuxSystemAdministration

{}Indicaumaseqnciadecaracteres.
Exemplo:lsdoc{1,2,3,33,555}
Resposta:doc3,doc555.

SejaumProfissionalAprendendocomProfissionais41

LinuxSystemAdministration

EstruturadeDiretrios
Aestruturadediretriosorganizadaemformadeumarvore,paraumamelhororganizaodos
arquivosdeconfiguraodosistemaefacilitarabuscadosmesmos.Cadadiretriopossui uma
finalidade,soelas:
/:odiretrioraizdosistema.Todososoutrosdiretriosestoabaixodele.Osmaisimportantesso:
/bin: diretrio que contm todos os comandos do sistema operacional, caso um comando no
funcione,seuarquivonoestnodiretrioouoarquivoestcorrompidoouaindaocomandospode
serexecutadosomentepeloroot.
/boot:odiretrioquecontmokerneletodosarquivosnecessriosparaainicializao.
/dev:diretrioquecontmtodososarquivosdosdispositivosdehardwaredoS.O(pl.derede,vdeo,
hd,floppy,mouse,impressora,etc).
/etc:odiretrioquecontmosarquivosdeconfiguraolocaldamquina.Umadministradorde
umarede90%dotempoeleestarnestediretrio.
/home:odiretrioquecontemaspastasdetrabalhodetodosusurioscomunsdosistema.
/lib:diretrioquecontmasbibliotecasdosistemasoperacionallinux.
/mnt:diretriorecomendadoparaamontagemdosdispositivos(floppy,cdrom,etc)
/opt:diretriorecomendadoparainstalaodeaplicativos.semelhanteaodiretrios"Arquivosde
Programas"doWindows.

SejaumProfissionalAprendendocomProfissionais42

LinuxSystemAdministration
/proc:diretrioespecialdolinux.Nele,possuitodososprocessosemexecuodosistema.Este
diretrioficaarmazenadosomentememriavoltio(RAM),nofisicamentenodisco.
/root:odiretriodetrabalhodoadministradordosistema(superusurio).
/sbin:diretrioquecontmasferramentasdeconfiguraodosistema.Ex.:fdisk(particionador),fsck
(scandisk),mkbootdisk(criadiscodeboot),ifconfig(configurapl.derede),lilo(gerenciaordemde
boot),lspci(listaosdispositivosdehardwaredetectados),etc.
/tmp:diretrioquepossuiosarquivostemporriosgeradospelasaplicaes/utilitrios.
/usr: diretrio que contm os principais aplicativos do sistema (ambientes grfico, jogos, etc).
semelhanteapasta"windows"dowin98.
/var:possuiosarquivosvariveis,quemodificamcomopassardotempo(spooldeimpresso,arq.de
log,etc).

Dispositivos
Jverificamosquenodiretrio/devpossuitodososarquivosdeconfiguraodosdispositivosde
hardware,mascasopreciseconfigurarumaplacaderede,porexemplo,qualarquivo(dispositivo)
referenciar?Serocitadososprincipaisarquivosdeconfiguraodosdispositivosdehardware.So
eles:

PortasSeriais
Windows

Linux

COM1

ttyS0

COM2

ttyS1

COM3

ttyS2

SejaumProfissionalAprendendocomProfissionais43

LinuxSystemAdministration
PortasParalelas
Windows

Linux

LTP1

lp0

LTP2

lp1
DiscosFlexveis

Windows

Linux

A:

fd0

B:

fd1
HardDisk

Windows

Linux

C:

hda:masterIDE1

D:

hdb:slaveIDE1

E:

hdc:masterIDE2

F:

hdd:slaveIDE2
PlacadeRede

Windows

Linux

EthernetAdapter1

eth0

EthernetAdapter2

eth1

EthernetAdapter3

eth2

SejaumProfissionalAprendendocomProfissionais44

LinuxSystemAdministration

ConsolesVirtuais
PorserumSistemaOperacionalmultiusurioemultitarefa,olinuxtrabalhacomconsolesvirtuais,
quesonadamaisqueterminaisdetrabalho,sejaelegrficooutexto.Porpadro,existem6consoles
texto,e6consolesgrficas,comomostraabaixo:
<F1><F2><F3><F4><F5><F6><F7><F8><F9><F10><F11><F12>
||||
ConsolesTextoConsolesGrficas
Para alternar entre as consoles, texto ou grfica, basta pressionar simultaneamente as teclas
CTRL+ALT+Fx.Ondexumnmerode1a12,ouseja,F1F12.
Cada ambiente grfico, possui outros subambientes (4 precisametente), alm de diversos shells
(xterm)quefuncionacomoopromptdecomandosdowindows.Ouseja,olinuxsimulaoambiente
texto atravs de prompt de comandos que se chama xterm (esse nome pode variar entre as
distribuies).
Paracarregarumambientegrficodigite:startx.Sedesejarcarregarmaisde1ambientegrfico
digite:startx:2,casosejao2ambientegrfico;startx:3,casosejao3eassimpordiante.

EditoresdeTexto
Nolinuxhvrioseditoresdetexto,entreelesesto:
Joe
Elvis
Emacs
mcedit
vi

Qualutilizar?Isso,vocdecide.Omaisutilizadooviporqueelemaisrpido,eficienteepossui
vriosrecursos.

SejaumProfissionalAprendendocomProfissionais45

LinuxSystemAdministration

Parautilizarosrecursosdovi,digite:viarquivo.txt
Porpadro,aoiniciarovi,eleencontrasenomododecomandos,ouseja,paracomearaescrever
algumacoisanoarquivo,primeiroomododeescritadeveserhabilitado.Paraisso,qualquerumadas
teclas<i>,<insert>ou<o>podemserpressionadas.Paradesativaromododeescrita(ouativaro
mododecomandos)pressioneatecla<esc>.Outrainformaoqueinteressantecomentarmosque
oeditorvicasesensitiveoscaracteresmaisculossediferemdosminsculos,ouseja,apalavra
3way diferentede3WAY quesodiferentesde3Way.Essainformaoimportantequandose
desejalocalizaralgumapalavranotexto.
Agora,ativeomododeescritaeediteoarquivocomocontedo:
3waynetworkssoluesemTI.
SOLUESEMSISTEMASLINUX
Fone:32899311.
3waynetworkssoluesemTI.
SOLUESEMSISTEMASLINUX
Fone:32800123.

Agoravamoschecaralgumasdasfuncionalidadesdoeditordetextovi.Paraissopressione<esc>para
ativaromododecomandos.
Pressione:
:w=salvaoarquivo.
:q=saidoarquivo.
:wq=salvaoarquivoesai.
o=ativaomododeescritafazendoquebradelinha.
:q!=saidoarquivosemsalvarasalteraes.
:w!=salvaforado.Algunsarquivosorootnotempermissopragravar.
yy=copiaalinhaondeseencontraocursor.
pp=colalinhasqueestoembuffer.
dd=deletaalinhaondeseencontraocursor.

SejaumProfissionalAprendendocomProfissionais46

LinuxSystemAdministration
10yy=copiaas10primeiraslinhasabaixodocursor.
10dd=deletaas10primeiraslinhasabaixodocursor.
/3way=procuraasocorrnciasdapalavra"3way"notexto.
n=procuranovasocorrnciasdapalavra3waynotexto..
:!comando=executacomandosdentrodovi.Ex.::!ls/home
:50=caminhaparalinha50.
:1,ns/3way/3WAY=substituitodasasocorrnciasdalinha1alinhana
palavra3waypor3WAY.
:%s/Fone/Telefone=substituitodasasocorrnciasdapalavraFonepor
Telefone.

Mtools
MtoolssoferramentasDOSparaUNIX.Sservemparamanipulaodediscosflexveis.Paraa
utilizaodessaferramentaodiscoflexvelnodeveestarmontado. Paravisualizaroscomandos
suportadospelaferramentadigite:mtools.
Oscomandosmaisutilizadosso:
mtools:mostraquaisoscomandosexistentes.
#mtools

mdir:listaocontedododisco.
#mdira::listaocontedododisquete.

mcopy:copiaumcontedo.
#mcopy/etc/passwda::copiaoarquivopasswdparaodisquete.
#mcopya:\teste.txt/tmp/:copiadodisqueteoarquivoteste.txtparao/tmp.

mdel:apagaarquivosdentrododisquete.
#mdela:\teste.txt:apagadoa:oarquivoteste.txt

SejaumProfissionalAprendendocomProfissionais47

LinuxSystemAdministration
mmd<nomediretrio>:criadiretriosdentrododisquete.
#mmda:\3way:criaodiretrio3waynodisquete.

mformat:formataocontedododisquete.
#mformata:

mdeltree:deletaarvoredediretrios.
#mdeltree3way:apagaodiretrio3wayetodoseucontedo.

mmove:moveumarquivododisquete.
#mmovea:\passwda:\usuarios:moveoarquivopasswddodisquetepara
usuarios

mren:renomeiaarquivosdodisquete.
#mrenusuariospasswd

mtype:visualizaocontedodearquivocontidosnodisquete.
#mtypea:\passwd:mostraocontedodoarquivoa:\passwd

SejaumProfissionalAprendendocomProfissionais48

LinuxSystemAdministration

PaginasdeManuais
Permiteobterinformaessobreoscomandosnolinux.Representaumaajudaimportanteparaos
comandos.
Comandoman
Sintaxe:man<comando>:manuaisdeinformaessobreoscomandos.
#mancp:mostraomanualdocomandocp

Comandoinfo
Sintaxe:info<comando>:mostraomanualeletronicodeinformaessobreocomando.(mais
completoqueosman's.Possuiatualizaesmaisrescentes).
#infocp

Comandohelp
help:mostraumaajudadocomando.Mostrasomenteasopesparaocomando.
Sintaxe:<comando>help
#cphelp

CriandoLinks
Existemdoistiposdelinks:hardlinkesimboliclink.
Hardlink: Aocriarumhardlinkdeumarquivo,oarquivocopiadonodiretrioatualeacada
modificaoquefeitaemumdosarquivos(originalouhardlink)serrepercutida,tambm,no
arquivooposto.Porexemplo:Setemosoarquivo/tmp/testecomocontedotestedehardlink,eum
hardlinkqueapontepraessearquivo(queteromesmocontedo)qualquermodificaoqueser
feita,tantonoarquivotestecomonohardlinkserorepercutidasnoarquivooposto.Ouseja,seeu
abriroarquivo/tmp/testeeacrescentarafrase

SejaumProfissionalAprendendocomProfissionais49

LinuxSystemAdministration
Olamundoesalvar,aoabrirohardlinkesteteromesmocontedoqueseriatestedehardlink.
OlaMundo.
NOTA:Nopossvelcriarhardlinksdediretrios,somentedearquivos!

Sintaxedocomando:ln<arquivooriginal><nomedohardlink>
#ln/tmp/testehardlinkteste

SimbolicLink:Funcionacomoumatalhoparaoarquivo.
Sintaxedocomando:lns<arquivooriginal><nomedolink>
#lns/tmp/testeatalhoteste

s:indicaqueumlinksimblico.

ComandosdeBusca
Comandofind:localizastringsnolinux.
Sintaxe:find[diretrioondeiniciaabusca]<opo>[arquivo/diretrio]
# find / iname *lilo.conf* : busca uma string (name) (arquivo/diretrio)
lilo.conf apartir do diretrio raiz (/) do sistema. Ignorando o tamando
maiusculaseminsculas(i).
i:ignoramaiusculaseminsculas
name:indicaqueserbuscadoumastring.

#find/iname*lilo.conf*>saida.txt:gravatodasassadasdabusca
dentroarquivosaida.txt.
#find/iname*lilo.conf*2>erros.log:gravasomenteassadasdeerro
dentrodoarquivoerros.log.
#find/iname*lilo.conf*1>validas.log:gravasomenteassadasvlidas
dentrodoarquivovalidas.log.

Comandowhereis:localizastringsnolinux.

SejaumProfissionalAprendendocomProfissionais50

LinuxSystemAdministration
Sintaxe:whereis<palavraaserbuscada>
#whereispasswd:localizaastringpasswdnolinux.

Comando locate/updatedb: O comando locate utiliza um banco de dados. Para se utilizar esse
comando necessrio estar atualizando seu banco com os novos arquivos/diretrios que foram
criados.Paraistodeveseexecutarocomandoupdatedb(comoroot)
#updatedb

Sintaxe:locate<palavraaserbuscada>.
#locatepasswd:localizatodasasstringsquecontenhaapalavrapasswdno
BancodeDados.

CompactaodeArquivos
Olinuxpossuidiversosaplicativosparacompressodeaquivos,sendoquecadaumdelesutilizaum
algoritmodiferente.Entreelesesto:

gzip:
Ocomandogzipusadoparacompactar/descompactararquivos.Oarquivooriginalsubstitudopor
umarquivocompactadocomaextenso.gz
Sintaxe:

gzip<opes><arquivos>:compacta
gunzip<opes><arquivos.gz>:descompacta

#gzip/tmp/termcap:oarquivotermcapsercompactado.
#gunzip/tmp/termcap.gz:oarquivotermcap.gzserdescompactado.

bzip2:
Ocomandobzip2usadoparacompactar/descompactararquivos.Oarquivooriginalsubstitudopor
umarquivocompactadocomaextenso.bz2

SejaumProfissionalAprendendocomProfissionais51

LinuxSystemAdministration

Sintaxe:

bzip2<opes><arquivos>:compacta
bunzip2<opes><arquivos.bz2>:descompacta

#bzip2/tmp/termicap:Oarquivotermcapsercompactado.
#bunzip2/tmp/termcap.bz2:Oarquivotermcapserdescompactado.

compress:
Ocomandocompressusadoparacompactar/descompactararquivos.Oarquivooriginalsubstitudo
porumarquivocompactadocomaextenso.Z.Aferramentagzippodeserusadaparadescompactar
arquivoscomestaextenso.
Sintaxe:

compress<opes><arquivos>:compacta
uncompress<opes><arquivos.Z>:descompacta

#compress/tmp/shadow:Compactaoarquivoshadow.
#uncompress/tmp/shadow.Z:Descompadtaoarquivoshadow.Z

Empacotamento
zip:
Ocomandozipusadoparacompactareempacotararquivos.tilparaempacotamentodeuma
sriedearquivosparadistribuio.Nosubstituiosarquivosoriginaisapsoempacotamento.
Sintaxe:

zip<opes><arquivo_zip><arquivos>
unzip<opes><arquivo_zip>

#ziparquivo.zip/tmp/*:empacotatodosarquivosdo/tmpparaaquiivo.zip
#unziparquivo.zip:desempacotaoarquivoarquivos.zip

SejaumProfissionalAprendendocomProfissionais52

LinuxSystemAdministration
tar:
Permitecopiararquivosedepoisrestauralos,paraefeitodebackupdeseguranae/outransportede
dadosatravsdeummeiofsico(CD's,Floppy's,Fitas,etc...).
Ocomandotarpermitequecrie,atualizeourecuperebackups.
Sintaxe:tar<opo><arquivos>

#tarcvfarquivo.tar/tmp/*:empacotaosarquivosde/tmp.
c:criaumnovoarquivo.tar
v:mostraoqueestacontecendonatela.
f:indicaqueonomedoaquivoserespecificado(arquivo.tar)

#tartfarquivo.tar:listatodososarquivosempacotadosnoarquivo.tar
t:listaarquivosempacotados
f:indicaqueserespecificadoonomedoarquivo.

# tar rvf arquvo.tar teste.txt : acrescenta o arquivo teste.txt no aquivo


arquivo.tar
r:indicaqueseracrescentadoumnovoaoarquivo.tar.
v:mostraoqueestacontecendonatela.
f:indicaqueonomedoarquivoserindicado

#tarxvfarquivo.tar:desempacotaoarquivo.tar
x:indicaqueoarquivoserdesempacotado.

# tar cvfz arquivo.tar.gz /tmp/* : empacota e compacta todos os arquivos do


diretrio/tmpecriaumarquivo.tar.gz.Utilizaogzipparaacompactaodos
arquivos.
z:compactaoarquivo.tarcomgzip(.gz).

#tarxvfzarquivo.tar.gz:descompactaedesempacotaoarquivo.tar.gz
x:indicaqueoarquivoserdesempacotado.
z:Indicaqueoarquivoestcompactadocomgzip

#tarcvfjarquivo.tar.bz2/tmp/*:empacotaecompactatodososarquivosdo

SejaumProfissionalAprendendocomProfissionais53

LinuxSystemAdministration
diretrio/tmpecriaumarquivo.tar.bz2.Utilizaobzip2paraacompactaodos
arquivos.
j:compactaoarquivo.tarcomobzip2(.bz2)

#tarxvfjarquivo.tar.bz2:descompactaedesempacotaoarquivo.tar.bz2
x:indicaqueoarquivoserdesempacotado.
j:Indicaqueoarquivofoicompactadocombzip2,antesdeempacotalo.

MontagemdeDispositivos
Comandomount:montadispositivosnolinux.
Sintaxe:mount<opo><dispositivo><pontodemontagem>

Comandoumount:desmontadispositivosnolinux.
Sintaxe:umount<opo><dispositivo><pontodemontagem>

#mount:mostraquaisosdispositivosestomontados.

# mount t vfat /dev/fd0 /mnt/floppy : monta o dispositivo fd0 (disquete) no


diretrio/mnt/floppy.Aopotsignificaqueserindicadootipodearquivo
dodispositivo(ntfs,vfat,ext3,iso9660sistemadearquivodeCD's,etc).

#umounttvfat/dev/fd0/mnt/floppy:desmontaodispositivo
#mounttiso9660/dev/cdrom/mnt/cdrom:montaoCDROM
#umounttiso9660/dev/cdrom/mnt/cdrom:desmontaoCDROM
#mount/mnt/floppy:monta
#umount/mnt/floppy:desmonta
#mount/dev/fd0:monta
#umount/dev/fd0:desmonta
NOTA:Amontagem/desmontagemdos4ltimosexemplos,spossvelporqueexisteumarquivonolinux(/etc/fstab)quefaza
refernciaentreodispositivoepontodemontagem.Paravisualizarocontedodoarquivodigite:cat/etc/fstab.

#eject:desmontaodispositivo(/dev/cdrom)eabreagavetadecdrom.

SejaumProfissionalAprendendocomProfissionais54

LinuxSystemAdministration
#ejectt:fechaagavetadocdrom

Fdformat
Comandofdformat:formataodisquetefisicamente,noatribuindonenhumsistemadearquivosno
dispositivo.
Sintaxe:fdformat<opes><dispositivo>

#fdformat/dev/fd0:formataodispositivo/dev/fd0(disquete)

Mkfs
Aferramentamkfsutilizadaparacriarsistemasdearquivos(mkfs=makefilesystem)emum
dispositivo.
Sintaxe:mkfs<opes><sistemadearquivos><dispositivo>

#mkfstext3/dev/fd0

Fdisk
Autilizaodessaferramentapossveleditartabelasdepartiesnolinux.
Sintaxe:fdisk<opes><dispositivo>
Ofdiskumparticionadordedispositivos(HD,floppy,etc)noumrelocadordepartio.Quala
diferena?Umrelocadordepartionodestriaspartiesjexistentesnodispositivo,eleapenas
editaessasparties(aumenta,diminui,mudasistemadearquivo,etc);joparticionador,destri
todasaspartiescriadasnodispositivo.Porissousaremosofloppydisk,comoexemplo,paracriar
taisparties.
Abraofdisk.Paraissodigite
#fdisk/dev/fd0

Onde:fd0odispositivo(floppy)queseencontraem/dev.Odisquetedeveestardentrododrive!
SejaumProfissionalAprendendocomProfissionais55

LinuxSystemAdministration

Quandoaparecerlinhacomando(mparaajuda):significaqueocomandofoiexecutadocom
sucessoeofdiskestaberto,podendoagorautilizarasfuncionalidadesdofdisk.
Pressioneatecla<m>,logoapspressione<enter>pravisualizarasopesdofdisk.
comando(mparaajuda):m

Comando

Ao

alternaasopesdebootemcadapartio.

deletaumapartio.

listaostiposconhecidosdeparties

visualizaodohelp.

criaumanovapartio.
p=partioprimria.
e=partioestendida.
l=lgica.

listaatabeladepartiesexistentes.

saidofdisksemsalvar

mudaaidentificaodeumapartionosistema.

modificaaidentificaodasunidades.

fazverificaodatabeladeparties

gravaasmodificaesesai.

Vamoscriaralgumasparties.Paraissopressioneatela<n>denewparacriarumanovapartio
nodispositivofd0.
comando(mparaajuda):n
Comandoao
eestendida
ppartioprimria(14)
p

Nmerodapartio(14):1(1partioqueestamoscriando)

SejaumProfissionalAprendendocomProfissionais56

LinuxSystemAdministration
Escolhaocilindrodeinicio(180):<enter>selecionao1cilindro.
Escolhaoultimocilindro(180):+100K<enter>(Kemmaisculo)

Pressionepdeprintparavisualizaraspartiescriadas.

Paracriaroutraspartiesrepitaoprocessoacima,lembrandoquespodemsercriadas,nomximo,
4partiesnodispositivoseestasforemdotipoprimria.Paracriarmaisde4parties,crieuma
partioestendidaedentrodelacrienpartieslgicas,sendon<=12quandoodispositivoforoHD.

GerenciamentodeContasdeUsurios
OlinuxumS.O.Multiusurio,portanto,necessrioquetodososusuriossejamcadastradosno
sistema.
CriandoUsurios
Sintaxe:useradd<nomedousurio>ouadduser
#useraddaluno

Aoexecutarocomando,vriosarquivossomanipuladosouutilizados.Soeles:
1Ousurioadicionadonoarquivo/etc/passwd,/etc/shadowe/etc/group.
2criadoseudiretriopessoal/home/alunocomsuaspermissesdeacesso(drwx)
3 So copiados alguns arquivos do /etc/skel/ : .bashrc, .bash_profile, .bash_logout, para
/home/aluno.
Obs.:Aindaousurioalunonopodelogarnosistema.Ousurionopossuisenha!

Criar/AlterandoSenhaDeUsurio
Sintaxe:passwd<nomedousurio>
#passwdaluno

Aoexecutarocomandoserpedidoparaqueousurioentrecomasenha2vezes.Logoapsasenha
criptografadaeinseridanoarquivo/etc/shadow.
Paraumusuriocomumalterarsuasenhabastaefetuarologonnosistemaedigitarocomando
SejaumProfissionalAprendendocomProfissionais57

LinuxSystemAdministration
passwd,semnenhumparmetro.
Apenasorootpodeexecutarocomandopasswd<parmetro>,ondeparmetroonomedousurio
queorootdesejaalterarasenha.

DeletandoUsurios
Sintaxe:userdel<opo><nomedousurio>

#userdelaluno

Estecomandodeletaasentradasnosarquivos/etc/passwd,/etc/shadowe/etc/group.Estecomando
nodeletaapastapessoaldousurio/home/aluno.
#userdelraluno

Estecomandodeletaasentradasnosarquivos/etc/passwd,/etc/shadowe/etc/grouptambmremove
todaseudiretriodetrabalhorecursivamente.(rmrf/home/aluno)

AdicionandoGruposNoSistema
Maneirautilizadapeloadministradordosistemaparadefinirperfissemelhantesentreosusurios
cadastradosnosistema.
Sintaxe:groupadd<opo><nomedogrupo>
#groupaddcpd:Criaogrupocpdnosistema,desdequeelenoexista.
# groupadd f cpd :Cria o grupo cpd foradamente mesmo que ele j exista no
sistema.

Aoexecutarocomandogroupaddesteinsereaentradadonovogrupodentrodoarquivo/etc/group.
Paravisualizardigite:cat/etc/group.
Exemplodocontedodestearquivo:

SejaumProfissionalAprendendocomProfissionais58

LinuxSystemAdministration
...
cpd:x:507:
srh:x:508:
...

Paraindicarqueosusuriospertencematalgrupo,bastainserirnofinaldalinharelativaaogrupoo
nomedosusuriosseparadosporvirgula.Ex:
...
cpd:x:507:fulano,beltrano,maria,joao,rafael
srh:x:508:junior,jorge,claudio,jose
...

Mudandoodonodearquivosediretrios
Sintaxedocomando:chown<opo><novodono><arquivo/diretrio>
#chownfulanoarquivo.txt:mudaodonodoarquivoparafulano.
#chownbeltranodiretorio/:mudaodonododiretrioparabeltrano.
#chown R beltrano diretorio/ : muda o dono da arvore de diretrio
(recursivamente)parabeltrano.

Mudandoogrupodearquivosediretrios
Sintaxedocomando:chgrp<opo><arquivo/diretrio>
#chgrpcpdarquivo.txt:mudaogrupodoarquivoparacpd.
#chgrpsrhdiretoriosrh/:mudaogrupodapastadretriosrhparasrh.
#chgrp R cpd diretoriocpd/ : muda toda arvore do diretoriocpd para cpd
recursivamente.

Mudandodonoegrupoaomesmotempo
Sintaxedocomando:chown<novodono><:novogrupo><arquivo/diretrio>
#chownfulano:cpdarquivo.txt
#chownbeltrano:srhdiretoriosrh/

SejaumProfissionalAprendendocomProfissionais59

LinuxSystemAdministration
#chownRrafael:cpddiretoriocpd/

VerificandoInformaesdosUsurios
Comandoid
Sintaxe:id<opo><nomedousurio>
#idaluno:mostrainformaesdousurio(UID,GID,Gruposquepertence)

Comandofinger
Sintaxedocomando:finger<opo><nomedousurio>
#fingeraluno:mostrainformaesdousurio(Login,Nome,DiretrioPessoal,
Shell)

SejaumProfissionalAprendendocomProfissionais60

LinuxSystemAdministration

PermissesdeArquivoseDiretrios
Arespeitodesteassunto,devemossaberque:
Oroottempermissesparaacessar/modificarqualquerdiretrioouarquivonolinux.
Cada arquivo ou diretrio no linux est associado a um dono e um grupo com suas
respectivaspermissesdeacesso(r,w,x).
Paravisualizaraspermissesdeumarquivooudiretrionolinux,omelhorcomandoparasedigitar
ocomandolsl.
#lsl
rwrrL/SDDGTM/DHarquivo/diretrio
0123456789

Onde:
0:Indicaotipodoarquivo.Seumarquivocomum.Sedumdiretrio.
123:indicaaspermissesdodonodoarquivo(D)
456:indicaaspermissesdogrupodoarquivo(G).
789:indicaaspermissesdosoutrosusuriosdosistema.
L/SD:seLindicaonmerodelinksqueapontamparaoarquivoseSDindicaonmerode
subdiretriosdentrododiretrio.
D:indicaodonodoarquivo.
G:indicaogrupodoarquivo.
M/D:IndicaoMseDiaqueoarquivo/diretriofoicriado/modificado.
H:indicahoradecriaodoarquivo/diretrio.
Arquivo/diretrio:nomedoarquivo/diretrio.
Osmodosdeacessodearquivosediretriossointerpretadosdemaneiradiferente.Vejaatabela
abaixo:

SejaumProfissionalAprendendocomProfissionais61

ModosdeAcesso

LinuxSystemAdministration
Arquivos

Diretrios

Podelerocontedodoarquivo

Podevisualizarocontedodo
diretrio.

Podeeditaroarquivo

Podemodificarocontedodo
diretrio

Podeexecutaroarquivo

Podeentrarnodiretrio

PadroDeCriao
Todoarquivo/diretriosnolinuxpossuiumpadrodecriao,quechamadodeumask.Parasabero
padrodecriaodeseusarquivosdigite:umaskepressioneenter.Veremosqueopadrodecriao
0022(ignoreoprimeirozero).Issoindicaqueaspermissesiniciaissero:rwrrparaarquivose
drwxrxrxparadiretriossertratadomaisafrenteopadrodecriaoumask.
Paratermoscertezadisso,vamoscriarumarquivoeumdiretrio.Executeoscomando:
#toucharquivo.txt
#mkdirdiretorio
#lsl

Vejaaspermisses.Casoaspermissesnoforemsmesmascitadasacima,oproblemacomcerteza
estcomopadrodecriaodosarquivos.Verifiqueseoumask0022.Senofordigiteumask022
paratornaloeexecuteoscomandosnovamente.
AlterandoPermissesdeArquivoseDiretrios
Comandochmod
Sintaxe:chmod<opo><arquivo/diretorio>
Finalidade:permitirquealtereaspermissesdeumoumaisarquivosoudiretrios.
NOTA:Somenteosuperusurioouodonodoarquivo/diretriopodemalterarsuaspermisses.

Crieoarquivo:chmod.txt.Paraissoexecuteocomando:
SejaumProfissionalAprendendocomProfissionais62

LinuxSystemAdministration
#touchchmod.txt;lsl

Existemduasformasparaalteraraspermissesdearquivos/diretrios.Umautilizandosmbolos
parareferenciaraspermissesdodono,grupoeoutrosusurios.Essessmbolossorespectivamente:
u,g,o.Umaoutraformautilizandovaloresoctaisparafazeressasreferencias.

Smbolo

Descrio

indicapermissesdodonodoarquivo.

indicapermissesdogrupoparaoarquivo.

indicapermissesdosoutrosusuriosparaoarquivo.

indicatodos(u,g,o)

Operadores

Descrio

ConcedePermisso

RemovePermisso

AtribuiPermisso

Permisses

Descrio

Leitura

Escrita

Execuo

Oarquivochmod.txtcriadoanteriormentepossuiasseguintespermisses:rwrr.Vamosalterar
essaspermissespara:rwrw,ouseja,odonoeogrupopodemlereescrever(rw)eosoutros
nopodemfazernada,poiselesnopossuempermisso.Quandosedesejaalteraraspermissesde
umarquivooudiretriosimportantevisualizaraspermissesatuaisdeste(usandoocomandolsl)
parasaberoquedeveseracrescentadoe/ouretirado.
#lsl
#chmodg+w,orchmod.txt

A1opoacima(g+w)significaqueapermissodeescrita(w)estsendoacrescentada/concedida
(+)paraogrupo(g),entoogrupoalemdelerpoder,tambm,escrevernoarquivochmod.txt.
SejaumProfissionalAprendendocomProfissionais63

LinuxSystemAdministration
A2opo(or)significaqueapermissodeleitura(r),paraosoutrosusuriosdosistema(o),est
sendoremovida(),entoestesnoteropermissoparaexecutarnenhumtipodeoperaono
arquivochmod.txt.
Agoraaltereaspermissesdestearquivopara:rwrwrw,ouseja,odono,grupoeoutrospodem
ler/escrevernoarquivochmod.txt.
Algunsexemplospossveis:
#chmodo+rwchmod.txt
#chmodu+rw,g+rw,o+rwchmod.txt
#chmodo=uchmod.txt
#chmoda=rwchmod.txt

Exerccios:
1crieosseguintesarquivos:modo1,modo2,modo3emodo4.
2mudeaspermissesdestes,respectivamente,para:
a)rrrwx
b)rwrx
c)rwxx
d)rwrwrw

2forma:Utilizandovaloresoctais

Simbolo

ValorEquivalente

Por exemplo, temos o arquivo teste.txt com as seguintes permisses: rwrr. Que valor
representariaessaspermissesemoctal?Aresposta644.
Naspermissesdoarquivotexte.txt,sabemosqueu=rw,g=reo=r.Sabemostambmquer=4,w=2e
SejaumProfissionalAprendendocomProfissionais64

LinuxSystemAdministration
ox=1,entoserepararmosonumero644podemosperceberqueseusvaloresdepermissoparacada
tipodeusurio(u,g,o)foramsomados:
u=rw=4+2+0=6
g=r=4+0+0=4
o=r=4+0+0=4
u+g+o=644.

Ovalorzero(0)significaquenopossuemtipodeacesso(r)=(4+0+0).
Exerccios:
1qualvaloroctalrepresentaasseguintespermisses:
a)rwrrwx
b)rrwxrwx
c)rwrr
2crieosseguintesarquivos:teste1,teste2,teste3eteste4.Todosterosuaspermissesdaseguinte
forma:rwrr
3mudesuaspermisses,respectivamente,usandoomodooctal,para:
a)rwxrxw
b)rr
c)rwx
d)rwrwr
4executeocomandolsleanaliseaspermisses.

SejaumProfissionalAprendendocomProfissionais65

LinuxSystemAdministration

PadrodeCriao
umask
022==rwrr==644.Essesvaloresindicamasmesmaspermisses,mastotalmentediferentes.
Paradefiniropadrodecriao(umask)indicamososvaloresqueestofaltandonapermisso.Como
porexemplo:rwrrnaspermissesdodonoestfaltandoox=1,nogrupofaltamw=2ex=1,e
paraoutrosusuriosfaltamw=2ex=1nomesmo?Entopegamososvaloresqueestofaltando
queseria133.Comonopossvel,porpadro,definirapermissodeexecuo(x=1)paraarquivos,
entodecrementamosovalor1decadapermisso,ouseja,133111quenosdoresultadoiguala
022.

SejaumProfissionalAprendendocomProfissionais66

LinuxSystemAdministration

GerenciamentodePacotesRPM
EntendendoosPacotes
Namaioriadoscasos,umaplicativonoformadoapenasporumnicoarquivoexecutvel,massim
por um grande nmero de arquivos, como arquivos de traduo (potfiles), arquivos auxiliares,
arquivos de documentao e arquivos de configurao. Assim, bastante complexa a tarefa de
instalaodeumaplicativomanualmente;aindamaisdifcilamanutenodeseusarquivos.Muitas
vezesumanovaversodoaplicativotornaalgunsdeseusarquivosobsoletoseentooadministrador
dosistematemdeapagaroarquivoantigoparaevitarumacmulodearquivosinteis.Umpacote
um arquivo que, alm de conter os arquivos necessrios para a instalao de um determinado
aplicativo, contm tambm as informaes necessrias para que o gerenciador de pacotes possa
instalar,mantereremoverprogramas.
Umarquivotpicodepacoteseparececomoseguinte:emacs20.711cl.i386.rpm
Estes nomes de arquivos seguem um padro. Os nomes dos arquivos de pacotes RPM contm
informaessobreaversoeaarquiteturasquaissedestinam.Nocasoacima,oarquivodizquese
tratadopacotedo"Emacs",verso20.7,release11clequeelefoicriadoparaplataformaIntel386.
Todos os arquivosdepacotesRPMtmoformadoNomeDoPacoteversaorelease.arquitetura.rpm
parapermitirreconhecervisualmenteoarquivo.Vocpoderencontrartambmpacotescomnomes
noformatoNomeDoPacote
versao.src.rpm.Essespacotesnocontmosbinriosdeumaplicativoparasereminstaladosmassim
osseusarquivosfonteseso(nagrandemaioriadoscasos)independentesdearquitetura.
ApesardevriasdistribuiesdeLinuxutilizarempacotesdotipoRPM,issonosignificaqueeles
sejamiguaisequeumpacotefeitooriginalmenteparaumadistribuioirfuncionarperfeitamente
em outra. Alm dos arquivos que compem um determinado aplicativo, o pacote RPM contm
tambminformaesdecomoinstalar,emquelocalcopiarosarquivos,comoconfigurar,etc.Essas
informaes adicionais podem ser diferentes de uma distribuio para outra, ento, para evitar
problemas,oadministradordeveprocurarsempreutilizarpacotesfeitosespecificamenteparaasua
SejaumProfissionalAprendendocomProfissionais67

LinuxSystemAdministration
distribuio.
UtilizandooRPMpossvel:Instalar,Atualizar,RemovereConsultarpacotesnaBasedeDados
RPM.
InstalandoumpacoteRPM(opoi)
#rpmivhemacs20.711cl.i386.rpm

i:Indicaqueopacoteserinstalado.
v:Mostrainformaesdoprocessodeinstalao
h:Indicaaporcentagemdainstalaoutilizando#comoindicador.
A instalao depacotesfoidesenvolvidaparaseromaissimplespossvel,pormeventualmente
algunserrospodemocorrer.Soeles:
Pacotejinstalado:Irapareceramensagem:packagepacote.rpmjestinstalado!Paraignorara
mensagemeinstalaropacotenovamentevocdeveindicaressadecisoaoRPM.Paraissoacrescente
oparametroforceaocomando,comonoexemplo:
#rpmivhemacs20.711cl.i386.rpmforce

Arquivoscomconflitos:seexistirumarquivojinstaladoporoutropacote,apareceraseguinte
mensagem:Estepacotenopodeserinstalado...Paraignorarestamensagemeinstalaropacotedeve
seacrescentaroparmetroreplacefilesnocomando,comonoexemplo:
#rpmivhemacs20.711cl.i386.rpmreplacefiles

Dependncia:Opacote.rpmqueestsendoinstaladodependedeoutropacotepreviamenteinstalado.
Aparecer a seguinte mensagem: falha de dependncia: pacoteXYZ.rpm necessrio para
pacote.rpm.Paraignoraressamensagemdeveseusaroparametronodepsparainstalaropacote.rpm
semchecarasdependncias.
Observeoexemplo:
SejaumProfissionalAprendendocomProfissionais68

LinuxSystemAdministration

#rpmivhemacs20.711cl.i386.rpmnodeps

AtualizandoumpacoteRPM(opoUemmaiusculo)
#rpmUvhemacs20.711cl.i386.rpm

U:IndicaqueopacoteserAtualizado.
v:Mostrainformaesdoprocessodeinstalao
h:Indicaaporcentagemdainstalaoutilizando#comoindicador.
Aatualizaodeumpacote.rpmnormalmentefeitaparaumaversoposteriordaversoqueest
instalada,maspodeacontecerqueanovaversonosatisfazsuasnecessidades,entovocsabequea
versomaisantigadestepacotepossuiasfuncionalidadesdequevocprecisa,certo?entobasta
atualizaraversoatualparaaantigaqueseuproblemaresolvido!ok?Empartessim.Vejaabaixo.
ParaqueoRPMconcordeematualizarumaversomaisantigadopacote,vocdeveinformarao
RPM que a versoquedesejaAtualizarmaisantiga.Paraissovocdeveusaroparametro
oldpackage.Comonoexemplo:
#rpmUvhemacs20.711cl.i386.rpmoldpackge

DesintalandoumpacoteRPM(opoe)
#rpmeemacs

e:indicaqueopacoteserdesinstalado.Observequeparadesinstalarumpacotedeveser
informado apenas o NomeDoPadote "emacs". Isso porque o pacote j est instalado. Por isso
importanteconheceroformatopadrodeumarquivoRPM.
Seumoutropacoteinstaladodependerdopacotequeestsendodesinstalado,apareceroseguinte
erro:aremoodestepacotequebrariadependncia:pacote.rpmnecessrioparapacoteXYZ.rpm.
SejaumProfissionalAprendendocomProfissionais69

LinuxSystemAdministration
Pararemoverassimmesmo,acrescenteoparmetronodeps.
#rpmeemacsnodeps

ConsultandoumpacoteRPM(opoq)
#rpmqemacs:mostraapenasopacotecomonomeemacs.
#rpmqa|grepemacs:mostratodosospacotesquecontenhaonomeemacs.Este
omelhorcomando(entreestes)paraserutilizadoquandodesejaconsultarum
pacotejinstalado.

SejaumProfissionalAprendendocomProfissionais70

LinuxSystemAdministration

PacotesTGZnoSlackware
OspacotesTGZdoSlackwaresobemmaissimplesqueosoutrostiposdepacotes.Elessoarquivos
empacotadosecompactadosemformato.tar.gz,comaestruturadediretriosigualaodosistemae
algunsscriptsadicionaiscominformaessobreopacote.Vocpodeverocontedodoarquivo
justamentedescompactandoemumdiretrioqualquerquevoctenhacriado.
Alm disso, nesse tipo de pacote, no h resoluo automtica de dependncias (quer dizer, h
gerenciadorestratadosmaisafrentequefazemisso,masnodeumaformaperfeita).Vamosaprender
agoracomousaralgumascoisasessenciaisparaospacotesdoSlackware.
NoSlackware,vocpodeutilizarummenucentralizadoouutilizaroscomandosseparadospara
manipularospacotesdosistema.Paraacessaromenucentralizado,digite:
#pkgtool

Nomenu,vocpoderfazerdeterminadasaesdependendodaopoquevocescolher:
OpoAo
CurrentInstalatodososarquivospacotes(.tgz)dodiretrioatual(ondevocexecutouocomando
pkgtool).
OtherInstalatodosospacotescontidosemumoutrodiretrio(vocirespecificar)
FloppyInstalatodosospacotescontidosemumdisquetequevocfornecer
RemoveRemoveumpacotejinstaladodosistema(elelhedaralistadepacotes)
ViewMostraumalistadospacotesdosistemaeseusdetalhes
SetupConfiguraalgunspacotesquepossuemscriptspraisso

SejaumProfissionalAprendendocomProfissionais71

LinuxSystemAdministration
Opesdocomandopkgtool
Ouvocpodeutilizaroscomandosindividuaisparaessastarefas.Porexemplo,sevocquiserinstalar
umpacote.tgz,faa:
#installpkgpacote.tgz

Ocomandoinstallpkgapenasinstalaumpacote,mesmotendoumaversoantigadestemesmopacote
jinstalado.Nessecaso,sevocinstalarcomoinstallpkg,seusistemaficarcomduasversesdo
pacote.Paraevitarissoquandoforfazerumaatualizaodeversodeumcertopacote,faa:
#upgradepkgpacote.tgz

Pararemoverumpacotedosistema,use:
#removepkgpacote

Seporacasovoctiverproblemascomopacoteedesejadescompactlodeformacorretapara
analisar(oquepodernosermuitocomumenecessriofazer),vocpodeutilizarocomando:
#explodepkgpacote.tgz

Eessessooscomandosindividuais.Existetambmomakepkg,quecriapacotes.tgzdeforma
simples.

SejaumProfissionalAprendendocomProfissionais72

LinuxSystemAdministration

GerenciamentodeProcessos
Paracadaprocessoexistente,osistemaoperacionalforneceumcdigo(PID)queoidentificar.H
tambmumahierarquiadeprocessos,ouseja,umprocessopodechamaroutro,queporsuavezchama
umterceiro,eassimpordiante.
Um processo que executa em segundo plano chamado de processo "pai", e o novo processo,
chamadode"filho".
Comojfoidito,oLinuxumsistemamultitarefa,oquelhepermiteexecutarmaisdeumprocesso
ousistema.Portantopossvelterprocessosemprimeiroplano,chamadodeforeground,bemcomo
emsegundoplano,chamadodebackground.
Seromostradosaqui,algunscomandosparatrabalharcomprocessos,soeles:
Ocomandops:mostraosprocessosativosnosistema.
Sintaxe:ps[opo]
#psaux

a:mostratodososprocessos;
u:incluinalistaosusuriosehoradoiniciodoprocesso;
x:incluiprocessosnoassociadosaumterminal.
Ocomando kill: permitequeosuperusurioouosdonosdosprocessospossaeliminarprocessos
ativosnosistema.
Sintaxe:kill[opo][sinal][PID]
#killl:exibeossinaisquepodemenviarparaumprocesso.

Sinal:
(9)SIGKILL:Quandoenviadoparaumprocesso,terminaasuaexecuo.
SuponhamosqueexistaumprocessonosistemacomoPIDiguala3784,ouseja,oidentificadordo
SejaumProfissionalAprendendocomProfissionais73

LinuxSystemAdministration
processo3784.Paraqueoprocessosejaeliminado,deveseexecutarocomandokilldeformaqueo
sinalenviadoaoprocessoelimineo.Segueexemplo:

#kill93784

9:sinalparaeliminarumprocesso;
3784:Identificadordeumdeterminadoprocesso(PID).

Top
O comando topmostraosprocessosemexecuo( temporeal).Omesmocomandoapresenta
informaes sobre tempo ativo da mquina, quantidade de ususarios logados, porcentagem de
memria,processadoresistemautilizado.
#top
top08:36:38up20min,2users,loadaverage:0.00,0.00,0.00
Tasks:30total,1running,29sleeping,0stopped,0zombie
Cpu(s):1.7%user,0.7%system,0.0%nice,97.5%idle
Mem:482308ktotal,46464kused,435844kfree,4020kbuffers
Swap:1012016ktotal,0kused,1012016kfree,28692kcached
PIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND
1root90260260232S0.00.10:03.77init
2root80000S0.00.00:00.00keventd
3root1919000S0.00.00:00.00ksoftirqd_CPU0
4root90000S0.00.00:00.00kswapd
5root90000S0.00.00:00.00bdflush
6root90000S0.00.00:00.00kupdated
7root90000S0.00.00:00.00scsi_eh_0
8root90000S0.00.00:00.00scsi_eh_1
9root120000S0.00.00:00.00mdrecoveryd
10root90000S0.00.00:00.00kjournald
46root90000S0.00.00:00.00kjournald
72root90620620532S0.00.10:00.02syslogd
75root90460460404S0.00.10:00.03klogd
318root90000S0.00.00:00.00khubd

SejaumProfissionalAprendendocomProfissionais74

LinuxSystemAdministration
4665root90524524464S0.00.10:00.00inetd
4669root100160416041324S0.00.30:00.03sshd
4682root90600600516S0.00.10:00.00crond
4684daemon90688688596S0.00.10:00.00atd
4687root90286828641888S0.00.60:00.01sendmail
4690smmsp90244424321632S0.00.50:00.00sendmail

SejaumProfissionalAprendendocomProfissionais75

LinuxSystemAdministration

ProcessodeInicializaodaMquina
BIOS MBR(lilo/grub) KERNEL INIT GETTY LOGIN SHELL
QuandoligamosocomputadoroprimeiroprogramaquecarregadooqueestnaBIOS
(SETUP),esteprogramatestaosdispositivosdehardwarepresentes(HD,Mem.,CPU,Cdrom,etc).
Apsestestestes,aBIOScarregaoGestordeIncioqueestlocalizadonaMBR(primeiros1024
bytes)MasterBootRecordouSetordeBootMestre,quetemcomoobjetivocarregarokerneldo
SistemaOperacionalescolhidonalistadeS.O.mostradosnoGestordeIncio.OsGestoresdeIncio
maisconhecidossooGRUBeoLILO.
NOTA:DaquiemdiantevamossuporqueoGestordeIncioqueencontrasenaMBRoLILOeoSistemaOperacionalescolhido
pelousuriooLINUX.

AocarregaroLILOestepassaporduasfases.Aprimeiraexecutarosetordebootpara
permitiromultiboot,casoexistavrioskernelsdiferentes;easegunda carregaraimagemdo
kernelescolhido.NopontoqueoKERNELcarregado,eleassumeocontroledainicializaodo
sistema.Suaresponsabilidadedetectarosdispositivosdehardwaresuportadosporeleecarregar
seusmdulos.Apsterfeitotodaessatarefa,okernelpassaocontroleparaoINITqueporsuavez
irmontarossistemasdearquivossuportadospelokernel,inicializarosserviosbsicosdamquina
(serviosdomouse,rede,teclado,etc.(seriaos[OKs]queaparecemnatela))outrosserviosque
podemsercarregadosnainicializaodamquinaseriadosservidores:web,email,samba,entre
outroscasoestesestejaminstaladoseconfigurados,claro!
Apso INIT oprximopassoaexecuodo GETTY queporsuavezdisponibilizaatelade
LOGIN(mingettyparaomodotextoekdmdokde,gdmdognomeouxdmdoXFree86paraomodo
grfico)queporsuavezaguardaumainteraodousurioqueadigitaodologinesenha.Aps
serpassadaessasinformaesfeitoachecagemnosarquivos /etc/passwd e /etc/shadow. Casoos
dadosinformados(loginesenha)sejamcorretos,algunsoutrosarquivossolidos/executados.So
eles:
SejaumProfissionalAprendendocomProfissionais76

LinuxSystemAdministration
/etc/profile

arquivo que indica caminhos de binrioscomandos (PATH), manuais das

ferramentas(MANPATH),configuraodepermisses,identificaodousurioedogrupo.Ele
indicadoparapassarcaminhosdeferramentasquesonecessriasamaisdeumusurio,evitando
assimaconfiguraopersonalizadaparacadausurio;
~/.bash_profile:arquivopessoalquetipicamentepossuioscaminhosdosbinriosdeusurioeou

ferramentas/scriptsquedevemserexecutadossomenteportalusurio;
~/.bashrc:estearquivoarmazenaasaliasesparacomandosnolinux(aliasessoapelidosparaos

comandos)quesurtemefeitosomenteparaousurioquepossuitalarquivo,ouseja,asaliasesdo
usurioXnosurtemefeitoparaousurioYeviceversa.
Aps a execuo destes trs arquivos nesta sequencia, ento disponibilizado um SHELL
(interpretadordecomandos)paraousurio.

SejaumProfissionalAprendendocomProfissionais77

LinuxSystemAdministration

InstalaoeconfiguraodoGestordeIncioLILO
LILO Linux Loader: o principal gestor de inicializao do Linux. Permite passagem de
configuraotantoemarquivosquantoporparametronainicializaodamquina.
Arquivodeconfigurao:/etc/lilo.conf
Estearquivopossuitodasasinformaesnecessriasparaainicializaodamquina,comoas
partiesativas,localparaumapossvelatualizaodolilo,localizaodasdiferentesimagensde
kernel,arquivoqueserapresentadoparaousurioaoiniciarolilo,entreoutrasfunes.
1passo:EditaroarquivodeconfiguraodoLILO.
#vi/etc/lilo.conf

01boot=/dev/hda

01informa a partio onde est instalado o setor de boot (MBR)

02map=/boot/map

02utilizadoparagravarosetordeboot,armazenaasopesdeboot.

03install=/boot/boot.b

03armazenaosdadosanterioresdaMBR.

04lba32

04permite que o boot do linux seja instalado aps o cilindro 1024.

05message=/boot/message
06timeout=100
07image=/boot/vmlinuz
08root=/dev/hdaX

05mensagem que aparecer para o usurio, ao carregar o lilo.


06tempoemdcimosdesegundosparacarregaroS.O.padro(default)
07indicaondeseencontraaimagemdokerneldolinux.
08indicaapartioXondeestmontadoodiretrioraiz(/)dosistema
09nomequeserapresentadonomomentodaseleodaimagem.

09label=linux

10paragarantiraconsistenciaeintegriadedodisco,casorodeofsck.

10readonly

11indicaapartioYdeoutroS.Oinstalado.

11other=/dev/hdaY

12nomequeserapresentadonomomentodaseleodoS.O.

12label=windows

13indicaapartioondeestarmazenadaatabeladeparties.

13table=/dev/hda

SejaumProfissionalAprendendocomProfissionais78

LinuxSystemAdministration
2passo:Criareeditaroarquivo/boot/message
#vi/boot/message

3passo:Paraescreverasopesdoarquivo/etc/lilo.confnosetordebootdigite:
#lilov

4passo:InstalaroLILOnaMBR:
#lilo

Inseriroutrosparmetrosnoarquivo/etc/lilo.conf:

prompt

foraainteraodousuriocomolilo.

default=linux

indicaaS.O.padroparasercarregado

timeout1200

tempoemdcimodesegundosparapoderescolheroS.O

vga=791

resoluo1024x768.

Oarquivoficardaseguinteforma:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
lba32
message=/boot/message
vga=791
default=linux
prompt
timeout=1200

image=/boot/vmlinuz
root=/dev/hdaX

label=linux

readonly

SejaumProfissionalAprendendocomProfissionais79

LinuxSystemAdministration
other=/dev/hdaY
label=windows
table=/dev/hda

Passandoparmetrosparaokernelatravsdolilo
linuxsingle:permitequeoLinuxsejainiciadonomodomonousurio(init1).Esteomodode

manutenodosistema.
linuxinit=/bin/bash:indicaotipodeinterpretadordecomandosquedeverserutilizado.
linuxroot=/dev/hda9:indicaapartioemqueencontrasemontadoodiretrioraizdosistema.

Nestecasoapartio9doHDmasterqueencontrasena1IDEhda9.

ConfiguraesdeSegurana
Autilizaodogerenciadorlilopodecomprometeraseguranadosistemacasooadministradorno
saibaacorretaconfiguraodoseuarquivodeconfigurao/etc/lilo.conf,deixandoumalacunapara
queaspessoasmalintencionadasacessemosistema.Oparmetrolinuxsingle(oulinuxs)permitem
queaspessoasacessemosistemacomomonousurio(init1).Nestemodonosolicitadologine
senhadeadministradorparalogarnosistemacomoroot,bastaapenasdigitarlinuxsingleoulinuxs
paraacessarosistemaeterpermissesparafazeroquequiser(mudarasenhadoroot,deletaros
arquivosdeconfiguraodosistemacomoosarquivos/etc/passwde/etc/shadow,entreoutros).
Parabarraresteacessoutilizadooparmetro password=senha (quesolicitarumasenha
sempreapsaescolhadosistemaoperacionalasercarregado)Exemplo1;eoparametrorestricted
usadoemconjuntocomopassword=senha(fazendocomqueasenha,sejasolicitadaapenasparao
modomonousurio(linuxsingle))Exemplo2.
1password=123456passwordquesersolicitadosempreapsaescolhadoS.O.
2restricted

solicitaasenhasomenteparaomododemanuteno(linuxsingle)

SejaumProfissionalAprendendocomProfissionais80

LinuxSystemAdministration

Oarquivoficardaseguinteforma:

Exemplo01

Exemplo02

boot=/dev/hda

boot=/dev/hda

map=/boot/map

map=/boot/map

install=/boot/boot.b

install=/boot/boot.b

message=/boot/message

message=/boot/message

vga=791

vga=791

default=linux

default=linux

prompt

prompt

timeout=1200

timeout=1200

password=123456

password=123456

image=/boot/vmlinuz

restricted

root=/dev/hdaX

image=/boot/vmlinuz

label=linux

root=/dev/hdaX

readonly

label=linux

other=/dev/hdaY

readonly

label=windows

other=/dev/hdaY

table=/dev/hda

label=windows
table=/dev/hda

Quandoutilizadaestconfigurao(password)outraconfiguraodeseguranamuito
importanteparaimpedirqueosoutrosusuriosdosistematenhamacessodeleiturasobreoarquivo
/etc/lilo.conf. Para isso altere as permisses relativas ao grupo e outros usurios do sistema,
executandoocomandochmodcomosmodos600(rw).Fazendoassim,comqueapenasoroot
possalerealterarocontedodestearquivo.
#chmod600/etc/lilo.conf

Senhaparaumapartioespecfica

possvelsetarumasenhaparaumapartioespecficaouparaumdeterminadoSistema
SejaumProfissionalAprendendocomProfissionais81

LinuxSystemAdministration
Operacional.SuponhamosqueestejaminstaladosnamesmamquinaoWindowseoLinuxeo
arquivo/etc/lilo.conftenhaaseguinteconfigurao:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
lba32
message=/boot/message
prompt
timeout=100
image=/boot/vmlinuz
root=/dev/hda5

label=linux

readonly

other=/dev/hda1
label=windows
table=/dev/hda

de seu interesse bloquear o acesso ao Sistema Operacional Windows por exemplo, que est
instaladonapartiohda1.Entobastaacrescentaroparmetro password=senha dentrodasesso
outros(other),oarquivo/etc/lilo.confficardaseguinteforma:
...
...
...
other=/dev/hda1
label=windows
password=12345
table=/dev/hda

SejaumProfissionalAprendendocomProfissionais82

LinuxSystemAdministration

OprocessoINITnainicializaodosistema
Notequeapsdacargadosmdulosdokernel,ocontroledosistemapassaparaoprocesso
INIT.Oinitexecutadopeloprpriokernel,quandoexecutaoarquivo/sbin/init.
O INIT executatodososscriptslocalizadosnodiretrio/etc/rc.d/queso: rc,rc.local e rc.sysinit
(estesserodetalhadosmaisafrente),realizandoassimainicializaodetodoosistema.
Oinitrealizaasseguintesfunes:
Configuraobsicadosistema:cargadomapadeteclado,nomedehost,ativaodarea
deswap.
Configurao final dos Hardwares: usb, placa de rede, etc; carga de mdulos;
Configuraoderede:interfacesderede,roteadores,firewall;
Inicializaodosservios:configuraodosservidores;
Executaredisponibilizarasconsoles virtuais:quepromoveainteraodosusuriosno
sistema.

Nveisdeexecuo(Runlevel)

Osrunlevelssonveisouformasdeinicializaodosistemaoperacionallinux.
Cada nvel de execuo possui seus arquivos que sero executados para inicializao da
mquina.Cadanveldeexecuoidentificadoporumnmeroquevaide0a6(0123456).

NveisdeexecuoemdistrobaseadasnoRedHat(Conectiva,Mandrake,Suse,Fedora,Linux)

Nvel

Descrio

Desligaosistema(nuncadefinircomoinitdefault)

Monousurio

Multiusuriosemacessoarede

Multiusuriocomacessoarede

Noutilizado

SejaumProfissionalAprendendocomProfissionais83

LinuxSystemAdministration
Modogrfico

6
Reiniciaosistema(nuncadefinircomoinitdefault)
Osnveisde2a5diferementreasdistribuies.Porexemplo:noDebianonivel2porpadro
multiusuriocomsuportearedeenoRedHatonvel2porparomultiusuriosemsuportea
rede.
Parasaberonveldeexecuoatual,execute:
#runlevel

O INIT sempreseroprocessodenmero1dosistema,umavezqueoprimeiroaser
executado.
Visualizeasadadocomandopsdaforma:
#psaux|grepinit
NOTA: Este comando filtra apenas os processos que contm a palavra init na lista de processos do ps aux.

ObservequeoPIDnoprocessoinit[niveldeexecuo]iguala1.ouseja,eleoprimeiro
processoaserexecutadonosistema.
O INIT tambmumprocessomonitorador,poisnorespondea nenhumsinaldekill:
SIGKILL,executadoporkill9<PID>oupeloSIGTERMexecutadoporkill15<PID>.Portanto
sempreestarativo,eleopaidetodososprocessos.
#kill91
#kill151
#psaux|grepinit

NOTA:ObservequeoprocessoINITaindaestativo!

SejaumProfissionalAprendendocomProfissionais84

LinuxSystemAdministration

ComunicandocomoprocessoINIT
possvel comunicar com o processo init atravs do comando homnimo init ou pelo
comandotelinit.Observequeocomandotelinitumlinksimblicoparaoarquivoinitqueencontra
seem/sbin.Execute:lsl/sbin/telinitparavisualizar.
Sintaxedocomando:
#init<nveldeexecuo>

Demodoque,sedesejarcarregaroutronveldeexecuo,bastadigitarocomandoinitoutelinitda
seguinteforma:
#init5 carregaomodografico
#telinit3

carregaomogotexto

#runlevel

mostraonveldeexecuo

N53

Observequeocomandomostraonveldeexecuoanterioreoatual.Seonvelatualoque
foicarregadonoprocessodeinicializao,ouseja,nofoialteradocomocomandoinitoutelinit
apareceraletra'N'nolugardonvelanterior,daseguinteforma:
#runlevel
N3 casoonveldeexecuopadrosejaonvel3

Seonvelanteriorforonvel1(monousurio)apareceraletra'S'indicandoqueestavacomolinux
single.
#runlevel
S3 casoonveldeexecuoanteriorseja1

SejaumProfissionalAprendendocomProfissionais85

LinuxSystemAdministration

OutrasfunesdoINIT
Como foi falado anteriormente o init o nico processo que sempre est vivo; estas
caractersticasofazemonicocapazderealizarvriasoutrastarefasalmdainicializaodosistema,
sendo:

Monitoramentodosistema:algunsprocessospodemsermarcadoscomosemprevivosmasse
poralgumarazoesteprocessomorreoinittemaresponsabilidadedereexecutaroprocesso
tornandoo vivo novamente. Um bom exemplo de processo que no pode morrer so os
terminais,

pois

eles

que

do

acesso

ao

sistema.

Desligamento automtico: quando h uma queda de energia muito prolongada os nobreaks


mandamumsinalSIGPWR(30)aoprocessoinitcomunicandoqueasuacargadeenergiabaixa,
fazendoassimcomqueoinitdesliguecorretamenteamquina,apsalgumtempo(shutdownfh
+2Serdesligadoem2minutos).Casoaenergiavolteantesqueamquinasejadesligada,ono
breakmandaessainformaoaoprocessoinitparaabortaroprocessodedesligamentoenviandoo
sinalcnocomandoshutdown(shutdowncmensagem),fazendoassimcomquesejaabortado
qualquersinaldeshutdownanterior.

OArquivo/etc/inittab
Aconfiguraodestearquivofeitaatravsdequatrocamposseparadospordoispontos(:).
identificao:niveisdeexecuo:ao:processo
1) identificao: representa a identificaoda linha.Oideal usarduas letras por questes de
compatibilidade,nasversesmaisrecentespodeseutilizarate4caracteres.Estevalortotalmente
arbitrrio,podendoserescolhidoqualquercombinaodecaracteres,desdequesejanico.
2) nveisdeexecuo:informaonveldeexecuo,casoocampoestejavazioserexecutadopara
todososnveis;sefor'S'indicaquedeveserexecutadosomentenonvelmonousurio.
SejaumProfissionalAprendendocomProfissionais86

LinuxSystemAdministration
3) ao:indicaotipodeaoqueserexecutada,asmaisutilizadasso:

Ao

Descricao

respawn
wait
once
initdefault
sysinit
powerfail
powerokwait
ctrlaltdel

Orespawnfazcomqueoinitreexecuteoprocessocasoelesejamorto.

Oinitaguardaporumadecisoanteriorparaprosseguir
Oprocessoserexecutadoapenasumavez,nainicializaodonvel.
Indicaonvelquedeveserinicializadoporpadro
Indicaoscriptdeinicializaogeraldosistema(/etc/rc.d/rc.sysinit)
OprocessoserexecutadoquandooinitreceberosinalSIGPWR(30),falhadeenergia.
Indicadorderestabelecimentodeenergia(chamadosomenteapsumpowerfail)
Indicaoprocessooucomandoqueserexecutadoapspressionarasteclasctrl+alt+del

processo:indicaoprocessooucomandoaserexecutado.

Segueabaixoocontedodoarquivo/etc/inittab:

#Defaultrunlevel.(Donotsetto0or6) Selecionaotipodonvelquedeveserexecutadopor
padro(initdefault)
id:3:initdefault:

#Systeminitialization(runswhensystemboots)Indicaqueoscriptrc.Sdeveserexecutado.Este
sersempreexecutadoesomenteumavez(sysinit),eapenasnainicializao,poispossuiinformaes
geraisquedevemsercarregadasparaqualquernveldeexecuo.
si:S:sysinit:/etc/rc.d/rc.S

#Scripttorunwhengoingsingleuser(runlevel1)Scriptutilizandoquandooliloenviaosinalde
inicializaonomodomonousurio.Estescriptsolicita asenhadousurioduranteoprocessode
inicializao.Tornaseumamedidadeseguranacontraataquesdeforabruta.(maisdetalhessobre
segurananoinittabnocursodeSeguranaemRedesLinux)
su:1S:wait:/etc/rc.d/rc.K

SejaumProfissionalAprendendocomProfissionais87

LinuxSystemAdministration
#ScripttorunwhengoingmultiuserScriptutilizadoparainicializarosrunlevels2,3,4e5.
rc:2345:wait:/etc/rc.d/rc.M

#Whattodoatthe"ThreeFingerSalute" estaaodefinidaparainformarqualcomando
executadoquandoasteclasCTRL+ALT+DELsoacionadas.
ca::ctrlaltdel:/sbin/shutdownt5rnow

Vamossubstituiralinhaatualpor:
ca::ctrlaltdel:echo"naoepossivelreiniciardestaformadigitereboot"

#Runlevel0haltsthesystemScriptqueexecutadoquandoonvel0solicitado.Nestenvelo
sistemaoperacionaldesligado.
l0:0:wait:/etc/rc.d/rc.0

#Runlevel6rebootsthesystemScriptqueexecutadoquandoonvel6solicitado.Nestenvel
osistemaoperacionalreiniciado.
l6:6:wait:/etc/rc.d/rc.6

#WhattodowhenpowerfailsquandooinitrecebeumsinalSIGPWR(30)deumprocessoque
monitoraumainterfaceserialligadadocomputadoraumnobreakdenominadoUPS(Uninterrupted
PowerSupplySuprimentoIninterrupitodeEnergia)eleexecutaocomandoshutdown.
pf::powerfail:/sbin/genpowerfailstart

#Ifpowerisback,canceltherunningshutdowncasoaenergiasejareestabelecidaoinitrecebe
umsinalSIGPWRalertandoquehumarquivochamado/etc/powerstatuscontendoapalavraOK.
Issosignificaqueaenergiaeltricavoltou.Entooshutdownanteriordevesercancelado.
pg::powerokwait:/sbin/genpowerfailstop

#casoaenergiasejareestabelecidaoinitrecebeumsinalSIGPWRalertandoquehumarquivo
chamado/etc/powerstatuscontendoapalavraOK.Issosignificaqueaenergiaeltricavoltou.Entoo
shutdownanteriordevesercancelado.
SejaumProfissionalAprendendocomProfissionais88

LinuxSystemAdministration
pr:12345:powerokwait:/sbin/shutdownc"Energiareestabelecida;Shutdown
Cancelado!"

#Thesearethestandardconsolelogingettiesinmultiusermodeindicaonmerodeconsoles
textoegrficoporpadro.Aslinhasqueestohabilitadasindicamonmerodeconsoletextoeas
linhascomentadas(#)ouquenoexistemindicamasconsolesgrficas.
c1:1235:respawn:/sbin/agetty38400tty1linux
c2:1235:respawn:/sbin/agetty38400tty2linux
c3:1235:respawn:/sbin/agetty38400tty3linux
c4:1235:respawn:/sbin/agetty38400tty4linux
c5:1235:respawn:/sbin/agetty38400tty5linux
c6:12345:respawn:/sbin/agetty38400tty6linux

#Estalinhaexecutadasomentequandoonveldeexecuoo4.Aexecuodestalinhafazcom
queogerenciadordelogindomodogrficosejacarregado.Dentrodoarquivoprefdm.Existem3
gerenciadoresdelogin,okdmdokde;ogdmdognomeeoxdmdaXfree86.
x1:4:wait:/etc/rc.d/rc.4

Apsamodificaodoarquivo/etc/inittabdeveseexecutarocomandoinitenviandoosinal
'q'paraoarquivoserlilonovamente,destaformanonecessrioreiniciaramquinaparaqueo
arquivoinittabsejacarregado.Ocomandodeveserexecutadodaseguinteforma:
#initq

Odiretrio/etc/rc.d/
Conhecendoosnveisdeinicializaodosistema,importantesaberoquecadaumdeles
fazem,ouseja,quetipodeservioselesvochamarequalmomentodefazlos.Cadanvelde
execuopossuiumdiretriocomseusarquivosparainicializao,sendoodiretrio/etc/rc.d/rc0.d/
paraonvel0,odiretrio/etc/rc.d/rc1.d/paraonvel1;/etc/rc.d/rc2.d/parao2eassimpordiante
atonvel6.Asuachamadafeitaapartirdoscript/etc/rc.d/rc.Squeexecutadopeloprocesso
INIT.
SejaumProfissionalAprendendocomProfissionais89

LinuxSystemAdministration

Liste o contedo do diretrio /etc/rc.d/rc3.d/ por exemplo. Observe que existem vrios
arquivoseestescomeamcomaletra 'K' oucomaletra 'S' paraindidarseoprocessodeveser
parado(kill)ouiniciado(start),respectivamente.Observetambm,queapsumadessasletraspossue
umnmeroquevariade00at99quedetermina aprioridadedeexecuodosarquivoscontidos
nestediretrio.
Paraestesserviospodemserutilizadasasferramentasntsysvechkconfignasdistribuies
baseadasemRedHat
NOTA:odiretriodecadanveldeexecuopodevariardedistribuioparadistribuio.Oexemploacimaretrataodiretriodas
distribuiesbaseadasemRedHat.

Arquivo/etc/issue
Estearquivocontmamensagemdecabealhoqueapresentadanateladelogindomodo
texto(mingetty).Paravisualizaroarquivodigite:
#cat/etc/issue(Estecomandoirapresentaraseguintesaida:)
SlackwareLinux
EntrecomLogineSenha.

Altereocontedodestearquivo!Agoraabraumaoutraconsoletexto(CTRL+ALT+F3por
exemplo).Observequeamensagemquevoccolocounoarquivo/etc/issueaparecenateladelogin.
Estearquivoutilizadoparaauxiliarosusuriosinformandooqueelesdevemfazernestatela.

Arquivo/etc/nologin
Estearquivoutilizadoquandooadministradordecidefazerumamanutenonoservidor.
Estearquivoimpedequeosusurioscomunsloguemnosistema.Porpadroestearquivonoexiste.
Semprequeaexistenciadelefornecessria,oadministradordevecrialomanualmentecomo
comandotouchporexemplo(touch/etc/nologin).Observequeafuncionalidadedessearquivo
vlidaapenasdentrododiretrio/etc.
SejaumProfissionalAprendendocomProfissionais90

LinuxSystemAdministration
Paratestarafuncionalidadedeste,executeocomando:
#touch/etc/nologin

Agoratentelogarnosistema(comcontadeusuriocomun).Observequeissonopossvel,
pormousurionosabeoqueestacontecendo,eleapenasnologa.Elepodepensarqueest
digitandoasenhaerradaouquesuasenhafoialterada.
Paraeliminaressaspossveisdvidasporpartedosusurios,oadministradordevedigitarum
textodentrodoarquivo/etc/nologin,informandoaosusuriosaindisponibilidadedosistema por
determinadomotivo.Paraissoexecute:
#vi/etc/nologin(Insiraumamensageminformativa).Porexemplo:

SERVIDOR EM MANUTENO! ESTE ESTAR DISPONVEL AS 15:00 HORAS.


OBRIGADOPELACOMPREENSO!CPD/3WAY.
Dessaformanenhumusurioirincomodar.
Observetambmqueapenasacontadosuperusurio,root,podeacessarosistemacomaexistncia
destearquivo.

Arquivo/etc/motd
Estearquivousadoparapassaralgumainformaoapsologonparatodososusuriosdo
sistema,comoporexemplo:LOGINEFETUADOCOMSUCESSO!
Altereocontedodestearquivoevisualizesuasadaapsologon.

Arquivo/etc/securetty

SejaumProfissionalAprendendocomProfissionais91

LinuxSystemAdministration
Estearquivomantmasconsolesvirtuaisqueosuperusurio(root)podeefetuarlogonno
sistema. uma poltica de segurana que feita em servidores para impedir que pessoas que
eventualmenteconseguemdescobrirasenhaderootefetuemlogonnosistema.
Paraprevenirestasituao,abraoarquivo/etc/securetty,ecomentetodasaslinhasdeste
arquivousandoocaractere'#'.Casooptarpordeixaraconsoletty5(5consoleCTRL+ALT+F5),
porexemplo,descomentada,orootpoderlogarapenasnesta.
#vi/etc/securetty

Exemplodocontedo,comalgumasentradascomentadas:
#tty1
#tty2
#tty3
#tty4
...
#tty12

Noexemploacimaorootnoconseguirrealizarloginnasconsoles1,2,3e4.
Exerccio
Seforemcomentadastodasaslinhasdestearquivo,oquefazerparaefetuarologinnosistema
comacontaderoot,vistoquesuaentradaestbloqueada?
Essarespostabemsimples.Vocpodeefetuarologondesuacontapessoalnosistema,logo
apsexecutadoocomandosu<usurio>.Estecomandofarcomqueasenhado<usurio>
sejasolicitada.
Vamosfazerumteste.Sigaospassos:
7) Efetuelogonnosistemacomsuacontapessoa;
8) Agoradigite$suroot;
9) Agoradigiteasenhaderoot.Observequeagoraestlogadocomasenhaderoot;
10)Executeocomandoexitparavoltarcontaanterior.

SejaumProfissionalAprendendocomProfissionais92

LinuxSystemAdministration

Comandosu
Ocomandosuutilizadoparasepromovercomosendooutrousurionolinux.
Porexemplo:Vocestlogadonosistemacomofulanoedesejaacessarosistemacomobeltrano.No
necessariamentedeveserefetuadologoffdefulanoelogondebeltrano,bastautilizarocomandosu
beltranoelogoapsdigitarasenhaparaesteusurio.Assimqueterminardefazeratarefausandoo
usuriobeltrano,deveserdigitadoocomandoexitfazendocomqueologondebeltranoseja
encerrado,eretornado,ento,paraologonfulano.
Faaesteprocedimento.Crieduascontasdeusurioumafulanoeoutrabeltranocomsenhas
123.loguecomofulanoedepoissepromovacomobeltrano.Depoisexecuteocomandoexit.Observe
queacontadobeltranoencerradaeacontaatualfulano.
Este comando til quando so comentadas todas entradas no arquivo /etc/securetty
(apresentadoacima)esedesejaefetuaralgumaconfiguraonosistemacomacontaderoot.

SejaumProfissionalAprendendocomProfissionais93

LinuxSystemAdministration

InicializaodeServios
Olocaldosarquivosscriptsparainicializaodosserviosdiferedeumadistribuiopara
outra.NasdistribuiesbaseadasnoRedHat(Fedora,Conectiva,Suse,etc)osscriptsdeinicializao
dosserviosseencontramdentrododiretrio/etc/rc.d/init.d/ou/etc/init.d/,
jnoSlackwareelesficamdentrode/etc/rc.d/,porexemplo.
Estes servios so chamados tambm de daemons. Um servio ou um daemon
necessriamenteumprocesso,podendoser:serviosderedecomohttpd(servidordepginasWeb),
crond(agendadordetarefas),sendmail(servidorparaenviodeemails);ounocomonetwork
(configuraoderede)ekeytable(configuraodeteclado),gpm(serviodomouse),etc.
costumeincluiraletra'd'nofinaldonomedecadascriptparaindicarosdaemons,como
httpd(HTTPdaemonservidordepginasweb),named(namedaemonservidordenomesinternet),
etc.
Todosestesserviosoudaemonssopadronizadosdeformaquesuportamasopesstarte
stop;eopcionalmenteasopesstatus,restartereload.

Opo

Funcao

Iniciaodaemon/servio
start
Praodaemon/servio
stop
Praeinicializaodaemon/servio
restart
Recarregaoarquivodeconfiguraosempararodaemon/servio
reload
Exibeseostatusdodaemon/servioparado,rodando,travado,etc...
status
Nemtodososdaemonssuportamtodasasopescitadas.

Para executar um daemon, basta indicar o camindo completo deste (/etc/rc.d/daemon) e


informaroquevocdesejafazercomtal(start,stop,status,restartoureload).
Porexemplo:Sedesejarutilizarorecursodomouse,aprimeiracoisaafazeridentificarodaemon
relativoaomouse(gpm),depoissoexecutarocomando.Esteficadaseguinteforma
#/etc/rc.d/rc.gpmstop

SejaumProfissionalAprendendocomProfissionais94

LinuxSystemAdministration
#/etc/rc.d/rc.gpmstart
#/etc/rc.d/rc.inet1stop
#/etc/rc.d/rc.inet1start

OArquivo/etc/login.defs
Estearquivoarmazenaasprincipaisconfiguraesparaageraodosusurios(quandose
executaocomandoadduser<user>),indodesdeogerenciamentodesenha,atacriaododiretrio
padrodousurio.
Exemplodocontedodoarquivo:
MAIL_DIR/var/spool/mail localpadroparaosemaildosusurios.

PASS_MAX_DAYS

99999

PASS_MIN_DAYS0

nmerodediasparaautilizaodasenha
quantidademnimadediasqueousuriodever

ficarcomasenhasemalterala.
PASS_MIN_LEN

tamanhomnimodasenhaparausurioscomunsqdo

foralterada
PASS_WARN_AGE 7

diasrestantesqueousurioserinformadoda

expiraodasenha.

UID_MIN

500 InciodoUIDparausurioscomuns

UID_MAX

60000

GID_MIN

500 InciodoGIDparausurioscomuns

FimdoUIDparausurioscomuns

GID_MAX 60000

FimdoGIDparausurioscomuns

CREATE_HOMEyes

criadoodiretriohomenomomentodacriaodo

login

SejaumProfissionalAprendendocomProfissionais95

LinuxSystemAdministration

ProgramaoShell
ProgramandonoLinux
TodosossistemasoperacionaisdafamliaUnixpossuemshell(interpretadordecomandos)
programveis;ouseja,permiteacriaodescriptsinterpretados,comfuncionalidadesprximasde
umalinguagemcompleta,comoCouPascal.
Os scripts shell permitem ao administrador do sistema automatizar tarefas, criar novos
comandosparaoseuauxilio,entreoutrasvantagens.Asuautilizaomuitovariada,sendoqueele
estpresenteemtodoosistema,poisamaioriadosarquivosutilizadospelosistemasoscripts,assim
conhecerasuasintaxeecompreenderoqueelepodevirafazerdentrodeumarquivofundamental
paraoadministrador.
Nota:Ointuitodestematerialnoensinarprogramao,massimapresentarosdetalhesdescriptshell.Portanto,paraseterbom
proveito,necessrioqueoleitorconheaosfundamentosdelgicadeprogramao.

Tiposdeinterpretadores
ExistemvriostiposdeinterpretadoresparaosistemaLinux,sendoosprincipais:bash(mais
popularemaisutilizado),sh(oshnoexistemais,foisuperadoesubstitudopelobash,porisso,
geralmenteshumlinksimblicoparabash),csh(sintaxeparecidacomCeomaisutilizadono
UnixSolaris),tcsh(semelhanteaocsh,pormmaiscompleto).
Todososscriptscriadosdevemcomearcomumalinhadecomandoespecficainformandoao
sistemaoperacionalotipodeinterpretadordecomandosaserutilizado.Omaiscomumobash.
Onomedointerpretadoratualmenteutilizadoficaarmazenadoemumavariveldeambiente
chamadaSHELLoushell(dependerdointerpretador).Parasaberqualestsendoutilizado,basta
utilizarocomandoabaixo:
#set|grepishell
SHELL=/bin/bash

SejaumProfissionalAprendendocomProfissionais96

LinuxSystemAdministration

Nestecasoocomandoutilizado foi:setparalistarasvariveisdeambiente,opipe(para
concatenarasadadoltimocomandocomaentradadoprximo),grepparafazerafiltragemde
sadajuntamentecomaopoi(desativaocasesensitiveparaestafiltragem)eonomedavarivela
serpesquisadaeoomoresultadoobtidofoionomedointerpretadorutilizado,quenestecasoobash.
Quandoousuriopossuiuminterpretadordecomandoseumasenhavlidaeleestaptoa
fazerloginnosistema,pormalgumasvezesnointeressantequeelefaaacesso,masquepossua
umacontaparaacessaroutrostiposdeserviosdosistema,comointernet,SAMBAeoutrosservios.
Aremoodoacessoaosistemapodeserfeitanoarquivodeconfiguraodeusurios/etc/passwd,
devendoseralteradoovalordoltimocampode/bin/bash(ououtrointerpretador)para/bin/falseou
/bin/nologin.
Paraestematerialserutilizadoointerpretadordecomandosbash,poisalmdeseromais
comumasdistribueselemaissimplesparatrabalhar.
UmScriptsimples
Os scripts so arquivos regulares do sistema, no havendo necessidade de extenses
especficasoudetalhesamais,elefuncionasimplesmentecomasuapermissodeexecuoativada.
Aextensoseriausadaparadestacaroarquivocomoumscript.Umexemploseriaaextenso.sh
representandoshelloubash.
Oscomandosdentrodeumscriptpodemserosmesmosutilizadosemumalinhadecomando,
pois o arquivo lido de forma sequncial (de cima para baixo) e lido conforme seria digitado
diretamentepelousurio.Poderiasercriadoumscriptparaescreverumamensagemnatelaparao
usurioquandooscriptforexecutado,podemosfazeracessoabancodedadoscomooMySQL,filtrar
dadosdecomandosetc...
Iremosinicialmentegerarumscriptsimplescomocomandoecho,quepermiteescreverna
sadapadro,enviandoumamensagemsimples,como:OlMundo!
Exemplo:
SejaumProfissionalAprendendocomProfissionais97

LinuxSystemAdministration
Crie e edite um arquivo chamado script1.sh dentro do seu diretrio $HOME, com o seguinte
contedo:
#vi~/script1.sh

Contedo:
#!/bin/bash
echo"OlMundo!

Ocabealho#!/bin/bashserveparainformarotipodeinterpretadoraserutilizado.Casono
sejainformadootipodointerpretadornotemproblema.Aextenso.shnonecessria,masela
colocadaparafacilitarsuaindentificaopelousurio,quetambmpoderecorreraocomandofile.
Apsaediobastasalvaroarquivoealterarasuapermissoparaexecutvel:
#chmod755script1.sh

Paraexecutalo,existemvriasformasdiferentes:

Utilizandoocomandobash
#bashscript1.sh
OlaMundo!

Nestecasononecessrioalteraraspermissesdoarquivo,mastodavezequedigitadoo
comandobashabertoumprocessofilhosobreointerpretadorutilizado.
Passandotodoocaminhodesdeorazatonomedoarquivocomapermissodeexecuo:
#/tmp/script1.sh
OlaMundo!

SejaumProfissionalAprendendocomProfissionais98

LinuxSystemAdministration
Utilizandoocomando"pontoespacoscript"
#.script1.sh
OlMundo!

Utilizandoocomando./
Opontobarraserveparaindicaraosistemaqueoarquivoestlocalizadonodiretoriocorrente,
logoapseledeverserexecutdo,desdequeoarquivoestejacomapermissohabilitadaparaisso.
#./script1.sh
OlMundo!

NOTA:Nestedoisltimoscasosobrigatrioqueousurioestejadentrododiretrioondeestarmazenadooscriptshell.

Outrasopesdointerpretadorbash

Nomomentodaexecuopodemserfeitostestesparaverificarofuncionamentodoscripte
saberseelefoicorretamentecriado.Otestepodeserfeitopassandoumadasopesconformea
chamada.
Sintaxe:
#bash[opo]scriptshell

opo:
xapresentadoocomandoedepoisasuasada
napenasfazumtestedeverificao,nooexecuta.
vapresentatodooscriptedepoisoexecuta
Exemplo:
#bashxscript1.sh

SejaumProfissionalAprendendocomProfissionais99

LinuxSystemAdministration
echo"OlMundo!
OlMundo!

#bashnscript1.sh

#bashvscript1.sh
#!/bin/bash
echo"OlMundo!
OlMundo!

Sintaxe

A programao shell muito simples comparada as linguagens de comparao, mas ela


tambmpossuiasuaprpriacaracterstica,muitosemelhantealinguagemC.Nelapossveldeclarar
varivel,escrevermensagens,utilizarestruturasdecondioerepetio,usodefunesmodulares,
usodecomandosdoprpriointerpretador,entreoutros.

Comentrios

Oscomentriosdentrodescriptssofeitosutilizandoocaractere#.Dopontodeondeele
estiverpresenteatofinaldalinhaserinterpretadocomocomentrio.Noscriptshellnoexiste
declarao paraumcomentrioemvriaslinhas,devendoomesmosercolocadoumaporuma,
portantonoexisteblocodecomentrios,comoemalgumaslinguagensdeprogramao.
Exemplo:
#!/bin/bash
#ProgramasimplesdeScriptShell
echo"OlMundo!"#ImprimeOlMundo!!

TiposdeVariveis

SejaumProfissionalAprendendocomProfissionais100

LinuxSystemAdministration
VarivelSimples
Avariveldentrodosistemaspodeassumirovalordestring.Suadeclaraosedno
momentodorecebimentodequalquervalor,deacordocomaestrutura:varivel=valor
Noprecisater";"aofinaldalinhaetambmnopodeterespaosentreavariveleosinal
deigual,eosinaldeigualeovaloraserrecebido.
Asregrasparaacriaosomuitosemelhantesoutraslinguagensdeprogramao,videos
seguintespontos:
1. Usarcaracteresalfanumricoseunderline;
2. Comearcomletraouunderline;
3. Nopodeconterespaosembrancoouacento.
4. Avarivelgeradadentrodoscriptapagadaaofinaldaexecuodomesmo.

Acessandovariveis
Ocontedodavarivelpodeserlidocomainserodosinal"$"antesdavarivel:$varivel

Exemplo:
Criarumnovoarquivochamadoscript2.shcomocontedo:
#!/bin/bash
Var=Testedecontedo"
echo$Var

Salveoarquivoeoexecute,asadaserocontedodavarivelVar.

Comandoecho

Como visto anteriormente o comando echo permite a escrita na sada padro, quando o
mesmonoredirecionadoparaumarquivo,dispositivo,etc.

SejaumProfissionalAprendendocomProfissionais101

LinuxSystemAdministration
Abaixoseromostradasalgumasopesdocomandoecho:
Opo:
nNopulaalinhaapsoecho
ePermiteousodoscaracteresdeescape(tabulao,quebradelinha,bip,etc).
Umexemplodousodasopesacimapodemserfeitasnalinhadecomando:
#echon"testandoousodon"

testandoousodon
NOTA:Ousodoesermelhorvistoapsoprximotpico.

Caracteredeescape
Oscaracteresdeescapepermitemautilizaodeorganizao(comotabulao),saltarlinha,
chamar uma sinalizao sonora para o usurio, entre outras funes, assim ela sempre ser
acompanhadadeumabarrainvertidaparaindicarotipodocaractere.

Quadrodefunesdocaracteredeescape:
Comando
\a
\b
\n
\r
\t
\v
\\
\"

Funo
Alerta(sinal)
Retornodeespao(backspace)
Novalinha
Retornodocarro
Tabulaohorizontal
Tabulaovertical
Apresentao"\"
Apresentaaspasduplas

Exemplo:

SejaumProfissionalAprendendocomProfissionais102

LinuxSystemAdministration
#echoe"testandoouso\ndos\"caracteresdeescape\"\n"

testandoousodos"caracteresdeescape"
Casooexemploacimafosseescritosemaopoeoresultadoseria:
#echo"testandoouso\ndos\"caracteresdeescape\"\a\n"

testandoouso\ndos"caracteresdeescape\a\n

Passagemdeparmetros
Nomomentodeexecutaroscriptpossvelpassarparmetros,quesoinformaesextras
necessriasparaodesenvolvimentodocdigo,porexemplo,capturarumasenha,elapoderiaser
passadacomoparmetroefazercomparaesdentrodocdigo.
Osparmetrospodemser:
Parmetro Descrio
$0
Nomedoscript,juntamentecomoseucaminhocompleto
$1a$9 Valorespassadoscomoparametros**
$$
NmerodoPIDdoscript
$?
Valorderetornodotestedoltimocomando
$#
Quantidadedeparametrosexistentes
**Paravaloresacimade9devemestarentrechaves,porexemplo,oparametro15seriadescrito
assim:${15}

Leituradetecladoevariveis
Duranteoandamentodainterpretaopodesersolicitadoapassagemdeinformaes,para
estescasosexisteocomandoreadquepermitefazerasualeituraearmazenaremumavarivel.
Sintaxe:
a.readvarivel
b.read[opo]"mensagem:"varivel
Opo Descricao
SejaumProfissionalAprendendocomProfissionais103

LinuxSystemAdministration
p Solicitaainfirmaoepermiteavisualizaodoqueestsendodigitado
s
Solicitaainformao,masnopermiteasuavisualizao;utilizadoparapedirsenhas
nX Permiteinformaraquantidadedecaracteresaseremlidos,Xaquantidadeeminteiro.
Exemplo:
Criarumnovoarquivochamadoscript3.sh
Contedo:
#!/bin/bash
echon"Digitealgo:"
readresposta
echo"Foidigitado:$resposta;oprimeiroparametroe$1osegundoparametro
$2"

Executeoscriptpassandoparmetrosparaomesmo:
#./script3.shAAABBB

Asadaser:
Digitealgo:ALGO
Foidigitado:ALGO;oprimeiroparmetroeAAAosegundoparmetroBBB.

EstruturasdeDeciso(if)
Aestruturacondicionalpermitedefinirumadecisodoprograma;atravsdeumacondio,
quepodeserumacomparaoentredoisvalores,porexemplo.
Sintaxe:
if[condio];then
comandos
fi
Aestruturaifpermiteousodeelseparaotratamentodeerronacondiosemdetalhesparaa
programao.Pormexisteumadiferenaparaousodeumnovotratamentodecondio,casoele
SejaumProfissionalAprendendocomProfissionais104

LinuxSystemAdministration
seja verdadeiro,dentrodoifqueocomandoelif(else+if)epodemexistirvriosdestes em
seqncia,comonaestrutura:
if[condio];then
comandos
elif[condio1];then
elif[condio2];then
elsecomando
fi

Criarumnovoarquivochamadoscript4.sh,quesermodificadoatofinaldesteassunto:
#!/bin/bash
#Fazaleituradasenhadousurio
echoDigiteasuasenha:
readsresposta
senha="12345"
#comparaodasenhacomaregistradadentrodocdigo
if[$resposta=$senha];then
echoSenhacorreta!
else
echoSenhaIncorreta!
fi

Aoposparareadfazcomqueocomandonoapresentenasadapadrooqueousurio
estdigitando,servindoparaaumentarasegurana.
Executeoarquivo:
#./script4.sh

Asadageradaseraseguinte:
Digiteasuasenha:
Se a senha digitada for igual a 12345, aparecer a mensagem Senha correta!, Caso contrrio
mensagemapresentadaserSenhaincorreta!
SejaumProfissionalAprendendocomProfissionais105

LinuxSystemAdministration

Comandoexit
Casofossenecessrioparaosistemasairemqualquerpontodoscriptporfaltadealguma
informaoouinformaoerradapodeserutilizadoocomandoexit0.Assimquandooscriptoler
sairautomaticamentedocdigo.
Oscriptscript4.shpoderiaserreescritoassim:
#!/bin/bash
#Fazaleituradasenhadousurio
echoDigiteasuasenha:
readsresposta
senha="12345"
if[$resposta=$senha];then
echoSenhacorreta!
else
echoSenhaIncorreta!
exit0
fi

Naestruturaacimacasoousurioinformeasenhaerradaoscriptinvocaroexitqueserve
parasairdocdigoeretornaroresultadoparaasadadeerropadro(STDERR).Ainsersodoexit
nestalinhadecdigo,parecenoterserventia.Issoaconteceporqueocomandoestnofinaldo
cdigo.Nosprximosexemplos,autilizaodocomandoexitsermaisclara.

Operadoresdecomparao
Ascondiespodemsertratadasdeacordocomastabelas:
Entrevaloresinteiros

SejaumProfissionalAprendendocomProfissionais106

LinuxSystemAdministration
Significado

Condio
$aeq$b
$ale$b
$age$b
$alt$b
$agt$b
$ane$b

$a=$b(igual)
$a<=$b(menorouigual)
$a>=$b(maiorouigual)
$a<$b(menorque)
$a>$b(maiorque)
$a<>$b(diferente)

O uso dossinais<,>,<=,>=,=e!=podemserusadosparainteiros,desdequesejam
executadosentredoisparenteses(())oupelocomandolet.
Ocomandolet permiteousodecdigosparecidoscomalinguagemC,permitindovrias
coisas,comoporexemplointeraodeumavarivel(++ou):
letvar++
letvar

Entrestrings
Condio Verdadeirose
z$a
Noexistirmensagem
n$a
Omensagemexistir
$a=$b
Ocontedodeambasasvariveissoiguais
$a!=$b Ocontedodasvariveisforemdiferentes
Arquivos
Condio
earquivo
xarquivo
darquivo
larquivo
sarquivo

Verdadeirose
umarquivoregular
arquivoexecutvel
umdiretrio
forumlink
oarquivoexisteetemtamanhomaiorquezero

Valoresbooleanos
Condio
exprAaexprB
exprAoexpreB
!exprA

Verdadeirose
ambasasexpressessoverdadeiras(operadore)
umadasexpressesforverdadeira(operadorou)
aexpressoforfalsa

SejaumProfissionalAprendendocomProfissionais107

LinuxSystemAdministration

Abraoarquivoscript4.sheadicionenovaslinhasaeste,sendo:
#vi~/script4.sh
#!/bin/bash
#Fazaleituradasenhadousurio
echoDigiteasuasenha:
readsresposta
senha="12345"

if[$resposta=$senha];then
echoSenhacorreta!
else
echoSenhaIncorreta!
exit0
fi

echon"Informeocaminhododiretrioparabackup:
readdiretorio
if[d$diretorio];then
echoDiretrioencontrado.Aguarde...fazendoobackup!
else
echoDiretrionoencontrado!
exit0
if
tarcvfzbackup.tar.gz$diretorio/*

Condiocase
Permiteaseleodecomandosespecficosapartirdeumachavedeseleo,ouseja,ousurio
informa o que deseja fazer a partir de uma chave e os comando associados ao mesmo sero
executdos.Oseuusomaisfrequenteemmenusparaaindicaodeumitemeatomada de
comandosparaestaopo.
Sintaxe:
casechavein

SejaumProfissionalAprendendocomProfissionais108

LinuxSystemAdministration
teste1)comandos;;
teste2)comandos;;
*)comandos;;
esac

teste1eteste2soopesqueocontedodechavepodeter,mascasochavepossuiaoutrocontedo*
assumirestaopo,ouseja,*sserutilizadocasoocontedodechavenoencontreumaopo
existente. Quando for necessrio utilizar os mesmos comandos para chaves diferentes pode ser
utilizadoo|(pipe)paraseparalos.Umalinhadasopesficariaassim:
teste3|teste4|teste5)comandos;;
Serinseridoaocdigodoscript4.shummenuparaauxiliarousurio,sendo:

adicionarumdiretrio;

fazerumbackup;

descompactararquivo(tar.bz2);

Abraoarquivoscript4.shparaeditarseucdigo:
#vi~/script4.sh

SejaumProfissionalAprendendocomProfissionais109

LinuxSystemAdministration
#!/bin/bash
echoe\nMENU\n
echoe(1)Criadiretrio
echoe(2)CriaBackup
echoe(3)Descompactaarquivo.tar.bz2
echone\nDigiteaopoescolhida:
readn1op

case$opin
1)
echone\nInformaonomedodiretrio:
readnome_dir
if[d$nome_dir];
then
echoe\nEstediretriojaexiste...
else
mkdir$nome_dir
echoe\nDiretriocriadocomsucesso...
fi;;
2)
echone\nInformeodiretrioparabackup:
readdir_bkp

if[d$dir_bkp];
then
tarcvfj$dir_bkp.tar.bz2$dir_bkp
echoe\nBackupcriadocomsucesso!
else
echoe\nDiretdionoencontrado!
fi;;
3)
echone\nInformeoarquivo.tar.bz2:

readarq_tar.bz2

if[d$arq_tar.bz2];
then
tarxvfj$arq_tar.bz2
echoe\nArquivodescompactadoem`pwd`
else
echoe\nArquivonoencontrado!
fi;;

SejaumProfissionalAprendendocomProfissionais110

LinuxSystemAdministration

GerenciamentodeArquivosdeLOG
OquesaoLogs?
Logssoregistrosdeeventosquetmcomoobjetivofornecerinformaodocomportamento
dosistema.Oseventosregistradospodemsernormais,como:logindeusurio,acessoumapgina
Internet,execuodeumcomando,etc.Tambmpodemserdeeventosanormais,como:faltade
espaoemdisco,travamentodeumaplicativo,invasodosistema,etc.Assim,atravsdaanlisedos
logs,otcnicopodeorientarsuasaesparacorrigiroumelhoraraconfiguraodosistema.

Formatosdearquivosdelogs
Odiretriopadrodoslogs/var/log/egeralmenteutilizadoisformatosdearquivos:
textoporexemplo,/var/log/messagesou/var/log/syslogquesovisualizadoscomcomandoscomo
tail.
#tailf/var/log/messages

f:ficalendooarquivorepetidamente,ouseja,qdooarquivomodificadoatela
atualizada.
binrioporexemplo,/var/log/wtmp.quevisualizadocomocomandoespecficolast
#lastf/var/log/wtmp

GerandoLOGs
Ageraodelogspodeserfeitaporqualquerdaemonouprogramainstaladonosistema.Os
daemonsmaiscomunsparaageraodelogssoosyslogdeoklogd.

SejaumProfissionalAprendendocomProfissionais111

LinuxSystemAdministration

ODaemonSyslogd
Osyslogdresponsvelpelasmensagensdelogdosistema.Umadasprincipaisvantagensde
possuirdaemondelogsacentralizaodasinformaesgeradas,evitandoassimaleituradedezenas
oucentenasdearquivos.

ODaemonKlogd
Oklogdmonitoraasmensagensdelogdokernel.Elerealizaomonitoramentoeenviaas
informaesporpadroparaosyslogd.
Oklogdregistraasmensagensdentrodoarquivo/proc/kmsg.
Osprincipaisdiretriosearquivosdelog
Nastabelasaseguirseroapresentadososprincipaisarquivosediretriosdelogcomumabreve
apresentaosobreosmesmos:
Diretrios
Diretrio
/var/log/
/proc/

Descrio
Armazenaamaioriadoslogsgeradosnosistema.
Armazenaalgunsarquivosdeloggeradospelokernel.

Arquivosdo/var/log
Arquivo
messages
dmesg
secure
boot.log
kdm.log
lastlog

Descrio
Armazenaasprincipaismensagensdokernel.
Armazenaamensagemdeinicializaodosdispositivosdosistema
Armazenamensagemanveldousurio,login,alterao,tiposdeacessos.
Armazenamensagensdeinicializaodeferramentasdosistema.
Armazenamensagensdeaberturadoambientegrfico
Armazenainformaesdeacessodousurio.Arquivobinrio.

Arquivosdo/proc
SejaumProfissionalAprendendocomProfissionais112

LinuxSystemAdministration

Arquivos
Cpuinfo
Kmsg
Modules

Descrio
Armazenainformaesdoprocessamento
Armazenainformaesgeradaspelokerneldosistema
Armazenainformaesdosmduloscarregadospelosistema.

SejaumProfissionalAprendendocomProfissionais113

LinuxSystemAdministration

Controledecotasdedisco
importantequeoadministradordeumaredelinux,tenhacontroledoespaoqueutilizado
noservidorparagarantirumamelhorperformanceeconsistnciadomesmo.Acriaodequotasde
discoespecificaotamanhoquecadausurioougrupopoderutilizar,garantindoassimqueum
usurionoocupetodooespaodoservidorcomarquivospessoais(mp3,filmes,jogos,etc).
Ocontroledeespaopodeserespecificadotantoparacadausuriocomoparagrupo.Seo
limiteultrapassadoousurioperdeaatribuiodecriaodenovosrecursos(nestecaso,arquivose
diretrios)dentrodosistema,ouseja,nadaqueocupeespao.
ExistemduasformasdecontroledoarmazenamentodedadosnoLinux:

Controledeespaoemdisco;e/ou

Quantidadesdearquivos(oudiretrios)criados.
Aprimeiraformadecontrole,importanteparaamanutenododisco,poisorecursode

armazenamentopossuiumdeterminadoespaofsico,nopermitindoassimagravaodenenhum
bitamaisdacapacidade.
Asegunda,auxilianocontroledaquantidadedearquivospresentesnosistema,emborano
pareasertil,serveparaforarousuriomanterseusarquivossempreatualizados,eosqueno
foremmaisutilizadossejamdeletados.

Verificandosuporteacota
Parautilizarmosorecursodecotasdedisco,okerneldoS.O.aserutilizadodeverteraopopara
quotadediscohabilitada.Paraisso,digite:
#less/lib/modules/{verso_kernel}/build/configs/{verso_kernel}i386.config

SejaumProfissionalAprendendocomProfissionais114

LinuxSystemAdministration

Digite:unamerparasaberaversodokernel.
VerifiquesealinhaCONFIG_QUOTAestdescomentadaemarcadacomaopo'y'.
Exemplo:
CONFIG_QUOTA=y

Seestalinhaestivercomentada(#)e/ouestivermarcadacomaopo'n'.Okernelnoestdando
suporteaquotasdedisco,sendonecessrioarecompilaodeste.
Verificandoainstalaodaferramentaparaquotadedisco

Habilitandoquotaemumapartio
Asquotassoaplicadassobreasparties,devendoestasestaremhabilidadasparausurioougrupos,
nasseguintesentradas:
usrquota:quotaparausurios;
grpquota:quotaparagrupos;

Configurandoquotadedisco
Abriroarquivo/etc/fstabemarcaraspartiesquereceberoquotacomoseutipo(usurioe/ou
grupos).Comonoexemplo:
<dispositivo><pto_montagem><tipo><opo><outras>
SejaumProfissionalAprendendocomProfissionais115

LinuxSystemAdministration

/dev/hda2/bootext3defaults

00

/de/hda7/ext3defaults,usrquota,grpquota00

Nesteexemplomarcadoodispositivo/dev/hda7,raizdosistema,comooreceptordequotadedisco
tantoparausuriosquantoparagrupos.
Criardoisarquivosdentrododispositivomarcadoparautilizaodequota(/dev/hda7).Nestecasoa
raizdosistema.Osarquivosdeveroterosnomesquota.userequota.groupparausuriosegrupos
respectivamente.
#cd/
#touchquota.userquota.group

recomandado mudar as permisses destes arquivos, afim de no serem alterados por outros
usurios.
#chmod600quota.*
#lslquota.*
rw1rootroot0Jul1514:14quota.group
rw1rootroot0Jul1514:14quota.user

Agoradevemosrefazeraleituradosistemadearquivoqueirreceberaquotadedisco,ouseja,
remontarodispositivo/dev/hda7,/,comasnovasalteraesqueforamfeitasnoarquivo/etc/fstab.
Paraissodigite:
#mountoremount/

Digitemountparavisualizarasnovasalteraes:
#mount
/dev/hda7on/typeext3(rw,usrquota,grpquota)
noneon/proctypeproc(rw)
noneon/systypesysfs(rw)

SejaumProfissionalAprendendocomProfissionais116

LinuxSystemAdministration
Executeocomando quotacheck napartioselecionada,/,gerandoassimaleituradomesmoe
marcandodentrodosarquivosquota.userequota.group.
#quotacheckaugvm

Onde:
a:checatodosossistemasdearquivosregistradosno/etc/fstabcomodispositivodequota;
u:checaosarquivosediretriosdosusurios;
g:checaosarquivosediretriosdosgrupos;
v:apresentaoandamentodaverificao;
m:foraachecagem.
Depoisdeterminaravarreduradodispositivo,iremosativarasquotasdedisco.Paraissoexecute:
#quotaonaugv
/dev/hda6[/]:groupquotasturnedon
/dev/hda6[/]:userquotasturnedon

Apsessespassososistemaestarcomasquotasativas,masissoaindanoimplicaem
limitesdeutilizaoparaosusurios,sendonecessriorealizarestasconfiguraesmanualmente,
conformeprximaseo.
Paradesativarasquotasdediscobastausarocomandoquotaoffcomasmesmasopesutilizadas
paraativlas:
#quotaoffaugv
/dev/hda6[/]:groupquotasturnedoff
/dev/hda6[/]:userquotasturnedoff

SejaumProfissionalAprendendocomProfissionais117

LinuxSystemAdministration

Gerenciandoquotas
Parahabilitarocontroledecotadediscooadministradordarededevedefinir,antesdemais
nada,otamanhoqueserdisponibilizadoparacadausurio.Aregrageralquetodososusurios
tenhamumaquotadefinida,demaneiraqueasomadoslimitesdeespaodetodososusuriosno
ultrapasseoespaodisponveldapartioqueestcomosistemadequotasativado.

Definindoquotaparausurios
Umavezativadoasquotassernecessrioogerenciamentodelas,definindootamanhode
quotaparacadausurio,tantoparaoespaoemdiscoquantoparaaquantidadedearquivos.
Porsegurana,asquotasspodemsereditadaspeloroot,comoseguintecomando:
#edquota[opo][usurio/grupo]
opo:
g:definequotaparaumdeterminadogrupo;
u:definequotaparaumdeterminadousurio.
#edquotaupedrohenrique

Exemplodocontedodestearquivo:
Diskquotasforuserpedrohenrique(uid505):
Filesystemblockssofthardinodessofthard
/dev/hda644001200

Oseucontedoapresentaasseguintescolunas:

SejaumProfissionalAprendendocomProfissionais118

LinuxSystemAdministration

Filesystems:especificaapartioquepossvelativarquotas.
Blocks:especificaasomaemkilobytesdetodososarquivosdousurionapartioemquesto(neste
caso,ousuriorafaelpossuiatualmente44KBdedadosem/dev/hda6).
Soft:olimitelgicodousurio,ouseja,apartirdomomentoqueousurioultrapassaesselimite,
eleseralertadopelaferramentaquotaparaquediminuaaquantidadededados(porumperodo
GracePeriodexplicadomaisabaixo)pormaindaconseguirgravardadosnodisco,atolimite
hard.
Hard:olimitefsico,olimitepeloqualousurionoconseguepassar.
Inodes: a quantidade atual de arquivos do usurio (o usurio rafael possui 12 arquivos em
/dev/hda6).
NOTA:Seosvaloresparaacolunasoftehardestiveremcomovalorigualazero,0,issoindicaquenoesto
definidosotamanhomximoparautilizaodousurioequeestepodegravaroquequiserdotantoque
quiser.

Editeoarquivo.Exemplo:
#edquotaupedrohenrique

Diskquotasforuserpedrohenrique(uid505):
Filesystemblockssofthardinodessofthard
/dev/hda644204830721200

Agoraousuriorafaelpossuiasseguintesconfiguraesdequota:
Emdisco:

SejaumProfissionalAprendendocomProfissionais119

LinuxSystemAdministration
Limitelgico:2.048Kb=2Mb
Limitefsico:3.072Kb=3Mb
NmerodeArquivos:
Ilimitado.Atatingirsuaquotamxima,claro!
Definindoquotaparaoutrosusurios
Paradefinirquotasdediscoparaoutrosusurios,nonecessariamente,deveserexecutadoo
comandoedquotau<user>paracadausuriocadastradonosistema,atporque,issolevaumtempo
considervel,casoonmerodeusuriossejagrande.
Umamaneirafcilerpidaparadefinirquotasparaosoutrosusuriosexecutandooseguinte
comando: edquotap<usuario_model> <lista_de_usurios>. Paraissodeveexistirumusurio
comasquotasdefinidasparaservirdemodelo.Ouseja,todososoutrosusuriosteroasmesmas
configuraesdequotaqueestsendousadapelousurio_modelo.
#edquotappedrohenriqueleandrorubiaangelajosemaria...

p:indicaquealista_de_usuriosdevepossuirasmesmasconfiguraesqueousurio_modelo

Apsaexecuodocomandoacimaexecute:

#edquotauleandro
#edquotaurubia
#edquotauangela
#edquotaujose
#edquotaumaria

Observequeasmesmasconfiguraesdequotasdefinidasparaousuriorafael,agoraesto
SejaumProfissionalAprendendocomProfissionais120

LinuxSystemAdministration
definidasparaosoutrosusuriosindicadosacima.

Outraopoimportanteparaocomandoedquota

#edquotat

Com aexecuodessecomandocomopot,umarquivotextoaberto.Essepermite
definirograceperiod,ouseja,operododetempomximoqueousurioirreceberamensagem
indicandoqueeleultrapassouolimitelgico(soft).Executeocomando:
#edquotat

Exemplodoarquivo:
Graceperiodbeforeenforcingsoftlimitsforusers:
Timeunitsmaybe:days,hours,minutes,orseconds
FilesystemBlockgraceperiodInodegraceperiod
/dev/hda67days7days

Onde:

Filesystem:indicaapartioondeexistequotadedisco;
Blockgraceperiod:indicaotempodeultrapassagemdolimitelgicodedisco;
Inodegraceperiod:indicaotempodeultrapassagemdolimitelgicodearquivos.
As unidades do arquivo podem ser: days (dias), hours (horas), minutes (minutos) ou seconds
(segundos).
Noexemploacimaambasopesestoconfiguradaspara7dias.Ouseja,ousurioirser
avisadonoperodode7diaseseelenotomarprovidnciasnofinaldestes,elenopodergravar
SejaumProfissionalAprendendocomProfissionais121

LinuxSystemAdministration
maisnenhumarquivo,mesmoqueolimitefsico(hard)aindanoestiverseesgotado.
Seissoacontecerousurioterqueeliminaralgunsarquivosatficarcomoespaomenor
queoespaolgico,definidopelacolunasoft.

Definindoquotasparagrupo
Aquotadegrupotilquandosetrabalhaemdeterminadossetoresdentrodaempresaepor
suavezdentrodosistema.Porexemplo,emumaempresaquepossuiumgrupochamadofinanceiroe
umoutrogrupochamadoprogramao,ambososgruposdevemterdireitosdegravaodentrodo
sistema, mas interessante repassar uma quota para ambos os grupos, pois seno cada usurio
presentedentrodosgruposiraproveitaraquotadegrupoparaarmazenarseusarquivospessoais,
paranoocuparseuespaonodisco.
Paraeditarquotasdegrupos,bastaexecutar:
#edquotag<grupo>
#edquotagcpd

As configuraes de quotas para grupos so feitas da mesma forma que so definidas para os
usurios.
Suponhamosqueaconfiguraodoarquivosejaaseguinte:
Diskquotasforgroupcpd(gid505):
Filesystemblockssofthardinodessofthard
/dev/hda6500019000200003000

Noexemploosgrupopossui5.000kbemdisco,seulimitelgico(soft)19.000kbeseulimite
fsico(hard)20.000kb.

SejaumProfissionalAprendendocomProfissionais122

LinuxSystemAdministration
Opontomaisimportantedesefrizarqueaquotadegrupoumlimitedeutilizaopara
todososusuriosdogrupo.Ouseja,vamossuporoseguintecaso:

cpd:x:507:pedrohenrique,fulano,beltrano,ciclano
Utilizando o exemplo acima, os usurios do grupo cpd (pedrohenrique, fulano, beltrano,
ciclano)podemutilizarjuntosnomximo20.000kb.Ouseja,seousuriopedrohenriqueutilizar
19500kbosoutrosusurios(fulano,beltrano,ciclano)poderousarnomximo500kb.
AconfuraoGracePeriodvlidatantoparausuriosquantoparagrupos.

SejaumProfissionalAprendendocomProfissionais123

LinuxSystemAdministration

AgendadordeTarefas
Aadministraodeumservidorexigeexecutartarefasperidicas,como:realizarbackupno
finaldoturnodetrabalho,checagemeatualizaodebancodedados,leituradeinformaeseme
mail,entreoutrastarefas.Nestesentido,foicriada#ls/var/log/packages/umaferramentade
agendamentodetarefasdenominadocron.
O agendador cron, que o agendador padro do UNIX, vem no pacote crontabs. A
configuraopodeserfeitaporvriasferramentasearquivosdevriasautorias,nestematerialser
abordadaaferramentadeautoriadePaulVixie,queamaispopularentreosadministradoresde
sistemas,onomedestepacotevixiecron.

ConsultanaBasedeDadospackages.
#ls/var/log/packages/

CRON
Essa ferramenta possui como daemon o servio crond, responsvel pela verificao dos
arquivosdeconfiguraodoagendador.Eleverificaacadaminutosehouvemudananadatadeseu
diretriodeservios(ounadatadoarquivoem/etc/crontab).Setiverocorridomudana,ocronir
examinaradatadetodososarquivoscrontaberecarregaraquelesqueforamalterados.Porissoo
serviocrondnoprecisaserreativadoquandohouveralteraoemqualquerumdeseusarquivosde
configurao.
Pode seusaraconsultaaosprocessosparasaberseoserviocrondestrodando,como
apresentadoabaixo:

#psax|grepcrond
crond(pid8478)estrodando...

NOTA:paranoterqueinicializarocrondtodavezquefornecessrioreiniciarosistema,utilizeaferramentantsysv.

SejaumProfissionalAprendendocomProfissionais124

LinuxSystemAdministration
Importante:Ocronassumequeosistemaestsempreligadoeoserviocrondrodando.Seamquina
ouoservionoestiverativonomomentoemquedeterminadatarefaestagendada,essatarefaento
noserexecutada.
Oscomandosseroexecutadosdesdequeoscamposminuto,horaemscorresponderemhoraatual,
equandopelomenosumdoscamposdedia(diaoudia_da_semana)corresponderemaodiaatual.

Arquivosdeconfigurao
Oarquivodeconfiguraodoagendadorcrono/etc/crontab,abaixoexisteumarquivoexemplo:
#vi/etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
#runparts
01****roo
01****rootrunparts/etc/cron.hourly
024***rootrunparts/etc/cron.daily
224**0rootrunparts/etc/cron.weekly
4241**rootrunparts/etc/cron.monthly

Asprimeirasquatrolinhassovariveisusadasparaconfiguraroambientenoqualastarefasdocron
estorodando.Divididasnaseguinteestrutura:
SHELLdesignaaosistemaqualinterpretadordecomandosusar.
PATHdefineocaminhousadoparaexecutarocomando.
MAILTOindicaoemaildoresponsvelqueirreceberarespostadeexecuoparatodososcrons
que foremrealizados;(esteemailutilizadoparaenviarnotificaesdeagendamentosqueno
forambemsucedidos.Seoprogramafoiexecutadoperfeitamente,noenviadanotificao).
SejaumProfissionalAprendendocomProfissionais125

LinuxSystemAdministration
HOMEusadocomoodiretriopadroquandoseexecutacomandosouscripts.

NOTA:SeocampodavarivelMAILTOestiverdefinidocomoumastringvazia(MAILTO=""),oemailnoserenviado.

Cadalinhadoarquivo/etc/crontabrepresentaatarefaetemoformato:
<minuto><hora><dia><ms><dia_da_semana><comando>
Oscampossodescritosdaseguintemaneira:
Campo
minuto
hora
dia
ms
diadasemana

ValoresValidos
Qualquerinteirode0a59
Qualquerinteirode0a23
Qualquerinteirode1a31
Qualquerinteirode1a12
Qualquerinteirode0a7

Seumcampotiverindicadocomasterisco(*),significaqueaceitartodaafaixadevaloresvlidos.
Podese usar intervalos de nmeros. O intervalo um par de nmeros separado por hfen. Por
exemplo,nointervalo1519emumaentradahorasespecificaexecuoas15,16,17,18e19
horas.
Listassovlidastambm.Listassonmerosseparadosporvrgulas.Exemplo:15,8,12.Ousena,
1,2,3,4,5,8,12.
Tambmexisteapossibilidadedeseusarfraesdetempo,porexemplode10em10minutos,o
formatodafrao*/tempo,assimparaocasoapresentadoseria*/10nocampodeminutos.
Nomes(emingls)tambmpodemserusadosnoscamposmsedia_da_semana.Deveseusar
astrsprimeirasletrasdodiaoums.(Segunda=mon=1)
Osextocampo(orestantedalinha)determinaocomandoaserexecutado.Deveseutilizar
todoocaminhoatocomando.Parasaberondeestocomandoaferramentawhereispodeauxiliar.
AsdistribuiesbaseadasnaRedHatutilizamoarquivo/etc/crontabparaorganizardiretrios
detarefas,comoemdias,horas,semanasemeses.Oarquivo/etc/crontabpodeutilizaroscriptrun
parts para executar os scripts nos diretrios /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly, e
/etc/cron.monthly.Osarquivosnessesdiretriosdevemestarescritosemshellscript.Paraadicionar
SejaumProfissionalAprendendocomProfissionais126

LinuxSystemAdministration
uma tarefa, simplesmente coloqueumatarefa (sendoumarquivo executvel)dentro do diretrio
especfico.Atarefaserexecutadadeacordocomodiretrioselecionado:
/etc/cron.hourlydehoraemhora
/etc/cron.dailytodososdias
/etc/cron.weeklyumavezporsemana
/etc/cron.monthlyumavezporms

Crontab
Crontab uma ferramenta que auxilia no manuseio do agendador por parte dos usurio
comuns,poisosmesmosnopossuemacessoaosdiretriosdeagendamentodocron.
Oscrontabsdetodososusuriossoarmazenadosnodiretrio/var/spool/cron,ecadaarquivo
possuionomedousurioqueocriou,ouseja,/var/spool/cron/nome_do_usurio.Paracriarum
crontabcomoumusurionormal,bastautilizaraferramentacrontabcomaopoeeeditaro
crontabdousurio.

#crontabe

Os arquivos utilizam a mesma sintaxe do /etc/crontab (frizar que estes arquivos no


possuemosextocampo.Ocampodousuriodonodoprocesso).
Odaemondocronchecaoarquivo/etc/crontabeosdiretrios/var/spool/croneo/etc/cron.d
de minuto em minuto e verifica se houve mudanas. Se houveram mudanas, ento elas so
carregadasparaamemria.
Umexemplosimples:Agendarumacpiadetodososarquivosqueseencontramdentrodo
diretrio/var/logparaumdiretriodentrodapastadosuperusurios18horas.
Agendarutilizandoocomandocrontabeecomosuperusurio.

SejaumProfissionalAprendendocomProfissionais127

LinuxSystemAdministration
#crontabe

Ocomandoacimairabrirumarquivocomoeditorpadrodousurio.Acrescentarlinhaaser
executada:
018***/bin/cprf/var/log/*/root/logs
<minuto><hora><dia><ms><dia_da_semana><comando>
Acimafoipassadoparaques18horasdetodososdiaselefaaumacpiadodiretrio
/var/log.Autilidadedesefazeracpiadestediretrioporquedentrodeleficamarmazenadas
informaesdosistemaeacessosaomesmo,almdeoutrasinformaes.

Fazeracpiaajuda,pormnointeressanteapenasfazeracpia,poisumdiaqueseesquea
derealizala,todasasinformaesdodiaanteriorseroperdidas.Assimaconselhvelcriarum
scriptshellparafazeracpia,empacotarecompactarosarquivos.Portantodeversercriadoum
arquivocomonomedescript.shdentrododiretriodoroot,almdeumdiretriochamadologs.O
cdigodoscriptpodeser:
#vi/root/script.sh

#!/bin/bash
cd/var/log
tarcvfzbackup`date+%m%d`.tar.gz*
mvbackup*/root/logs

Oscriptacimairexecutarosseguintescomandos:

entrarnodiretrio/var/log(apsafinalizaodoscripteleretornarparaodiretrioantesdasua
chamada).

empacotar e compactar todo o contedo do diretrio /var/log com o nome de backup e


complementadapeladatadodia.

moverobackupgeradoparadentrododiretrio/root/logs.

SejaumProfissionalAprendendocomProfissionais128

LinuxSystemAdministration

Controlandooacessocron
Osarquivos/etc/cron.allowe/etc/cron.denysousadospararestringiroacessoaocron.O
/etc/cron.allowcontmalistadeusuriospermitidosausarocron.Jo/etc/cron.denycontmalista
deusuriosnegadosaousodocron.Oformatopararestringircolocarumnomedeusuriopor
linha.Essesarquivosdecontroledeacessosolidostodasasvezesqueumusuriotentaadicionarou
removertarefasnocron.
Normalmenteestearquivonoexiste,podendosergeradonomomentodesuachamadacomo
editordesuapreferncia.Exemplodocontedodecadaumdestesarquivos:
cron.allow
#vi/etc/cron.allow
pedrohenrique
leandro

cron.deny
#vi/etc/cron.deny
rubia
angela

Deacordocomosexemploacimaosusuriosrafaelefulanopoderoutilizaroagendador,
pormosusuriosciclanoebeltranonopoderofazeromesmopoisoseunomeseencontradentro
doarquivodenegao.Casoousuriociclanotenteusarocomandocrontabeparaagendaralgo
receberaseguinteresposta:
$crontabe

You(ciclano)arenotallowedtousethisprogram(crontab)Seecrontab(1)formoreinformation
Arespostafoiaseguinte:Voc(ciclano)nopossuipermissoparausaresteprograma(crontab)
Vejacrontab(1)paramaioresinformaes
NOTA:casonoforutilizaraspermissesparaaexecuodoagendadorambososarquivosnodeveroexistirnosistema,poiseles
poderonegartodososusurios,inclusiveoroot,deutilizaroagendadorcrontab.

SejaumProfissionalAprendendocomProfissionais129

LinuxSystemAdministration

Anacron(ParaRedHat)
Oanacronumexecutordetarefasagendadasqueporalgummotivonoforamexecutadas.
Quando o computador necessita ser desligado e j existe alguma tarefa agendada justamente no
horrioqueelaestdesligado,aoinicializarosistemaoanacronverificaatabelado/etc/anacrontab,e
casoalgumanotenhasidoexecutadaeleofarimediatamente.
Oseuusorecomendadoquandoosistemapodenoestarexecutandonomomentodetarefas
agendadas,masseosistemapermaneceligado24horaspordiae7diasnasemanamelhorutilizaro
cron.
Sintaxe:
anacron[opes][jobs]
opes:
fforaautilizaodoanacron,ignorandoohorriodeexecuo
uapenasatualizaadatadeexecuoparaadatacorrente,pormsemrealizarnada
nexecutaocomandoimediatamenteapsasuachamada
dnolanaoanacronparaexecutarembackgroud,retornatambmaverso,ohorriode
ativaoeaquantidadedejobsparaseremexecutados
hchamaohelpdocomando.Exemplo:agendarumatarefacomocronparaserexecutados
2:00damanhtodososdias.
Chamaroagendadordocron:
#crontabe

Acrescentaratarefaparaoanacron,nestecasoserumacpiadoarquivo/var/log/messages
paradentrododiretriodoroot:
02***/bin/cpRf/var/log/messages/root/anacron_log

SejaumProfissionalAprendendocomProfissionais130

LinuxSystemAdministration

Apsoagendamentobastainicializaroanacroneesperarpelaativaodosistemadepoisdo
horriomarcado:
#anacron

Paraverificarserealizouatarefa,soliciteoanacroncomaopodapsaativaodo
sistema, lembrando que o computador dever estar desativado no momento de executar o cron
agendado:
#anacrond
Anacron2.3startedon20030623
Normalexit(1jobsrun)

Aprimeiralinha,foiagendadaumatarefaparaexecutar,as18:25horasnodia31doms7,sabado6,
ocomandobashscript.sh.
Asegunda,agendaumatarefaparaexecutars23:00horasemtodosdias,msediadasemanao
comandobashbkprede.sh.
Executecomandoparaverificarastarefaspessoaisqueforamagendadas
#crontabl
#DONOTEDITTHISFILEeditthemasterandreinstall.
#(/tmp/crontab.2704installedonFriJul3017:02:452004)
#(Cronversion$Id:crontab.c,v2.131994/01/1703:20:37vixieExp$)
25183176bashscript.sh
023***bashbkprede.sh

SejaumProfissionalAprendendocomProfissionais131

LinuxSystemAdministration

ConfiguraodosDispositivosdeHardware
Paraefetuarconfiguraesdehardwarenecessrioeimportantefazerumapesquisasobreotipode
cadaumdeleseverificarasferramentasqueauxiliamnasuaconfigurao.Cadadistribuiolinux
possuisuasferramentasespecficas.
NestematerialseroabordadosconfiguraesdehardwareparadistribuioSlackware10.2.
Ferramentas:
Alemdessas,existeaferramentaPKGTOOL,paraauxiliaraconfiguraodealgunsdispositivosem
modotexto.Paravisualizlaexecuteocomando:

ConfigurandoimpressoracomCUPS
1)Passo:Habilitarservidordeimpressao
#/etc/rc.d/rc.cupsstop
#/etc/rc.d/rc.cupsstart

2)Passo:LogarnoservidorCUPSatravsdobrowser

SejaumProfissionalAprendendocomProfissionais132

LinuxSystemAdministration
Existemvrios comandosafinsdegerenciarafiladeimpresso,algunsdelesserocomentados
abaixo:
#lpqa
Rank

Owner

JobFile(s)TotalSize

active root6testpage.asc1024bytes
1stroot7testpagea4.ps18432bytes

Estecomandousadoparamostrarafiladeimpressodetodasasimpressorasqueestoematividade
namquinalocal.
#lpstat
hp8406root1024Ter03Ago200419:32:11BRT
hp8407root18432Ter03Ago200419:32:21BRT

Estecomandomostracommenosdetalhesafiladeimpresso.
#lpqa listaafiladeimpresso
Rank

Owner

JobFile(s)TotalSize

active

root6testpage.asc1024bytes

1stroot7testpagea4.ps18432bytes

#lprm7 removedafilaaimpressodejob7

#lpqa mostraanovafiladeimpresso
Rank

OwnerJob

File(s)TotalSize

active

root6 testpage.asc1024bytes

Este comando, lprm <job>, remove um arquivo identificado por <job> da fila de impresso.
interessantevisualizarmosoidentificador(job)doarquivopararemovlo.Entretantoaexecuo
dessecomandosemojob,lprm,farcomqueoprximodafilasejaremovido.
#lpr/etc/passwd

SejaumProfissionalAprendendocomProfissionais133

LinuxSystemAdministration
Ocomandoacimaenviaumjob(arquivoparaimpresso)parafiladeimpresso.Verifiquecomo
comandolpqa.
#lpqa
Rank

Owner

JobFile(s) TotalSize

active

root

6testpage.asc 1024bytes

1stroot 8passwd 2048bytes

possvel remover vrios arquivos da fila de impresso. Para isso usamos o comando lprm
identificandotodososjobsquedevemserremovidosdafila.Observeoscomandos:
#lprm68
#lpqa
noentries

Oprimeiro comandoremoveosarquivodejob6e8respectivamente;osegundolistaafila de
impressocomnenhumjobematividade.

SejaumProfissionalAprendendocomProfissionais134

LinuxSystemAdministration

ConfiguraoBsicadoServidorNFS
LadoServidor
1passo:Verificarsealgunspacotesestoinstaladosnosistema:portmapenfs.
#ls/var/log/packages|grepportmap
portmap5.0

#ls/var/log/packages|grepnfs
nfsutils

2passo:Verifiqueseodaemonportmapestrodando.Paraissoexecute:
#psax|grepportmap
portmap(pid1515)estrodando...

Casoestejaparado,inicieo.
#/etc/rc.d/portmapstart

3passo:Editaroarquivo/etc/exportsdeformaaidentificarosdiretrios/arquivosquedeveroser
compartilhadospublicamenteouno.Eleconfiguradoidentificandoduascolunas,aprimeiradeve
possuir o caminhoabsolutododiretrio/arquivoquesercompartilhado;asegundadevepossuir
informaessobreasmquinasquepoderoutilizarestecompartilhamento(IP/MASCARA)esuas
devidaspermisses.

SejaumProfissionalAprendendocomProfissionais135

LinuxSystemAdministration
#vi/etc/exports

Exemplodecontedodestearquivo:
/publico10.62.0.0/255.255.0.0(rw,no_root_squash)

Nesteexemploodiretrioqueestsendocompartilhado publico queencontraseno /.Esteest


disponvelpararede 10.62.0.0 demascaracasseB, 255.255.0.0,ouseja,todoscomputados,com
permissesdeleituraeescrita(rw)equeorootdasmquinasclienteteroprivilgiosderootno
diretriocompartilhadodoservidorqueestdefinidopelaopono_root_squash.Sedesejarque
issonosejapossvel,substituano_root_squashpor root_squash,omesmovaleparaaoporw
podendosersubstitudaporro(readonlysomenteleitura).

4passo:reiniciarodaemondonfs
#/etc/rc.d/nfsstop

5passo:Verifiqueoscompartilhamentosexistentes
#exportfsv
/publico10.62.0.0/255.255.0.0(rw,wdelay,no_root_squash)

LadoCliente

1passo:EfetuaramontagemdocompartilhamentoindicandooIPdoServidor.Porexemplo;
#mounttnfs10.62.0.104:/publico/opt

Sintaxedocomandoacima:
SejaumProfissionalAprendendocomProfissionais136

LinuxSystemAdministration
#mounttnfsIP_Server:Caminho_do_copartilhamentoponto_de_montagem

2passo:Digiteocomandomountparaverificartodosdispositivosmontadosatualmente.
#mount
/dev/hda5on/typeext3(rw,usrquota,grpquota)
/dev/hda2on/boottypeext3(rw)
nfsdon/proc/fs/nfsdtypenfsd(rw)
...
10.62.0.102:/publicoon/opttypenfs(rw,addr=10.62.0.102)

login:<entrecomlogin>
Password:<entrecomasenha>
$ umShelldisponibilizado.
NOTA:devepreviamenteexistirumusuriocadastradonoservidorquesaibaloginesenhaparaacessaloviatelnet.

OBS.:Orootnologaviatelnetporpadro.Deveseeditaroarquivo/etc/securettyparaqueessaoposejahabilitada,
adicionandoconsolesvirtuaisdotipopts/x.

#vi/etc/securetty

Exemplodecontedodestearquivo:
console
vc/1
...
vc/11
tty1
...
tty11
SejaumProfissionalAprendendocomProfissionais137

LinuxSystemAdministration
pts/0
pts/1
pts/2
...

HabilitandooacessoremotoviaSSH(passoapasso)
LadoServidor
1passo:VerificarseopacotedoSSHestinstaladonosistema:
#ls/var/log/packages|grepopenssh

2passo:Verifiqueseodaemonsshdestrodando.
#servicesshdstatus
sshd(pid40311868)estrodando...

Casonoesteja,deveinicialo.
LadoCliente
1passo:VerificarseopacotedoSSHestinstaladonosistema:
#ls/var/log/packages|grepopenssh

2passo:Executarocomando:
#sshleandro@10.62.0.102
Theauthenticityofhost'10.62.0.102(10.62.0.102)'can'tbeestablished.
RSAkeyfingerprintisb7:72:0d:44:d3:14:89:fa:e5:83:41:32:6c:90:3a:bc.

SejaumProfissionalAprendendocomProfissionais138

LinuxSystemAdministration
Areyousureyouwanttocontinueconnecting(yes/no)?

3passo:Digiteyesparaefetivaraconexoelogodepoisasenhaparaousurioinformado.
Warning:Permanentlyadded'10.62.0.102'(RSA)tothelistofknownhosts.
rafael@10.62.0.102'spassword:

Seasenhainformadaestivercorretaumshellserexibido.
$

SejaumProfissionalAprendendocomProfissionais139

LinuxSystemAdministration

CompilaodoKernel
Porquerecompilarokernel?Aprimeiraintenootimizarokernelparaoseuhardwareafimde
melhoraraperformanceesuportartodososdispositivos.
Voctambmpodequereratualizarosistemaobtendosuporteanovosresursosedispositivosde
hardware.
OuvocpodequererselivrardeBUG's.
Oqueokernel?OkernelLinuxocentrodosistemaoperacional.Apartedosistemaresponsvel
pelogerenciamentodebaixonveldohardwareesoftware.
Quaissoosrequerimentosmnimosdehardware?Issovariamuitodeacordocomaarquiteturae
aversodokernel.Mastenhaemmenteoseguinteparaterumsistemamnimofuncional:
16MBdeRAM(memriafsica),100MHzdeclockdeprocessamentoe100MBdeespaoemdisco
(memriavirtual).
#Verificandooclockeaarquitetura
#cat/proc/cpuinfo

Mdulos
Mdulossoosdriversdisponiveisjuntoaokerneldosistemaoperacional.NosistemaLinux
podemosmanipularestesdriversdaseguinteforma:
Listarosmduloscarregadosemmemria
#lsmod
ModuleSize

UsedbyNottainted

cls_route 4344

cls_u32

4892

cls_fw 2584

(unused)
(unused)

SejaumProfissionalAprendendocomProfissionais140

LinuxSystemAdministration
sch_prio 2816

(unused)

sch_sfq 3360

(unused)

sch_tbf 2880

sch_cbq 12640

viarhine 12464

mii 2272

[8139tooviarhine]

crc32 2880

[8139tooviarhine]

pcmcia_core 39972

idescsi 9328

Descarregarosmduloscarregadosemmemria
#rmmod<nome_mdulo>
#rmmodviarhine

Carregarmdulosemmemria
#insmod<nome_mdulo>
#insmodvfat
#insmodfat

Carregarmdulosesuasdependncias
#modprobe<sintaxe>
#modprobevfat

Compilandookernel
1)Passo:BaixeopacotequecontmocdigofontemaisatualizadodokernelLinuxdasrie2.6em
http://www.kernel.org
Abrindoapginanonavegadorweb,cliquenolinkFparafazerodownloaddopacotequecontmos
fontes.
Voctambmpoderfazerodownloadcomocomandowgetcomonoexemploabaixo:
SejaumProfissionalAprendendocomProfissionais141

LinuxSystemAdministration
$wgethttp://www.kernel.org/pub/linux/kernel/v2.6/linux2.6.7.tar.bz2

2)Passo:InstalarokernelComosuperusurio(faaologinnosistemacomousurioroot),
descompacteedesempacoteoarquivoassim:
#tarxjvflinux2.6.7.tar.bz2C/usr/src

3)Passo:Crieolinksimblico/usr/src/linuxapontandopara/usr/src/linux2.6.7assim:
#lnsf/usr/src/linux2.6.7/usr/src/linux

4)Passo:DiretrioFonteEsteserodiretrioraizdecompilao,ouseja,odiretriobaseparaos
passosseguintes.
#cd/usr/src/linux

O arquivo /usr/src/linux/.config armazena a configurao do kernel. Basicamente, este arquivo


descreveoquedeverserincorporadoaokernel(y)eoquedeversercriadocomomdulo(m).
Incorporeaokernelapenasonecessrio.Orestantenecessrio,configurecomomdulo.Oqueno
fornecessrio,retire.Porexemplo,sevocnotemdispositivospcmciaemsuamquina,retireda
configuraoosuporteapcmcia.Istopossibilitaumamaiorperformanceporpartedosistema.
OkernelLinuxpodesermodular,ouseja,osuportebsicoficaincorporadoaokernelconstantemente
eosuporteaoutrosdispositivos,comoporexemplo,umaplacadesom,podeserconfiguradocomo
mdulo.Assimsendo,estemdulodaplacadesomcarregadonamemriaeplugadoaokernel
apenasquandofornecessrio,ouseja,apenasquandoousurioestiverutilizandosomnosistema.
Istootimizaosistema,utilizandoseusrecursossabiamente.
Existe uma configurao padro para cada tipo de arquitetura de harware no diretrio
/usr/src/linux/arch.Onomedoarquivodefconfig.Supondoquesuaarquiteturadeharwaresejai386,
SejaumProfissionalAprendendocomProfissionais142

LinuxSystemAdministration
amaiscomum,faaumacpiadoarquivodefconfigparaodiretrioraizdecompilaocomonome
.configassim:
6)Passo:Copiararquivodeconfigurao
#cpf/usr/src/linux/arch/i386/defconfig/usr/src/linux/.config

Emalgunscasosdearquitetura,podeexistirumdiretrioconfigscontendoconfiguraesespecficas
etestadasparacadamodelodemquina.
Sendoassim,aoiniciaraferramentadeconfigurao,vocjteralgunsitensmarcados.Noser
necessrioiniciardozeroumaconfigurao.

7)Passo:Ferramentadeconfigurao
#makemenuconfig
ou
#makexconfig(modogrfico)

Percebaaexistnciadeumaconfiguraojprdefinida.Istosedeveaofatodevoctercopiadoo
arquivodefconfigparao
diretrioraizdecompilaocomonomede.config.

Algumasdicas:
1)Marquecom*itensqueseroincorporadosaoarquivodokernelcomoporexemplo,
sistemasdearquivosquevocutilizaou
vaiutilizaremsuasparties.
2)Marquecommitensqueserocriadoscomomdulo,ouseja,seroplugadosaokernel
apenasquandohouvernecessidadedeuso.

SejaumProfissionalAprendendocomProfissionais143

LinuxSystemAdministration
Esteumpassodemoradoedeveserfeitocomateno.Acompanheohelpdecada
itemparasaberoqueestincluindoouno.
8)Passo:Apsaconfiguraodokernel,vamoscompillorealmente.Paraisto,executeocomando:
#make

Estepassopodelevarminutosoudeumdiaparaooutro.Dependedopoderdamquinaondavoc
vaicompilar.
9)Passo:Apsacompilaodokernel,vamosinstalarosmduloscomoseguintecomando:
#makemodules_install

10)Passo:Agoravamoscopiarokernel(bzImage)paraodiretrio/boot.Oarquivoestnodiretrio
deacordocomaarquiteturaquevoc
estiverutilizando.SevoccompilouokernelemumPC,oquemaiscomum,entoocomandopara
copiaroseguinte:
#cp/usr/src/linux/arch/i386/boot/bzImage/boot/vmlinuz2.6.7i3861

Nomeieos arquivosdeacordocomaversodokernelqueestcompilandoedeacordocoma
arquiteturadehardware.
AgoravamoscopiaroarquivoSystem.mappara/boot:
#cp/usr/src/linux/System.map/boot/System.map2.6.7i3861

CriandoumlinksimblicoparaSystem.map:

SejaumProfissionalAprendendocomProfissionais144

LinuxSystemAdministration
#lnsf/boot/System.map2.6.7i3861/boot/System.map

Agoravamoscopiaro.configpara/boot:
#cp/usr/src/linux/.config/boot/config2.6.7i3861

11)Passo:Vamoscriarumarquivoinitrdassim:
#mkinitrdo/boot/initrd2.6.7i3861.img2.6.7i3861

Aopo(oarquivo)dizondesalvaroarquivoinitrdgerado.
Aprximaopodeparmetroaversodokernelquevoccompilou.
Na verdade, o initrd no necessrio caso voc tenha incorporado ao kernel todo a hardware
necessrioparasuainicializao
eorestantequenonecessrioparaainicializaocomomdulo.Ouseja,vocnodeveconfigurar
comomduloochipsetdasua
placame,suporteaIDEetodosossistemasdearquivosqueestiverutilizando,comoext3,jfs,xfse
reiserfs.
11)Passo:Vamosconfigurarogerenciadordeboot,GRUBouLILO,qualvocutiliza?

ConfiguraoGRUB(Istoapenasumexemplo):
#NotequevocnoprecisaregravaroGRUBnoMBRoupartioespecficaapsfeitasasalteraes.

boot=/dev/hda
default=0
timeout=10
titleDebianGNU/Linux(2.4.25i386c4)
root(hd0,1)
kernel/boot/vmlinuz2.4.25i386c4roroot=LABEL=/

SejaumProfissionalAprendendocomProfissionais145

LinuxSystemAdministration
initrd/boot/initrd2.4.25i386c4.img
titleDebianGNU/Linux(2.6.7i3861)
root(hd0,1)
kernel/boot/vmlinuz2.6.7i3861roroot=LABEL=/
initrd/boot/initrd2.6.7i3861.img

ConfiguraodoLILO(Istoapenasumexemplo):
#NotequevocprecisaregravaroLILOnoMBRoupartioespecficaapsfeitasasalteraes.
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
default=2.6.7
lba32
prompt
timeout=50
message=/boot/message
menuscheme=wb:bw:wb:bw
image=/boot/vmlinuz
label=2.4.25
root=/dev/hda3
append="hdc=idescsi"
readonly

image=/boot/bzImage2.6.0
label=2.6.7
root=/dev/hda3
readonly
ExecutelilopararegravaroLILOnoMBR.
#lilo

SejaumProfissionalAprendendocomProfissionais146

Você também pode gostar