+ All Categories
Home > Documents > Ingeniero en Sistemas - DSpace de la Universidad del...

Ingeniero en Sistemas - DSpace de la Universidad del...

Date post: 06-Oct-2018
Category:
Upload: donga
View: 221 times
Download: 0 times
Share this document with a friend
252
I Universidad del Azuay Facultad de Ciencias de la Administración Escuela de Ingeniería de Sistemas “ ELABORACIÓN DE UN TUTORIAL DE PRACTICAS PARA EL LABORATORIO DE SISTEMAS OPERATIVOS” Trabajo de graduación previo a la obtención del título de Ingeniero en Sistemas Autor: Rómulo Arturo Izquierdo Pérez Director: Ing. Pablo Esquivel Cuenca, Ecuador 2008
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

    [email protected]

    Subject:Asunto

    Cuerpodelmensaje

    . >parasalirseponepuntoysedaunenter

    Cc:copias

    ftp://ftp.internic.net/domain/named.cache
  • UDA TutorialdePrcticasparaelLaboratoriodeSistemasOperativos

    RmuloArturoIzquierdoPrez 45

    [email protected] (muestradetallesdecomoresuelveelmail)

    [email protected]

  • 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


Recommended