ingeniero en sistemas - dspace de la universidad del...
TRANSCRIPT
-
I
UniversidaddelAzuay
FacultaddeCienciasdelaAdministracin
EscueladeIngenieradeSistemas
ELABORACINDEUNTUTORIALDEPRACTICASPARA
ELLABORATORIODESISTEMASOPERATIVOS
Trabajodegraduacinprevioalaobtencindelttulode
IngenieroenSistemas
Autor:RmuloArturoIzquierdoPrez
Director:Ing.PabloEsquivel
Cuenca,Ecuador
2008
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez II
DEDICATORIA
La culminacin de este trabajo va
dedicadaconmuchocarioamimadre
y a mi padre quienes con su apoyo y
sacrificiomeensearonanodesmayar
en los momentos difciles, adems
supieron encaminarme a la realizacin
demis ideales y la culminacindemis
estudios superiores de un modo
desinteresadoeincondicional.
A mi familia quienes, me apoyaron y
creyeron en m brindndome la
seguridadycapacidaddellegaralxito.
RmuloArturo
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez III
AGRADECIMIENTOS
Unmuy sincero agradecimiento aDios
por haberme brindado la fuerza
necesaria para cumplir esta meta y
culminar esta etapa de mi vida, sobre
todo a mis padres que con gran
esfuerzo y amor incondicional me
apoyaron siempre, a mis amigos,
compaeros, profesores y dems
personas que estuvieron brindndome
elapoyoindispensableparallegaraser
mejorpersonayprofesional.
Al Ingeniero Esquivel quien con su
experiencia y sin egosmo alguno me
brindo conocimientos que me fueron
tiles en la realizacin de esta
monografa.
RmuloArturo
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez IV
RESPONSABILIDADDEAUTOR
Lasideasvertidasenlapresentemonografasondeexclusivaresponsabilidadde
suautor.
RmuloArturoIzquierdoPrez
Cdigo:28178
C.I:0102362241
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez V
NDICEDECONTENIDOS
ContenidoDEDICATORIA...................................................................................................... IIAGRADECIMIENTOS ..........................................................................................IIIRESPONSABILIDADDEAUTOR...................................................................... IVNDICEDECONTENIDOS....................................................................................VRESUMEN..........................................................................................................XIIIABSTRACT ............................................................ Er ror !Marcador nodefinido.INTRODUCCION ....................................................................................................1CAPITULO1:INSTALACINDELSOFTWAREAUTILIZAR...........................2
1.1Introduccin...............................................................................................................2
1.2Requisitosdeinstalacin ............................................................................................2
1.3InstalacindelaMquinaVirtualVMWARE................................................................2
1.4Creacinyconfiguracindelamquinavirtualparala instalacindeLinux ................6
1.5InstalacindeLinuxusandoVMWARE. .....................................................................13
1.6Conclusin:...............................................................................................................26
CAPITULO2:COMANDOSBSICOS ................................................................272.1Introduccin.............................................................................................................27
2.2Primerospasos .........................................................................................................27
2.3Comandoparaayuda................................................................................................29
2.4Comandosparamanejodearchivosodirectorios.....................................................29
2.5Comandosparaelmanejodeusuariosygrupos .......................................................35
2.6 Comandoparaconfigurarpermisosdeaccesoalosficheros....................................36
2.7ComandosparaelmanejodelFILESYSTEM ..............................................................39
2.8Comandosparaelmanejodeprocesosenelsistema ...............................................39
2.9Comandosparaelmanejodepuertosserviciosdecorreo,serviciosderedeinternet.......................................................................................................................................40
2.10Comandosparaelmanejodeldiscoduro ...............................................................48
2.11Comandosparaelempaquetarocomprimirarchivos .............................................50
2.12Comandosparaelmanejodefechayhoradelsistema ...........................................51
2.13Comandosparalaconfiguracindelsistema ..........................................................51
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez VI
2.14Comandosparaelmanejodepaquetes ..................................................................53
2.15Comandos paraelmanejodeparches ....................................................................54
2.16Programasylenguajesdeprogramacin.................................................................54
2.17Ejerciciosprcticos .................................................................................................56
2.18Conclusin:.............................................................................................................57
CAPITULO3:PROGRAMACIONENBASH.......................................................583.1Introduccin ............................................................................................................58
3.2QueesBash..............................................................................................................58
3.3Laordenecho...........................................................................................................58
3.4VariablesdeShell ....................................................................................................59
3.5Tiposdevariables.....................................................................................................59
3.5.1Variablesdefinidasporelusuario. .....................................................................59
3.5.2Variablesdeparmetros. ...................................................................................61
3.5.3Variablesdeentorno.........................................................................................61
3.5.4VariablesespecialesdeShell ..............................................................................62
3.6Caracteresespeciales ...............................................................................................63
3.7Laordenread ...........................................................................................................64
3.8Operadores ..............................................................................................................65
3.9Operadoreslgicos...................................................................................................65
3.10Operadoresdecomparacin...................................................................................66
3.11Laconstruccinif then..........................................................................................67
3.12Elbuclewhile .........................................................................................................68
3.13Elbucleuntil...........................................................................................................69
3.14Estructurafor in...................................................................................................70
3.15Estructuraselect.....................................................................................................70
3.16Construccincase...................................................................................................71
3.17Funciones ...............................................................................................................72
3.18Laordentest ..........................................................................................................73
3.19Expresionesaritmticas ..........................................................................................74
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez VII
3.20OperacionesLgicasconexpresiones .....................................................................74
3.21Capturandolasalidadeuncomando ......................................................................75
3.22Operadoresparaelmanejodecadenas .................................................................75
3.23Operadoresparaelmanejodearchivos..................................................................75
3.24Operadoresparaelmanejodeparmetros.............................................................76
3.25Ejercicios ................................................................................................................79
3.26Conclusin..............................................................................................................81
CAPITULO4:SEGURIDADESENSERVIDORESLINUX.................................824.1Introduccin.............................................................................................................82
4.2ManteniendoactualizadoelsistemamedianteYUM(YellowdogUpdater,Modified)......................................................................................................................................82
4.3InstalacindelRepositorioALDesktop .....................................................................84
4.4CrearunrepositorioYUM.........................................................................................85
4.5Cerrandolospuertosnonecesarios..........................................................................86
4.6ElsistemadeArchivosVirtualPROC..........................................................................86
4.7NoatenderalaspeticionesenviadasmedianteBroadcast ........................................87
4.8Proteccinantemensajesdeerrormalformateados................................................87
4.9Deshabilitarlaaceptacinderedirecciones ..............................................................88
4.10ProteccincontraataquesDoSdeinundacinSYN .................................................88
4.11 ProteccincontradireccionesIPnovlidas.............................................................89
4.12RedireccionamientoIP............................................................................................90
4.13Controlderutas......................................................................................................90
4.14Registrodeactividadessospechosas.......................................................................90
4.15SeguridadenlasContraseas................................................................................93
4.16Nopermitiraccesoarootmedianteelcomandosu ...............................................94
4.17AsegurandoelSistemadeFicheros.........................................................................94
4.18Conclusin..............................................................................................................95
CAPITULO5.INSTALACINYCONFIGURACINDELPROGRAMAVNCPARAADMINISTRACINREMOTADEEQUIPOS..........................................96
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez VIII
5.1Introduccin.............................................................................................................96
5.2ConocimientosPrevios .............................................................................................96
5.3DesarrollodelaPrctica ...........................................................................................97
5.3.1ConfiguracindelServidordeLinux ...................................................................97
5.3.2ConfiguracindelCliente .................................................................................101
5.3.3ConfiguracionesAdicionales ............................................................................101
5.3.4Paraquearranqueelservidorcadavezqueseenciendalamquina:...............102
5.4Ejercicios ................................................................................................................102
5.5Conclusin..............................................................................................................103
CAPITULO6.INSTALACINYCONFIGURACINDEUNSERVIDORWEB(APACHE)CONUNCERTIFICADODIGITAL.................................................104
6.1Introduccin...........................................................................................................104
6.2ConocimientosPrevios ...........................................................................................104
6.2.1ServidorWeb ...................................................................................................104
6.2.2Apache ............................................................................................................105
6.2.3CertificadoDigital ............................................................................................105
6.3DesarrollodelaPrctica .........................................................................................106
6.3.1ConfiguracindelServidorApache..................................................................106
6.3.2GenerandocertificadosSSLparaapache:.........................................................108
6.3.3InstalacindeunCertificadoDigitaldeVerisign...............................................113
6.3.4ParaqueelservidorWebseiniciecuandoseenciendaelcomputador ............117
6.4Ejercicios ................................................................................................................117
6.5Conclusin..............................................................................................................117
CAPITULO7.CONFIGURACIONESADICIONALESDEUNSERVIDORWEB.............................................................................................................................1197.1Introduccin. ..........................................................................................................119
7.2ConfiguracionesAdicionales ...................................................................................119
7.3CreacindeServidoresVirtuales............................................................................124
7.4Conclusin..............................................................................................................126
CAPITULO8.CONFIGURACINDEUNSERVIDORDNS ............................1278.1Introduccin...........................................................................................................127
8.2DNS ........................................................................................................................127
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez IX
8.3NIC(NetworkInformationCenter). .........................................................................127
8.4FQDN(Fully QualifiedDomainName). ....................................................................128
8.5ComponentesdeunDNS. .......................................................................................128
8.5.1ClientesDNS. ...................................................................................................129
8.5.2ServidoresDNS. ...............................................................................................129
8.5.3ZonasdeAutoridad..........................................................................................130
8.6ZonasdeReenvo...................................................................................................132
8.7ZonasdeResolucinInversa. ..................................................................................133
8.8Prctica ..................................................................................................................133
8.9Explicacindealgunaslneasdelarchivonamed.conf.............................................146
8.10URLdesitiospararevisarlacorrectaconfiguracindeunservidorDNS................149
8.11URLendondesepuederegistrargratisundominioenunservidorDNS ...............150
8.12ConfiguracinUDA ...............................................................................................150
8.13Conclusin............................................................................................................154
CAPITULO9:CONFIGURACINDETELNETYFTP.....................................1559.1Introduccin...........................................................................................................155
9.2TELNET ...................................................................................................................155
9.3FTP .........................................................................................................................156
9.4Conclusin..............................................................................................................157
CAPITULO10.CONFIGURACINDEUNSERVIDORPROXY(SQUID)......15910.1Introduccin .........................................................................................................159
10.2ServidorProxy ......................................................................................................159
10.3AcercadeSquid. ...................................................................................................159
10.3.1Recomendaciones:.........................................................................................162
10.4Conclusin............................................................................................................162
CAPITULO11.CONFIGURACINDESSH......................................................16311.1Introduccin. ........................................................................................................163
11.2SSH.......................................................................................................................163
11.3Conclusin............................................................................................................165
CAPITULO12.CONFIGURACINDEUNSERVIDORDHCP........................166
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez X
12.1Introduccin .........................................................................................................166
12.2DHCP ....................................................................................................................166
12.3EjemplosdeconfiguracionesDHCP.......................................................................167
12.4DescripcindelasOpcionesdelArchivo ...............................................................171
12.5Conclusin............................................................................................................173
CAPITULO13:CONFIGURACINDESENDMAIL.........................................17413.1Introduccin .........................................................................................................174
13.2Sendmail..............................................................................................................174
13.3ConfiguracindePOPyIMAP ...............................................................................179
13.4RecolectarCorreodeOtracuentapop3................................................................181
13.5HerramientasparaRevizarunservidordeCorreo .................................................181
13.6Conclusin............................................................................................................182
CAPITULO14.CONFIGURACINDEOPENWEBMAIL ................................18314.1Introduccin .........................................................................................................183
14.2OpenWebMail .....................................................................................................183
14.3 PasosparainstalarloyconfigurarOpenWebMail .............................................183
14.4CreacindeLaLibretadeDireccionesparaOpenWebMail...................................188
14.5ConfiguracindeOpenWebMailporUsuario........................................................189
14.6ConfiguracindeOpenWebMailconSpeedyCGI...................................................190
14.7Conclusin............................................................................................................191
CAPITULO15.CONFIGURACINDEMAILSCANNERCONELANTIVIRUSCLAMAV.............................................................................................................192
15.1Introduccin .........................................................................................................192
15.2MailScanner .........................................................................................................192
15.3InstalacindeMailScanner ...................................................................................192
15.4InstalacindeClamav ...........................................................................................192
15.5ConfiguracindeMailScanner ..............................................................................193
15.6Seinicianlos serviciosdeCLAMAV........................................................................194
15.7SeinicianlosserviciosdeMailScanner..................................................................194
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez XI
15.8PararevisarsiMailScannerseestaejecutando .....................................................194
15.9ProbandoelfuncionamientodelAntivirus ............................................................195
15.10ConfiguracionesAdicionales ...............................................................................195
15.11Conclusin..........................................................................................................196
CAPITULO16.CONFIGURACINDESPAMASSASSINCONMAILSCANNERYOPENWEBMAIL .............................................................................................197
16.1Introduccin .........................................................................................................197
16.2Spamassassin........................................................................................................197
16.3Configuracin deMailScanner ..............................................................................197
16.4ConfiguracindeSpamassassin ............................................................................200
16.5Creandobasesbayesianaslaprimeravez.............................................................200
16.6ConfiguracindeOpenWebMail ...........................................................................201
16.7Probando el Funcionamiento deSpamassassin .....................................................201
16.8RespaldandoyRestaurandolasBasesBayesianas.................................................203
16.9AumentandoopcionesaSpamassassin.................................................................204
16.10Conclusin..........................................................................................................204
CAPITULO17.CONFIGURACINDEUNANALIZADORDEMAILSCANNER(MAILWATCH)...................................................................................................205
17.1Introduccin .........................................................................................................205
17.2MailWatch............................................................................................................205
17.3Requisitos.............................................................................................................205
17.4Configurandophp.................................................................................................205
17.5ConfigurandoyarrancandoMysql ........................................................................206
17.6InstalacindeMailWatch .....................................................................................206
17.7ConfiguracindeMailScanner ..............................................................................209
17.8Permisosalasbasesbayesianas ...........................................................................209
17.9Paraingresaraverelmonitoreo...........................................................................209
17.10Conclusin..........................................................................................................210
CAPITULO18.CONFIGURACINDERSYNC................................................21118.1Introduccin .........................................................................................................211
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez XII
18.2Rsync....................................................................................................................211
18.3Configuracinenelequipoquesequiererespaldar..............................................211
18.4Configuracinenelequipodondesegrabaraelrespaldo .....................................213
18.5ExplicacindelasOpciones ..................................................................................214
18.6 ConfiguracinparaquefuncionemedianteSSH....................................................214
18.7Conclusin............................................................................................................215
CAPITULO19.CONFIGURACINDEUNFIREWALL(IPTABLES) .............21619.1Introduccin .........................................................................................................216
19.2Iptables ................................................................................................................216
19.3ComandosdeIptables ..........................................................................................218
19.4Estructuradelasopcionesiptables.......................................................................219
19.5Opcionesdeparmetrosdeiptables.....................................................................221
19.6ProtocoloTCP.......................................................................................................223
19.7ProtocoloUDP......................................................................................................224
19.8ProtocoloICMP.....................................................................................................225
19.9Mdulosconopcionesdecoincidenciasadicionales .............................................225
19.10Opcionesdelobjetivo .........................................................................................227
19.11Opcionesdelistado ............................................................................................229
19.12ConfiguracindeunaherramientacortafuegosFirestarter .................................230
19.12.1Primerospasos:Asistentedeconfiguracin .................................................230
19.12.2 Configurandoelcortafuegos:creandoreglasparaabrirpuertos ..................231
19.12.3Abriendopuertosapartirdeconexionesregistradas...................................232
19.12.4.Permitireltrficodenuestrared ................................................................233
19.13Conclusin..........................................................................................................234
CONCLUSIONESGENERALES.........................................................................235RECOMENDACIONESGENERALES................................................................236BIBLIOGRAFA ..................................................................................................237ANEXOS..............................................................................................................238
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez XIII
RESUMEN
Elpresenteproyectopretende realizarunTutorialdePrcticaspara lactedrade
LaboratoriodeSistemasOperativos.ElTutorialcontendrinformacinpasoapaso
para realizar prcticas sobre transferencia de archivos, seguridad, conectividad
remota,administracinderedes.Deestaformaelestudiantesefamiliarizarenla
forma de manejar un sistema operativo para la ejecucin de aplicaciones de
servidoryloscomandosquenecesita.
Setratarenloposiblequeeldesarrollodelaprcticadurelasdoshorasdeclase
razn por la cual el documento de la prctica tiene que estar completamente
detalladode la forma cmo realizarla y adems todoel softwarenecesariopara
desarrollarlaprcticapreviamenteinstalado.
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez XIV
-
I
INTRODUCCION
Elusodesoftwarelibresehaidoincrementando,debidoaquebrindalibertadalos
usuarios ya que este puede ser usado, copiado, estudiado, modificado y
redistribuidolibremente.
DebidoaestosevilanecesidaddecrearunTutorialde Prcticasparalamateria
de tercer ciclo Laboratorio de Sistemas Operativos. El Tutorial contendr
informacin paso a paso para realizar prcticas sobre transferencia de archivos,
seguridad,conectividadremota,etc.Deestaformaelestudiantesefamiliarizaren
la forma de manejar un sistema operativo para la ejecucin de aplicaciones de
servidoryloscomandosquenecesita.
Eldocumentode laprctica tienequeestarcompletamentedetalladode la forma
cmo realizarla y adems todo el software necesario para desarrollar la prctica
previamenteinstalado.
http://es.wikipedia.org/wiki/Libertad -
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 2
CAPITULO1:INSTALACINDELSOFTWAREAUTILIZAR
1.1Introduccin
Esteprimer captulo trata sobre los requisitos y la instalacinde todoel software
que utilizaremos para la realizacin de prcticas en este tutorial, como son la
MquinaVirtualVMWAREylaversindeLinuxCentOS5.
1.2Requisitosdeinstalacin
WindowsXP
ProcesadorPentium4osuperior
512MBdeRAMosuperior
20GBdediscodurocomomnimo
Tarjetadered
UnidaddeCDoDVD
1.3InstalacindelaMquinaVirtualVMWARE
La instalacin de laMquina Virtual VMWARE es un procedimiento sencillo que
describiremosacontinuacin:
Ejecutamoselinstalador,damosclickensiguienteonext.
Grfico1.1
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 3
Escogemoseldirectoriodeinstalacinodejamoselquetiene.
Grfico1.2
Escogemosdondequeremosqueseinstalelosaccesosdirectosal
programa.
Grfico1.3
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 4
ConfiguramoselproductodeshabilitamoselautorunparaelCDROM
Grfico1.4
Ahorasiinstalamoselproductodandouncliceninstall.
Grfico1.5
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 5
Sinospideunaclaveejecutamoselarchivokeygenqueseencuentradentro
delacarpetadelVMWAREyasobetenemoslaclave.
Grfico1.6
Luegofinalizamoslainstalacinyashaquedadoinstaladoelproducto.
Grfico1.7
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 6
1.4CreacinyconfiguracindelamquinavirtualparalainstalacindeLinux
ParalainstalacindeLinuxdentrodeVMWAREescogemoslaopcinNew
virtualmachine.
Grfico1.8
Damosclicensiguiente
Grfico1.9
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 7
EscogemoslaopcinpersonalizadooCustom
Grfico1.10
EscogemoslaopcinnuevaestacindetrabajoNewWorkstation5
Grfico1.11
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 8
En este ejemplo se instal la versin CENTOS 5.0 de Linux, para ello
escogemosenSistemaOperativo LinuxyenversinescogemosRedHat
Enterpriselinux4debidoaquenoseencuentraenestelistadolaversin
de CENTOS y al escoger la anterior nos permite instalar sin ningn
problema.
Grfico1.12
Escribimoselnombredelamquinavirtualylaubicacinendisco.
Grfico1.13
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 9
Escogemoselnmerodeprocesadoresenestecasoescogemosuno
One.
Grfico1.14
Especificamos la cantidad dememoria a compartir con lamquina virtual.
Estodependedecuantosealamemoriadelcomputadordondeserealizala
instalacin.Podraponerselamitaddelamemoriatotaldelcomputador.
Grfico1.15
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 10
Escogemos la conexin de red en este caso la opcin Use bridged
networking
Grfico1.16
Dejamoslaseleccinactualdel tipodeadaptadordeI/OenestecasoLSI
logic.
Grfico1.17
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 11
SeleccionamoslaopcincrearunnuevodiscovirtualCreateanewvirtual
disk
Grfico1.18
SeleccionamoseltipodediscoenestecasodejamosSCSI(Recomended)
Grfico1.19
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 12
Especificamoselespaciovirtualendisco.ParaLinuxesrecomendabledar
20GBcomomnimo.
Grfico1.20
Especificamoselnombredelarchivoendiscoyfinalizamoslainstalacin.
Grfico1.21
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 13
1.5InstalacindeLinuxusandoVMWARE.
DentrodeVMWAREpodremoscambiarlasopcionesdelosdispositivosen
elcomandoEditvirtualmachineytambinpodremosejecutarLinuxaldar
clicsobreStartvirtualmachine.
Grfico1.22
ParacargarelSistemaOperativo introducimoselcdydamosclicenStart
thevirtualmachinesemostrarlosiguiente.
EscogemoslaprimeraopcindamosunEnter
Grfico1.23
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 14
Aparecerunaopcinparacomprobareldiscodeinstalacin,escogemosla
opcinSkip parasaltarestacomprobacin.
Grfico1.24
EmpiezalainstalacinescogemoslaopcinNEXT.
Grfico1.25
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 15
EscogemoselidiomaennuestrocasoEspaol.
Grfico1.26
Seleccionamoselidiomadeteclado
Grfico1.27
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 16
AparecerunmensajedeerrorenelcualescogeremoslaopcinS
Grfico1.28
EnestapantalladejaremoslasopcionestalcomosemuestraenelGrfico
luegoescogeremossiguiente.
Grfico1.29
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 17
AparecerunapantalladeavisoenlaqueescogeremoslaopcinS.
Grfico1.30
En esta pantalla dejaremos las opciones tal como se encuentran y
escogemossiguiente.
Grfico1.31
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 18
SeleccionamoslareginennuestrocasoAmrica/Guayaquil
Grfico1.32
Introducimosunacontraseaparaelusuarioroot.Ejemplo:root
Grfico1.33
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 19
Enestapantallaescogemostodas lasaplicacionesparaelusodeinternety
escogemoslaopcinpersonalizarahorayluegodamosclicen siguiente.
Grfico1.34
Enestapantallaseleccionamostodaslasopcionesparacadaaplicacinydamosclicensiguiente.
Grfico1.35
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 20
Enestaventanadamosclicensiguienteparainiciarlainstalacin.
Grfico1.36
Inicialainstalacin
Grfico1.37
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 21
Cuandofinalizalainstalacinescogemoslaopcinreiniciar
Grfico1.38
Luegoempiezalainstalacindelosltimospasosdamosclicenadelante.
Grfico1.39
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 22
Luego configuramos el cortafuego y escogemos la opcin deshabilitado y
damosclicenadelante.
Grfico1.40
NossaldrunmensajeenelqueescogeremoslaopcinSI
Grfico1.41
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 23
ConfiguramoselSELinuxcomoDeshabilitado
Grfico1.42
EnlaconfiguracindeKdumpdejamosdeshabilitadoelkdump.
Grfico1.43
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 24
Configuramoslafechayhoraydamosclicenadelante.
Grfico1.44
Configuramoselusuarioylacontrasea
Grfico1.45
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 25
Enlaconfiguracindelatarjetadesonidoescogemosadelante.
Grfico1.46
Luegofinalizamoslainstalacin.
Grfico1.47
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 26
Luegoaparece laventanade iniciode sesinparapoderutilizar todos los
comandosiniciamoscomoroot.
Grfico1.48
1.6Conclusin:
Enestecaptuloseindicpasoapasocomoseinstalanlasherramientas(software)
queutilizaremosparadesarrollarlasprcticas,ennuestrocasousamoslaMquina
VirtualVMWAREv5.5queservircomobaseparainstalarelsistemaoperativoen
nuestrocasoCentOS5.
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 27
CAPITULO2:COMANDOSBSICOS
2.1Introduccin
Estecaptulosirvedeguaparalautilizacindecomandosbsicosynosservirde
mucha utilidad para la realizacin de todas las prcticas siguientes de
configuraciones.
Conestosepretendedarinformacindeloscomandosmsutilizadosenelmanejo
delsistema.
2.2Primerospasos
Antesde comenzar deberemoshaber iniciado sesin comousuario root y con la
contraseaquesedioenlainstalacinconelfindeutilizartodosloscomandos.
Grfico2.1
Paraelmanejode loscomandosutilizaremos laventanade terminal,paraabrirla
procederemos a dar botn derecho del ratn en el Escritorio de Linux, se
desplegaraunmenyescogeremoslaopcinAbrirTerminalcomosemuestraen
elGrfico.
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 28
Grfico2.2
Grfico2.3
Nota:En la explicacin de loscomandos [] indicaque son opcionales. que
puede ir ms de una. Las opciones suelen comenzar con o . Si en la
explicacindelcomandoseacabaconesporquehaymuchasmsopcioneso
informacin.
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 29
2.3Comandoparaayuda
man[opciones...]pgina
Muestra la documentacin de un determinado comando (en realidad tambin de
cualquierdocumentacin,noslocomandos).
Porejemplomanlsnosdartodaslasopcionesdelcomandols.
Cada documento se denomina pgina, las pginas estn divididas por
secciones.
A veces existen pginas en secciones distintas con el mismo nombre, para
especificarlaseccinseusaelnmerodeellacomoopcin.
Porejemploman3printf.
man a printf mostrar todas las pginas, en sucesin, de printf en todas las
secciones.Sisequierebuscar.
mankprintfmostrarunlistadoresumidodetodaslaspginasdondeaparezca
printfenladescripcincorta.Elnmeromostradoentreparntesiseslaseccin.
Se puede indicar que muestra la documentacin en otros idiomas (si estn
instaladosenelsistema).
Porejemplo:
manLes...encastellano
manLen...eningls
2.4Comandosparamanejodearchivosodirectorios
ls[opciones...][directorio/fichero...]
Lista el contenido del directorio, sin argumentos lista el contenido del directorio
actual de trabajo. La opcin ms habitual es l que muestra informacin ms
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 30
completadecadadirectorioyfichero.LaopcinRhaceunlistadorecursivoenla
jerarquadedirectorios.
lsl Listadolargo
lsa Listadodeficherosocultos
lsla Listadolargoconficherosocultos
lsl ejemplo Listadolargodelosarchivosdeldirectorioejemplo
pwd
Imprimeeldirectorioactualdetrabajo.
Ejemplo: pwd
Retorna: /home
cd[directorio]
Cambiadedirectorio.Sinargumentos llevaaldirectoriodelusuario(HOME).Siel
directorioes..subeunnivel.
Ejemplo: cd/home/User
mkdir[opciones...]directorio
Creaeldirectorioconelnombreindicado.
Ejemplo:mkdirejemplo
vi[opciones]archivo
Esuneditordetexto.
Ejemplo:viejemplo
Para editar el archivo presionamos i, para salir del modo INSERTAR presione
ESC
Dentrodeleditorlossiguientescomandossirvenpara:
:w Estograbaelcontenidodelarchivo.
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 31
:q Saledeleditorsingrabar.
:wq Grabaelcontenidoysaledeleditor.
:w! Grabaasnotengapermisosdeescritura
:234 Vaalalnea234
u Deshaceelltimocambio
x Borracarcterbajoelcursor.
dd Borralalneaquedaguardado.
a Insertadespusdelcursor
n Repitelabsqueda
i Insertaantesdelcursor
Ctrlf Unapantallaadelante
Ctrlb Unapantallaatrs
1G Comienzodelarchivo
G Findelarchivo
I Insertaralprincipiodelalnea
A Insertaralfinaldelalnea
:/cadena Buscalacadena
yy Copiaunalnea
P Pegaantesdelcursor
p Pegadespusdelcursor
rm[opcions...]ficheros
Borra ficheros. Las opciones ms habituales son f para forzar el borrado sin
preguntaralusuario(laopcincontrariaesi).
rborrarecursivamentetodoslossubdirectorios
Ejemplo: rmejemplo
rmdir[opciones...]directorio...
Borraunovariosdirectoriossiestnvacos.
Ejemplo: rmdircarpeta
mv[opciones...]fuente...destino
Cambiaelnombredeunficheroporotroomueveunaseriedeficherosydirectorios
aundirectoriodestino.
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 32
Ejemplo: mv/home/User/ejemplo2/otro/home/User/ejemplo
Elejemploanteriormueveelarchivootroqueestdentrodeldirectorioejemplo2al
directorioejemplo.
cp[opciones...]fuente...destino
Permitecopiarun fichero,ovarios ficherosaundirectorio.Quizs la opcinms
usadaesrquepermitecopiarrecursivamentedirectorioshaciaotrosdirectorios.
Ejemplo: cpr/home/User/ejemplo/directorio/home/User/ejemplo2
El ejemplo anterior copia el directorio llamado directorio que est dentro del
directorioejemploaldirectorioejemplo2
mcopy[opciones]archivoa:
Copiaarchivosdesdeyhaciadiskettes
Ejemplo: mcopyimagen1.jpga:
cat[opciones...][ficheros...]
Muestraelcontenidode losficherospor la salidaestndar.Sinoseespecifican
ficheros,leedelaentradaestndar.
Ejemplo: catprueba
sort[opciones...][ficheros...]
Imprime la concatenacin ordenada lexicogrficamente de los ficheros o entrada
estndar.Opcinnordenanumricamente.
Opcinrenordeninverso.
fieldseparator=SEPhacequeSEPseaelseparadordecampos...
Ejemplo: sortnprueba
more[opciones...][ficheros]
Muestraelcontenidodelosficherosolaentradaestndarpginaapginacada25
lneas y espera que el usuario indique las acciones a tomar. Estas acciones se
suelen indicar con una tecla, por ejemplo es para avanzar una
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 33
pgina, avanza una lnea. h da la ayuda, / sirve para buscar una
cadena,qparasalir...
Ejemplo: moreprueba
ln[opciones]destino[nuevo_alias]
Creaunenlaceaunfichero,apuntaralosmismosdatosqueelficherodestino,
siempre.
Laopcin shacequesecreeunenlacesimblico,es loqueseconocecomo
AccesoDirectoenWindows,oEnlaceenlainterfazgrficadeMacintosh.
Ejemplo: mkdir/root/enlace
lns/tmp/root/enlace
rm/root/enlace(Borraenlace)
wc[opciones...][ficheros]
Indicalacantidaddecaracteres,palabrasylneasquetienenlosficheros.lindica
slonmerodelneas,wpalabrasyclosbytes,mcaracteres.
Ejemplo: wcarchivo.txt
1 2 6 archivo.txt
Lneas Palabras bytes
du[opciones][ficheros]
Instruccinparavereltamaodearchivosocarpetas
Ejemplo: du/var/spool/mail
du sh/varmuestraeltamaototaldeldirectorio
grep
Buscacadenasdentrodearchivos
Ejemplo: grepcadena*
grepRHcadena*
R buscaenformarecursiva
H muestraelnombredelarchivoporcadacoincidencia
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 34
Tambinsepuedeutilizarpararecuperararchivosdelasiguienteforma.
grepaB[sizebefore]A[sizeafter]'text'/dev/[partiticion]
grepaB2A200"hola"/dev/hda1
stat
Despliega informacin detallada sobre el archivo especificado como: fechas de
modificacinycambio,dueodelarchivo,etc.
Ejemplo: statarchivo.txt
find
Buscaunarchivo
Ejemplo: find/namenombre.txtprint
Paralocalizarlosficherossecundados(Sparaelusuario)podemosutilizarlaorden
find/perm4000typefprint
Mientrasqueparalocalizarlossegundados(Sparaelgrupo)podemosutilizar
find/perm2000typefprint
tail
Permite ver el final de un archivo, este comando es til ya que los archivos de
registros"logs"crecenconstantementetailf/var/log/messages
tailfline15/var/log/messages
Este comandoanterior despliega las ultimas 15 lneas del archivo messages (el
defaultesde10).Lafmantieneelarchivoabiertoparapoderobservarloconforme
seagreganeventos.
which
Veelpathdecualquierprogramaocomando
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 35
Ejemplo: whichawk
/bin/awk
2.5Comandosparaelmanejodeusuariosygrupos
useradd[opciones][LOGIN]
Instruccinparacrearunusuario
Ejemplo: useradd c "Antonio Alonso Martinez" d /home/aalonso gmail m
aalonso
usermod[opciones][LOGIN]
Modificaaunusuario.
Ejemplo: usermodgapacheaalonso
userdel[opciones][LOGIN]
Instruccinparaborrarusuarios.
Ejemplo: userdelraalonso
passwd
Instruccinparacambiardepasswordaunusuario
finger
Muestrainformacinsobreelusuario
Ejemplo: fingerusuario
groupadd
Creaunnuevogrupo
groupdel
Borraungrupo
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 36
gpasswd
Asignacindeusuariosexistentesagruposexistentes.
Ejemplo: gpasswdausuarioqueseagrupoquesea
Chgrp
Cambiaelgrupoalcualperteneceunarchivoodirectorio
chgrpRactaenformarecursiva
chown
Cambiaelusuarioalcualperteneceunarchiveodirectorio
chownRactaenformarecursiva
history
Listalosltimoscomandosutilizadosporelusuario
Enlacarpetadelusuarioelarchivodondesealmacenaes.bash_history
echo$HISTFILEvariabledondesealmacenaelarchivoqueutilizahistory
su
Permitecambiarsedeusuariosinsalirsedelusuarioactual.Parasalirdelusuario
sedigitalapalabraexit.
sudo
Permiteejecutaruncomandocomosifueraotrousuario.Ejemplo:
sudourootvi/etc/passwd
who
Muestralosusuariosdesistemaquehaniniciadounasesin
2.6 Comandoparaconfigurarpermisosdeaccesoalosficheros
chmod
Cambialospermisosdeaccesodeficheros
0=sinpermisos.
1=ejecucin.
2=escritura.
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 37
3=escriturayejecucin.
4=lectura.
5=lecturayejecucin.
6=lecturayescritura.
7=lectura,escriturayejecucin.
Octal Binario Permisos
0 000 ninguno
1 001 x ejecucin
2 010 w escritura
3 011 wx escriturayejecucin
4 100 r lectura
5 101 rx lecturayejecucin
6 110 rw lecturayescritura
7 111 rwx lectura, escritura y
ejecucin
Ejemplo: chmod751texto.txt
Permisos: Usuario=>111=>rwx
Grupo=>101=>rx
Otros=>001=>x
Clasesdeusuarios:
u=>usuariopropietario
g=>grupo
o=>otros
Cambiarpermisos
Modoabsoluto
chmod652notas=>rw rxw
Seejecutaconlospermisosdelpropietariodelarchivo
chmods Desactiva
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 38
chmodu+s Usuario
chmodg+s Grupo
Chmod644nombre_archivo
# Hace que "nombre_archivo" sea de lectura / escritura para el propietario, de
lecturaparalosdems.
#(Octalmodo).
Chmod444nombre_archivo
#Hace"nombre_archivo"slolecturaparatodos.
#Modificacindelarchivo(porejemplo,conuneditordetexto)
# + No permitido para un usuario que no tiene la propiedad, el archivo (con
excepcinderaz)
#+Einclusoeldueodelarchivotienealafuerzaquesalvarelarchivo
#+Simodificaelarchivo.
#Igualrestriccionesseaplicanparasuprimirelarchivo.
Chmod1777directorionombre
#Daatodospermisosdeleer,escribiryejecutarelpermisoeneldirectorio,
#+Sinembargotambinestableceel"stickybit".
#Estosignificaquesloelpropietariodeldirectorio,
#+Propietariodelarchivo,y,porsupuesto,laraz
#+Puedeborrarcualquierarchivoenesedirectorio.
Chmod111directorionombre
# Da permisos de ejecutar a todos en un directorio.
# Esto significa que puede ejecutar archivos de la LEA y en ese directorio
# + (Ejecutar permiso incluye necesariamente permiso de lectura
# + Porque no se puede ejecutar un archivo sin que se pueda leerlo).
#Peronosepuede listar losarchivoso labsquedadeellos con la "encontrar".
#Estasrestriccionesnoseaplicanalaraz.
Chmod000directorionombre
#Noentodoslospermisosdeesedirectorio.
#Nosepuedeleer,escribiroejecutararchivosenelmismo.
#Nosepuedesiquieraenlalistadearchivoso"cd"alamisma.
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 39
#Sinembargo,puedecambiarelnombre(mv),eldirectorio
#+Oeliminarla(rmdir)siestvaco.
#Tambinpuedeenlacealosarchivoseneldirectorio,
#+,Peronopuedeleer,escribiroejecutarlosenlacessimblicos.
#Estasrestriccionesnoseaplicanalaraz.
2.7ComandosparaelmanejodelFILESYSTEM
lsattr
Listaatributosdefilesystemext3
chattr
Modificalosatributosdefilesystemext3
chattr+afichero amodosolodeaadirdelfichero
chattr+Ssfichero inopermitehacercambiosalficherooborrarlo
chattrsafichero Ractuaenformarecursiva
scuandoseborraelarchivoconatributoselsistema
rellenaconceroselcontenidodelarchivo
Shaceque los cambiossobreel archivo seescriban
inmediatamente en el disco en lugar de esperar el
syncdelsistemaoperativo
2.8Comandosparaelmanejodeprocesosenelsistema
ps
Muestralosprocesosqueseestnejecutandoenelsistema.
Ejemplos:
psaux
Paraencontrarlacantidaddeprocesosdebash:
psA|grepbash|wcl(estodemostrarlacantidaddeprocesos)
ps muestralosprocesosdelusuarioactual
psa muestralosprocesosdetodoslosusuarios
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 40
psA muestra los procesos de todo el sistema incluido la de todos los
usuarios
psx muestralosprocesosquenoestnligadosaunatty
psl muestra losprocesossegnsuprioridadcolumnaPRIelvalormas
elevadodePRIeselquetienemenosprioridad
kil l
Eliminaunprocesodndoleelnmerodeproceso.
Ejemplo: kill98909
Killall
Eliminaunprocesodndoleelnombre
Ejemplo: killallgateway
2.9Comandosparaelmanejodepuertosserviciosdecorreo,serviciosdered
einternet.
Service
Instruccinparaarrancar,apagarorestartunservicio.
servicehttpdstart
Netstat
Paraverelservicioligadoalpuertoes:
Ejemplos: netstatltunposinotambien
netstatpel
netstatanp|grep953
UstedpuedeencontrarlacantidaddeconexionesaApacheconestecomando:
netstatnt|grep:80|wcl
l:muestratodoslospuertosqueestnenmodolisten.
t:muestratodoslostcp.
u:muestratodoslosudp
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 41
n:noresuelvenombres.
p:muestraelPIDyelnombreasociado
e:muestrainformacinextendida
a:lospuertosqueestnesperandoconexin
netstati dalaestadsticasdelasinterfaces
netstatta muestratodaslasconexionesactivas
Archivo donde estn todos los puertos conocidos con el nombre del servicio
/etc/services.
Ifconfig
Configuralatarjetadered
Ejemplo:
ifconfigeth0192.168.1.1netmask255.255.255.0up
ifconfigaconsultalaconfiguracinactual
ParacambiardireccionmacenLinuxath0=Wirelesseth0=Ethernet
ifconfigeth0down
ifconfigeth0hwether00:11:22:33:44:55
ifconfigeth0up
Tambinsepuedeponer losgatewayseditando lossiguientesarchivossegn las
tarjetasquetenga
/etc/sysconfig/networkscripts/ifcfgeth0
/etc/sysconfig/networkscripts/ifcfgeth0:1
/etc/sysconfig/networkscripts/ifcfgeth1
/etc/sysconfig/networkscripts/ifcfgeth1:1
/etc/sysconfig/networkscripts/ifcfgeth1:2
/etc/sysconfig/networkscripts/ifcfgeth1:3
Ejemplodelcontenidodeunarchiveifcfgeth0
GATEWAY=192.188.47.3
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 42
BOOTPROTO=none
TYPE=Ethernet
HWADDR=00:0D:60:EB:BF:AA
DEVICE=eth0
NETMASK=255.255.255.0
BROADCAST=192.188.47.255
IPADDR=192.188.47.2
NETWORK=192.188.47.0
ONBOOT=yes
USERCTL=no
IPV6INIT=no
PEERDNS=yes
Ifup
Habilitalainterfaseespecificada
Ejemplo: ifupeth0
Ifdown
Deshabilitalainterfaceespecificada
Ejemplo: ifdowneth0
route
Configuraelgatewaydelequipoolasrutasdelequipo.
Ejemplo: route muestralasrutasactuales
routeadddefaultgw192.168.0.1aadeunaruta
routedeldefaultgw192.168.0.1borraunaruta
Paraguiar toda la informacinde la red 206.171.55.16netmask255.255.255.240
valainterfaseeth0
routeaddnet206.171.55.16255.255.255.240eth0
Ping
Envaunpaquete a unhost y este le respondesiesta activo yel tiempoque se
demoro.
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 43
Ejemplo: pingl65000127.0.0.1i0
pingl65527127.0.0.1
i Especficacadacuntossegundoshaceelpingelvalormximoes255
l Especificalalongitud,enbytes,delcampoDatosdelmensajedesolicitudde
ecoenviado.Elvalorpredeterminadoes32.Eltamaomximoes65.527.
Traceroute
Ve por que servidores pasa la seal hasta llegar a un servidor determinado. El
nmerodesaltosmximoesde30.Los tres tiempossonel tiempode respuesta
para los paquetes enviados. En la direccin http://www.mapulator.com/ se puede
encontrar un traceroute grfico que indica el pas de ubicacin del equipo. Otra
pgina en donde estn algunas utilidades incluida traceroute es
http://www.dnsstuff.com/
traceroutewww.google.com
nslookup
CuandounsitioWebnosepuedevisualizar,notieneporqueestarcado,puedeser
que losservidoresDNSqueseesteusandonoestnfuncionandocorrectamente
para ese dominio. Se puede comprobar si un DNS resuelve bien la IP de un
servidormedianteelcomandollamadonslookupqueexistetantoenunixcomoen
Windows.
nslookupwww.google.com157.100.1.2elprimerparmetroeselsitioWebquese
quiere ver cual es la IP,elsegundoparmetro es el servidorDNSa quien se le
pregunta.
Sepuedeentraramodointeractivodigitandonslookupsinningunaopcinyallse
puedeoptarporpreguntasmasespecificasconelsubcomandossetq=
Setq=a EspecificaladireccinIPunequipo.
Setq=ANY Especificatodoslostiposdedatos.
Setq=CNAME Especificaunnombrecannicoparaunalias.
Setq=MX Especificaelintercambiadordecorreo.
Setq=TXT Especificalainformacindetexto.
http://www.mapulator.com/ -
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 44
Setq=ns Especificaregistrosdenombresdeservidores(NS)
Con el subcomando Server seespecifica el servidor al cual se quiere preguntar
ejemploServer157.100.1.2.Parasalirdelmodointeractivoseescribelainstruccin
exit.
EjercicioparavercmofuncionanlosDNSresolviendoeldominiouazuay.edu.ec
nslookup
serverc.rootservers.net. (Preguntaalservidorraz)
setq=ns
ec.
serverdns1.nic.ec
edu.ec.
serverdns2.nic.ec
uazuay.edu.ec.
servergye2.satnet.net.
setq=any
uazuay.edu.ec
Una actualizacin del archivo de los servidores raz se la encuentra en
ftp://ftp.internic.net/domain/named.cache este archivo se lo coloca en
/var/named/named.ca
Dig
Igualquenslookup
Host
Igualquenslookup
mail
Envauncorreoelectrnico
Subject:Asunto
Cuerpodelmensaje
. >parasalirseponepuntoysedaunenter
Cc:copias
ftp://ftp.internic.net/domain/named.cache -
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 45
[email protected] (muestradetallesdecomoresuelveelmail)
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 46
telnet
Clienteparaconexinremota
Ejemplo: telnet162.168.0.0.1
Ssh
Clienteparaconexinremotaencriptada
Ejemplo: [email protected]
sftp
Clienteparaconexinremotadeftpencriptada
Ejemplo: [email protected]
hostname
Muestraocambiaelnombredelequipo.
hostname paramostrarelnombredelequipo
hostnameotronombre paracambiarelnombredelequipo
nmap
Herramientaparaexploracinderedyscannerdeseguridad.Elarchivodondese
puedenencontrarlosserviciosconocidosysuspuertosson/etc/services
Mododetallado
nmapv127.0.0.1
LanzaunsondeodetipoSYN(enviaunpaquetecomosifueraunconexinrealy
esperalarespuesta)sigilosocontracadaunadelas255mquinasenlaclaseC
de la red donde est el sistema "scanme.namp.org". Tambin intenta determinar
cualeselsistemaoperativoqueseejecutaencadamquinaqueestencendida
(OpcionO).
nmapsSOscanme.nmap.org/24
mailto:[email protected]:[email protected] -
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 47
Ve la versin del servicio (sV) que se esta ejecutando en los puertos (p)
22,53,110,143,4564(22sshd,53DNS,110pop3,143imap)desdelared198.116.0
hastalared198.116.255perosololos127primerasdireccionesip
nmapsVp22,53,110,143,4564198.116.0255.1127
analiza lared216.163.128.20/20(4096ips)sinenviarping(P0)paradescubrirsi
estaactivoelequipoylosresultadoslosgrabaenformatoxml(oX)ytambienen
formatotxt(oG)
nmap P0 p80 oX logs/pbport80scan.xml oG logs/pbport80scan.gnmap
216.163.128.20/20
Paraconocerelsistemaoperativo(O)queseestaejecutandoen127.0.0.1
nmapO127.0.0.1
Paravercualeshostsestanactivosenlared192.168.0.0medianteping(sP)
nmapsP192.168.0.1255
iptraf
Muestra en aplicacin de consola la cual analiza todo el trfico de red IP,UDP,
ICMP.
Permiteutilizarfiltros,yesmuytilparadiagnosticoydepuracindeerroresdered
Tcpdump
Herramientaparaanlisisdetrficodered
wget
wgetesunaherramientadeSoftwareLibrequepermite ladescargadecontenidos
desde servidores web de una forma simple. Su nombre deriva de WorldWide
Web (w), y de obtener (get), esto quiere decir: obtener desde WWW.
ActualmentesoportadescargasmediantelosprotocolosHTTP,HTTPSyFTP.
wget http://www.mat.univie.ac.at/~flo/linux/dsniff2.4b111.i386.rpm (programa que
lasclavesdelosaccesosalservidor)
http://www.mat.univie.ac.at/~flo/linux/dsniff-2.4b1-11.i386.rpm -
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 48
wget http://easynews.dl.sourceforge.net/sourceforge/webadmin/webmin1.290
1.noarch.rpm(administratordeLinuxmedianinterfaceweb)
chkconfig
chkconfigsendmailoff
chkconfiglevel2345MailScanneron
chkconfiglistsendmail
sendmail 0:desactivado 1:desactivado 2:desactivado 3:activado
4:desactivado5:desactivado6:desactivadoMuestraenquenivelestaactivadoo
desactivadosendmail
lynx
NavegadordeTextoelgrficoeshtmlview
lynkwww.google.com
2.10Comandosparaelmanejodeldiscoduro
df
Muestraelespacioendiscodisponible.
Ejemplo: df,dfh
haadeunletraindicativaparaeltamao
Sinoseponeningunaopcinlasunidadessonde1024bytes
fdisk
Creatabladeparticiones
fdisklparaverlasparticiones
fdisk/dev/hdaparaparticionarelprimerdiscoIDE
mount
Montaunidadesdediscoduro,diskette,cdrom.
mount/dev/hda/media/cdrom
http://easynews.dl.sourceforge.net/sourceforge/webadmin/webmin-1.290-1.noarch.rpmhttp://www.google.com/ -
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 49
Elarchivodelsistemadondeestnlasunidadesquesemontancuandoseiniciael
servidores/etc/fstab
Paramontarunarchivoisoenlacarpeta/centosparaverocopiarsucontenido
mounttiso9660oro,loop=/dev/loop0/var/CentOS5.0i386bin1of6.iso/centos
ParamontarunUSB
mounttvfat/dev/sda/usb
umount
Desmontaunidades.
Ejemplo: umount/dev/hda
fsck
File system check es una herramienta que revisa el disco duro y repara la
estructuradeficherosdaada.Para revisar laestructuradeundiscoprimerohay
quedesmontarlo
fscky/dev/hda1
fscky/dev/sda1
Laopcinyindicaafsckqueresponda"s"atodassuspreguntassobrearreglos,
reparacionesocopiasdeseguridaddelainformacin.
hdparm
Veelrendimientodeldiscoduro
Ejemplo: hdparmtT/dev/hda
hdparmtT/dev/sda3
hdparmtT/dev/sda1
Tparaverlostiemposdelecturadelcache
tparaverlostiemposdelecturadeldisco
badblocks
Descubrelossectoresmalosdeundiscoylosgrabaaunarchivoejemplo:
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 50
badblocksv/dev/hda1>badluegosepuedeformateareldiscoindicndolecuales
sonlossectoresmalosdelasiguientemanera:
mkfs.vfatF32lbad/dev/hda1 parafat32
mkfs.ext3lbad/dev/hda1 paraext3
Tambinsepuedenverlossectoresmalosconfsckf/dev/hda1
2.11Comandosparaelempaquetarocomprimirarchivos
tar
Elprogramataresusadoparaalmacenararchivosydirectoriosenunsoloarchivo
quepor logeneral tiene laextensintar.Siutilizaampliamenteenel respaldode
archivos.
Instruccionesparaempaquetarydesempaquetar
tarcvf nombre_del_archivo.tardirectorio
tarxvfnombre_del_archivo.tar
Sisequierehacercongzipparaempaquetarloycomprimirlohabraqueponer:
tarcfvznombre_del_archivo.tar.gzdirectorio
Ahoraparadesempaquetarloydescomprimirloseharadelasiguienteforma:
tarxfvznombre_del_archivo.tar.gz
Ahoraparahacerlomismoperocomprimindoloconbzip2habraqueponer:
tarjfvcnombre_del_archivo.tar.bz2directorio
Ahoraparadesempaquetarloydescomprimirlosepondra:
tarjfvxnombre_del_archivo.tar.bz2
gzip
Comprimearchivos.
Ejemplo: gzipinstall.logproducirunarchivollamadoinstall.log.gz
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 51
gunzip
Desempaquetapaquetesenformatogz.
Ejemplo: gunzipinstall.log.gz
unzip
Desempaquetapaquetesenformatozip.
Ejemplo: unzipinstall.zip
2.12Comandosparaelmanejodefechayhoradelsistema
uptime
Muestra la hora actual, tiempo que lleva el sistema corriendo desde el ltimo
"reboot",usuariosconectadosalservidor,cargadelsistemaenlosltimos1,5y15
minutos.
date
Muestraoconfiguralafechayhoradelsistema.
viesep111:13:24ECT2006
date010102022005elformatoesMMDDhhmmYYYY
2.13Comandosparalaconfiguracindelsistema
set
Muestratodaslasvariablesdeentornoysusvalores
JAVA=/etc/jdsk
exportJAVA
JAVA_HOME="/usr/java/jdk1.5.0_04"
exportJAVA_HOME
init
Instruccinquevuelvealeerlosparmetrosqueseencuentranen/etc/inittab.
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 52
init0 apagaelequipo
NivelesenLinux
Archivo/etc/inittab
#0apagaelequipo
#1modomonousuario
#2modomultiusuariosinNFSsinred
#3modomultiusuarioconred
#4nousado
#5X11ambientegrfico
#6rebootdelequipo
ntsysv
Ambienteparamanejodelosprogramasquesequierencargarcuandoseiniciael
equipo.
Para cargar algo cuando arranque el servidor lo que se quiere que arranque se
poneenelarchivo/etc/rc.d/rc.local
setup
Ambienteparaconfiguracindelequipo.
Free
VelamemoriaLibre.
freem
mparaquemuestreenmegas
Top
Monitoreaelsistema.
vmstat
Esmuysimilaratopyaqueesuncondensadodelosprocesosdelsistema,para
que esta herramienta se vuelva dinmica se deben especificar los argumentos:
vmstatnvmstatn1
uname
Muestrainformacindelsistema.
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 53
unameamuestratodalainformacindelsistema
Linux uazuay 2.6.934.ELsmp #1 SMPWedMar 8 00:27:03CST2006 i686 i386
GNU/Linux
i686 (PentiumPro,PentiumII,PentiumIII,Celeron,Xeon,Pentium4,PentiumM,
PentiumD,PentiumExtremeEdition,Core,Core2)
reset
Reiniciaelequipo.
poweroff
Apagaelequipo.
2.14Comandosparaelmanejodepaquetes
rpm
Package Manage originalmente llamado Red Hat Package Manager es una
herramienta de administracinde paquetespensada bsicamenteparaLinux.Es
capazdeinstalar,actualizar,desinstalar,verificarysolicitarprogramas.RPMesel
formatodepaquetedepartidadelLinuxStandardBase.
rpmesendmail eliminaelpaquetesendmail
rpmqsendmail preguntaporelpaquetesendmail
rpmqa listalospaquetesinstalados
rpmivhbindd.rpm instalaelpaquetebind
rpmUvhbindd.rpm actualizaelpaquetebind
rpmtestibind.rpm realizauntestparaversipuedeinstalarelpaquete
rpmqlsendmail listaelcontenidodelpaquetesendmail
rpmqf/bin/ls muestraquepaqueteinstaloelcomandols
rpmVsendmail verificapaquete
i instala
U actualiza
e borra
q query
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 54
v muestrainformacindeprogresodeinstalacin
h muestrainformacinmasdetalladaseusaconv
V verificaunpaquete
2.15Comandosparaelmanejodeparches
Diff
Busca diferencias entre dos archivos. Se lo utiliza comnmente para generar
parchesparalosprogramasEjemplo:
diff Naurarchivo_originalarchivo_cambiado>parche.diff
patch
Aplicaparchesgeneradoscondiffaunprogramafuente.Ejemplo:
patcharchivo_a_parchearparche.diff
2.16Programasylenguajesdeprogramacin
md5sum
Md5sum es un programa para comprobar y crear archivos MD5. MD5 es un
algoritmo que se suele utilizar para realizar la comprobacin de la integridad de
ficherosbinarios,siendomuyutilizado,paraporejemplo,laposteriorverificacinde
imgenesISOoprogramasdescargadosdeInternet.Ejemplo:
Paragenerarunarchivoconlacadenamd5deverificacin.
md5sumlinux.iso>archivo.md5
Paraverificarelarchivobajadoconunarchivoquetienelacadenamd5delarchivo
md5sumcarchivo.md5
Awk
Esun lenguajedeprogramacindiseadoparaprocesardatosbasadosen texto,
yaseanficherosoflujosdedatos.ElnombreAWKderivade losapellidosde los
autores:AlfredV.Aho,PeterJ.Weinberger,yBrianW.Kernighan.
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 55
awk F: '{print "useradd c \""$5"\" d /home/"$1" g mail m "$1}' passwd >
cuentas2.sh
awk F: '{ if ($80)print$0}'alumnos.csv>alumnos2.csv
Webmin
WebminesunprogramadesarrolladoenperlquepermiteadministrarsistemasUnix
mediante una interfase Web. La pgina web de webmin es
http://www.webmin.com/ soporta varios sistemas operativos basados en Unix y
entre esos Centos. Para instalarlo se baja el paquete
http://prdownloads.sourceforge.net/webadmin/webmin1.2901.noarch.rpm y se
instala con la instruccin rpm ivh webmin*.rpm. Para ingresar a la interfase de
webminsevaaunnavegadorobrowseryseponehttp://127.0.0.1:10000
Para asegurar el acceso hacia Webmin se instala la librera de perl
http://www.uazuay.edu.ec/linux/Net_SSLeay.pm1.30.tar.gz (Net::SSLeay) que nos
permitir conectarnos hacia la interfase Web mediante el protocolo https. Si se
utiliza webmin para instalar esta librera se debe elegir construir e instalar y no
construir,verificareinstalar.
Luego de instalar la librera se va al icono de Webmin luego Configuracin de
WebminyfinalmenteaEncriptacinSSL.Seactivanlassiguientesopciones:
HabilitarSSLsiestdisponible? Si
RedireccionarpeticionesnoSSLalmodoSSL? Si
Ysegrabanloscambios
ComosiguientepasoseprocedeaconfigurarloscontrolesdeaccesoenWebmin,
Configuracin de Webmin, Control de Acceso a IP, se escoge la opcin Slo
permitirdesdelasdireccioneslistadasyenelrecuadrodealadosecolocanlasIPS
desde las cuales se puede conectar hacia Webmin. En este listado se debe
aumentar la IP127.0.0.1 al listado si se necesita conectarse awebmin desde el
mismoservidordondeestinstaladoWebmin
http://www.webmin.com/http://prdownloads.sourceforge.net/webadmin/webmin-1.290-1.noarch.rpmhttp://www.uazuay.edu.ec/linux/Net_SSLeay.pm-1.30.tar.gz -
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 56
2.17Ejerciciosprcticos
1.Crearlasiguienteestructuradedirectorioapartirdevuestrodirectoriodetrabajo(/root/userxx)
2. Crear un archivo de texto con 4 lneas llamado ejemplo1 en la carpetaejecutable.
3.Moverelarchivoejemplo1aldirectorioptextos.
4.Establecerpermisosde lecturayescrituraparausuarios, lecturaparagruposyejecucinparaotrosalarchivoejemplo1.txt.
5.Mostrarlosprocesosqueseestnejecutandoenelsistema.
6.CreeunUsuarioconsunombre.
7.CreeunGrupollamadoUda.
8.Descargueunficherodeinternetusandoelcomandoadecuado
9.Activarelserviciohttpd.
10.CerrarelprocesoMozillaFirefox
11. Configurar la red con la siguiente direccin 192.168.0.1 y utilice lamscara255.255.255.0
12.Enviaruncorreoelectrnicoaunadireccindecorreoconelasuntoprueba.
13.Realiceunaconexinremotaotelnetaotroequipodesured.
14.Muestreeltamaodediscodisponible.
15.Comprimaelarchivoejemplo1.txt.
16.Realiceunmonitoreodelsistema.
17.Utiliceelcomandoparaapagarelsistema.
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 57
2.18Conclusin:
Conestecaptulosepretendidarunaguadecomandosbsicosenelterminalde
Linuxparalarealizacindelasprcticasdeloscaptulossiguientes.
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 58
CAPITULO3:PROGRAMACIONENBASH
3.1Introduccin
Este captulo pretendeayudarle a comenzar a programar shell scripts a un nivel
bsico/intermedio. No pretende ser un documento avanzado y mediante la
descripcin de instrucciones bsicasde su uso como son variables, operadores,
estructuras, etc, sepretendedarlos aconocer parautilizarlosen configuracin y
programacindearchivosenelestudiodeprcticasposteriores.
3.2QueesBash
Bash es un intrprete de lenguaje de comandos shcompatible que ejecuta
comandosledosdesdelaentradaStandardodesdeunarchivo.
BashtambinincorporacaractersticasdeusodelasshellsKornyC(kshycsh).
3.3Laordenecho
Puede usarse para visualizarmensajes, muestra sus argumentos en el terminal,
queeseldispositivodesalidaStandard.Sinargumentoproduceunalneavacay
pordefectoagregaunanuevalneaalfinaldelasalida.
Ejemplo:
[root@localhost~]#echoHolaMundo
HolaMundo
[root@localhost~]#
Nota:Lacadenadeargumentospuedetenercualquiernmerodecaracteres.Sin
embargo si la cadena contiene algn meta carcter deber escribirse entre
comillas.
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 59
3.4VariablesdeShell
LasVariablesenlaShellseescribengeneralmenteconmaysculas.
Nohayespaciosblancosaunoyotroladodelsignoigual.
Ysonvisualizadasconelsignodollar$.
Paraqueunavariableseanumricautilizamoslet
Ejemplo: letA
Ejemplo:
[root@localhost~]#SISTEMA=linux
[root@localhost~]#MSG="misistemaoperativo"
[root@localhost~]#echo$SISTEMA$MSG
linuxmisistemaoperativo
[root@localhost~]#
3.5Tiposdevariables
Existencuatrotiposdevariables:variablesdefinidasporelusuario,variables
parmetros,variablesespecialesyvariablesdeentorno.
3.5.1Variablesdefinidasporelusuario.Son el caso del ejemplo anterior, su nombre solo debe contener caracteres
alfanumricosyelguinbajo(_),exceptoelprimercarcternodebeserundgito
(0a9).
Ejemplos:
[root@localhost~]#NOMBRE=Pepe
[root@localhost~]#EDAD=20
[root@localhost~]#echoHola$NOMBRE
HolaPepe
[root@localhost~]#NOMBRE2=$NOMBRE
[root@localhost~]#echo$NOMBRE2
Pepe
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 60
Sepuedeasignarvaloramsdeunavariableenunanicalnea:
[root@localhost~]#NOMBRE=PepeEDAD=20
[root@localhost~]#echo$NOMBREtiene$EDAD
Pepetiene20
Laasignacinserealizadeizquierdaaderecha.
[root@localhost~]#X=1Y=$X
[root@localhost~]#echo$Y
1
Paraquitarleelvaloraunavariablepodemosutilizarelcomandounset.
[root@localhost~]#X=1
[root@localhost~]#echo$X
1
[root@localhost~]#unsetX
[root@localhost~]#echoX
Variablesnomodificables(sololectura).
Paraasegurarsequeelvalordeunavariablenoseamodificado,sepuedeindicar
comodesololecturadelasiguientemanera:
[root@localhost~]#readonlyvariable
Ejemplo:
[root@localhost~]#X=1
[root@localhost~]#readonlyX
[root@localhost~]#X=2
bash:X:readonlyvariable
$echo$X
1
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 61
3.5.2Variablesdeparmetros.
Como vimos al principio del texto, cuando el intrprete procesa un comando, la
primera palabra es el nombre del ejecutable y las siguientes son argumentos.
Cuandoelejecutableesunscriptparabash,losparmetrossonpasadosalscript
mediantelasvariablesparmetros,elprimerparmetroserlavariable.
Losnombresdelasvariablessonde1a9,elsigno"$"esparapoderleersuvalor.
Veamosunejemplodeunscriptenbashquevisualizalosdosprimerosparmetros
pasados.
Editamosunarchivollamadoscriptyleagregamoslosiguiente:
echo
echo
Luegolohacemosejecutable:
[root@localhost~]#chmod+xscript.
Yporultimoloprobamos:
[root@localhost~]#scriptparametro1parametro2
Scriptiniciadoelficheroesparmetro1
Elnombredelejecutablesealmacenaenlavariable{sp_content}.
Perosilosparmetrospasadossonmsde9.
3.5.3Variablesdeentorno.
Son variables que utilizan los programas para obtener informacin del usuario.
Cualquier programa puede utilizar variables de entorno, normalmente en la
documentacin del programa (pgina del manual) se indica que variables de
entornousara.
Veamoselnombreysuusodealgunasvariablesdeentornocomunes:
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 62
HOME
Estavariableseinicializacuandoseejecutaelbashycontieneeldirectoriohome
delusuario(/home/usuario)
Porejemplocuandoalcomandocdnoleinidicamoseldirectorio,seahacemos
"cd",estecomandoleelavariabledeentornoHOMEyrealiza"cd$HOME".
PATH
Cuandoejecutamosbash,loprimeroquehaceesejecutarlosscripts/etc/profile,
$HOME/.bash_profiley$HOME/.profile,durantelaejecucindeestos,unadelas
tareasquerealizaescargarleunvaloralavariablePATH,lacualindicalos
directoriosdondebashbuscaralosarchivosejecutables.
$echo$PATH
/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
PS1
Se inicializa cuando se ejecuta bash y contiene el valor del smbolo de espera
(prompt)debash,quenormalmentees"$"paraunusuarioordinarioo"#"parael
superusuario.
PS2
Contieneelsmbolodeesperadelshellsecundario(shellhijo),normalmentees">".
MAIL
Especficalarutacompletadelarchivodelacasilladecorreodelusuario.
MAILCHECK
Especficacadacuantotiemposeverificarasihaynuevocorreoenelarchivodela
casilladecorreo(60).
TERM
Especificaeltipodeterminalqueseestutilizando(xterm,vt100,ansi,etc).
3.5.4VariablesespecialesdeShell$#Contieneelnumerodeparmetrosdelalneadeorden
$$ContieneelnumeroPID(IDdelproceso)delprocesoenejecucin
$?Contieneelestadodesalidadelaltimaorden
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 63
$0Contieneelnombredelguin,talcomoseescribeenlalneadeorden
$@o$.Contienetodoslosparmetrosdelalneadeorden
$1,$2..$9LasVariablesespeciales$1,$2,...$9.Contienenlos
argumentosdel1al9,respectivamente.Seignoranlosargumentosdela
lneadeordenposterioresal9.
3.6Caracteresespeciales
Los meta caracteres tienen significados especiales para el Shell. A veces, se
requiereinhibiresossignificados.ElShellleproporcionaunconjuntodecaracteres
que anula el significado de los meta caracteres. Este proceso de anular el
significadoespecialdelosmetacaracteressedenominaescape.
(\)Slashinvertido:Utilizadoparaindicarqueelcarcterquelesigueseinterpreta
comouncarcteralfanumricoordinario.
Ejemplo:
[root@localhost~]#echo\"\'\\?\&\$\\
"'?&$\
[root@localhost~]#
Lasdoblescomillas():Puedesusar lasdoblescomillasparaanularelsignificado
delamayoradeloscaracteresespeciales.Cualquiercarcterespecialentreunpar
de dobles comillas pierde su significado especial, excepto el signo de dollar $.
(Utiliceelslashinvertidoparaeliminarsussignificadosespeciales.).
Ejemplo:
[root@localhost~]#echo"*"
*
[root@localhost~]#
Ahoraintntalosinlascomillasypodrsvisualizarotroresultado.
Otroejemploperoconelsignodedollar$:
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 64
[root@localhost~]#echo"$HOME"
/root
[root@localhost~]#
Lascomillassencillas():Lascomillassencillasfuncionandemaneraanlogaalas
doblescomillas.Cualquiercarcterespecialentreunpardecomillassimplespierde
susignificadoespecial,exceptolacomillasimple.
Ejemplo:
[root@localhost~]#echo'*$HOME?&"'
*$HOME?&"
[root@localhost~]#
Lacomilladeacentograve(`):Estadistincinesmuyimportante.Elshellinterpreta
dentrodelossignosdeacentogravecomounaordenejecutable.
Ejemplo:
[root@localhost~]#echoLafechaactuales`date`
Lafechaactualesmarfeb2509:22:49ECT2008
[root@localhost~]#
3.7Laordenread
Realizadaprincipalmenteparainteractuarconelusuario,pormediodelaentrada
standart.
Ejemplo:
[root@localhost~]#readYOSOY
ArturoIzquierdo
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 65
3.8Operadores
+Suma
Resta
*Multiplicacin
/ Divisin
%Mdulo
()Parntesis(Agrupaoperaciones)
[root@localhost~]#C=(($A+$B)) Adicin Sumade$Ay$B.
[root@localhost~]#C=(($A $B)) Resto Diferenciaentre$Ay
$B.
[root@localhost~]#C=(($A*$B)) Multiplicacin Productode$Aand$B.
[root@localhost~]#C=(($A/$B)) Divisin Cocientede$Aentre
$B.
[root@localhost~]#C=(($A%$B)) Mdulo Restode$Adividido
entre$B.
3.9Operadoreslgicos
LosOperadoreslgicosefectanoperacionessobrerdenes deLINUX.
CondicinAND
comando1&&comando2
comando2esejecutadosi,ysolosi,comando1retornaunestadodesalidacero.
CondicinOR
comando1||comando2
comando2esejecutadosiysolosicomando1retornaunestadodesalidadistinto
decero.
LgicaenlaShell
1true
0false
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 66
BourneAgainShellesposeedordeunalgicainversa.Cuandounaoperacinen
linuxseterminaconxitoelestadodelavariable$?ser0.
Ejemplo:
[root@localhost~]#catloco.txt
cat:loco:Noexisteesearchivoodirectorio
[root@localhost~]#echo$?
1
[root@localhost~]#
3.10Operadoresdecomparacin
s1=s2 s1coincidecons2
s1!=s2 s1nocoincidecons2
s1s2 s1esalfabticamenteposterioromayoras2
ns1 s1noesnulo(contieneunoomscaracteres)
zs1 s1esnulo
Ejemplo
Comparandodoscadenas.
#!/bin/bash
S1='cadena'
S2='Cadena'
if[$S1!=$S2]
then
echo"S1('$S1')noesigualaS2('$S2')"
fi
if[$S1=$S1]
then
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 67
echo"S1('$S1')esigualaS1('$S1')"
fi
Paraejecutarelarchivoseutiliza./:
[root@localhost~]# ./nombrearchivo
Estonoesbuenaidea,porquesi$S1o$S2sonvacos,aparecerunparseerror.
Esmejor:x$1=x$2or"$1"="$2"
3.11Laconstruccinifthen
Ejemplo:
if[condicin]then
ordenes
....
ultimaorden
fi
Lasentenciaiffinalizaconlapalabrareservadafi(ifescritoalrevs).
Elsangradonoesnecesario,perohaceluciralcdigomselegante.
Nota:Loscorchetesqueestnalrededordelascondicionessonnecesariosy
debenestarrodeadosporespaciosenblanco.
Ejemplo:
if[condicin]
then
ordenes_en_caso_de_condicion_verdadera
....
else
ordenes_en_caso_de_condicion_falsa
....
Fi
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 68
Ejemplo:
if["petete"="petete"]then
echoexpresinevaluadacomoverdadera
else
echoexpresinevaluadacomofalsa
fi
El cdigo que se ejecutar si la expresin entre corchetes es verdadera se
encuentra entre la palabra 'then' y la palabra 'fi', que indica el final del cdigo
ejecutadocondicionalmente.
Ejemplo:
if[condicion_1]
then
ordenes
....
elif[condicion_2]
then
ordenes
....
elif[condicion_3]
then
ordenes
....
else
ordenes
....
fi
3.12Elbuclewhile
Elbuclewhileejecutauntrozodecdigosilaexpresindecontrolesverdadera,y
sloseparacuandoesfalsa(oseencuentrauna interrupcinexplcitadentrodel
cdigoenejecucin).
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 69
Ejemplo:
while[condicion]
do
ordenes
masordenes
done
Ejemplo:
CONTADOR=0
while[$CONTADORlt10]do
echoElcontadores$CONTADOR
letCONTADOR=CONTADOR+1
done
3.13Elbucleuntil
El bucleuntil escasi idntico al bucle loop, exceptoenqueel cdigo seejecuta
mientraslaexpresindecontrolseevalecomofalsa.
Ejemplo:
until[condicion]
do
ordenes
masordenes
done
Ejemplo:
CONTADOR=20
until[$CONTADORlt10]do
echoCONTADOR$CONTADOR
letCONTADOR=1
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 70
done
3.14Estructuraforin
Elbucle foresdistintoalosdeotroslenguajesdeprogramacin.Bsicamente,le
permiteiterarsobreunaseriede`palabras'contenidasdentrodeunacadena.
Ejemplo:
forvariablein(listadevalores)
do
ordenes
masordenes..
done
Ejemplo:
forVARIABLEin`/etc/rc.d/rc.*`
do
echo"$VARIABLEstart"#Arrancatodosmisdemonios
done
foriin$(ls)do
echoitem:$i
done
3.15Estructuraselect
Ejemplo:
selectvariablein(listadevalores)
do
listadeordenes
done
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 71
Ejemplo:
selectVARIABLEin`ls`
do
echo"Cadenaescogida$VARIABLE"
echo"Numeroderespuesta$REPLY"
break#Rompeelciclo
done
LalnealedaessalvadaenlavariableREPLY.Lalistaesejecutadadespusde
cadaseleccin,hastaqueseapliqueelcomandobreakounEOF.
Ejemplo:
OPCIONES="HolaSalir"
selectoptin$OPCIONESdo
if["$opt"="Salir"]then
echodone
exit
elif["$opt"="Hola"]then
echoHolaMundo
else
clear
echoopcinerrnea
fi
done
Siejecutaestescriptverqueeselsueodeunprogramadorparahacermens
basados en texto. Probablemente se dar cuenta de que es muy similar a la
construccin'for',sloqueenvezdeiterarparacada'palabra'en$OPCIONES,se
lopidealusuario.
3.16Construccincase
Laestructuracaseescogeentrevariasalternativasposibles.
-
UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos
RmuloArturoIzquierdoPrez 72
Ejemplo:
case$OPCION
patron1)
ordenes
patron2)
ordenes
*)
ordenes
esca
El*hacecoincidenciaconcualquierpatrn
3.17Funciones
Comoencasitodolenguajedeprogramacin,puedeutilizarfuncionesparaagrupar
trozos de cdigo de una manera ms lgica, o practicar el divino arte de la
recursin.
Declararunafuncinesslocuestindeescribirfunctionmi_func{mi_cdigo}.
Llamar a la funcin es como llamar a otro programa, slo hay que escribir su
nombre.
Ejemplo:
functionsalir{
e