Vous êtes sur la page 1sur 29

CursodeIntroducci naGNU/Linux

Historia,Filosof ayConceptosB sicos


Sebasti nD.Criado
AsociacinArgentinadeNuevasTecnologas info@ant.org.ar

EmilianoGavil n
AsociacinArgentinadeNuevasTecnologas info@ant.org.ar Adaptaci nBorisQuiroz. borisq22@gmail.com

Dedicado
ParatodosaquellosquehicieronqueelSoftwareLibreseaunarealidad Tabladecontenidos Introducci naGNU/Linux HistoriadeGNU/Linuxyelcopyright Lasdistintasdistribuciones PorqueusarGNU/Linuxyquenosofrece LadocumentacinenGNU/Linux EmpezandoconGNU/Linux ConceptosbsicosdeUn*x Entrandoalsistemaycreacindecuentas Consolas Conceptosbsicosdeentornoshell Sistemadearchivos ComoenUNIXtambi nenGNU/Linux PlomeraenGNU/Linux Entradaysalidaestndar Canalizacinyredireccin Permisosdearchivos,susdueosygrupos Conceptos Comoseinterpretanlospermisos Dependencias Cambiandopermisos Cambiandogruposyusuarios Puntosadicionales

Administraci nb sicadelsistema Lacuentarootysusimplicaciones Gestindeusuarios Borrandousuarios Grupos Administraci nLAMP Componentes Apache Mysql php ConfiguracindeLAMP InstalacindeApache InstalacindePHP InstalacindeMysql Administraci ndeSamba Definicin InstalacindeSamba ConfiguracindeSambaconSWAT TrabajandoconSamba Agregarusuarios

Introducci naGNU/Linux HistoriadeGNU/Linuxyelcopyright


MuchaspersonascreenqueLinuxeselprimerSOquesurgeconlascaractersticasdelibreycon losfuentesadisposicin,peroestonoestanas.NopodramoshablardelahistoriadeLinuxsin incluiraGNUyaqueesteproyectodelaFreeSoftwareFoundationfueelcomienzodeloquees Linuxhoyenda.La FSF (Free Software Foundation) , fuecreadaporRichardStallman, quinunavezqueentr enelM.I.Ten1971comenz adarmuestrasdesugranhabilidadparala programacin.ElproyectoGNUfueelprecursordeloqueeselSOLinuxdehoyenda. Esteproyectocomenzenelao1984dndoleelnombrerecursivodeGNUquesignificaGNUno esUNIX(GNU'snotUNIX),paracrearunsistemaoperativocompatibleconUNIX.Esteproyecto eselpadredeunsinnmerodeprogramasqueactualmenteformanpartedecualquierdistribucin deLinuxyporelloescorrectohablardeGNU/LinuxenlugardeLinuxasecas. AlgunosdelosprogramasquesecrearonapartirdelproyectoGNUsonelGCC,uncompiladorde lenguajeC,elGNUEmacs,uneditordetextos,laslibrerasGNUdelenguajeCyademsunode losproyectosmsgrandescomoloeselentornogrficoGNOME. La idea era simple; se poda tener todo un SO funcional, libre y gratuito. Pero no hay que engaarnosconelsignificadodelibertad.Lalibertaddelsoftwaresebasaenqueunoesdueodel programaqueadquierey/odesarrollaporellotienederechoaobtenersusfuentesyhacerloquese quieraconl,cambiarlo,mejorarloyhastavenderlo. LinuxestaregidoporloquesedenominaLicenciaPblicaGeneraldeGNU,oGPLporGeneral PublicLicense.LaGPLfuedesarrolladaporlaFSFparaelproyectoGNUyhaceunaseriede previsionessobreladistribucinymodificacindelsoftware. OriginalmenteLinusTorvaldslanzLinuxconunalicenciamsrestrictivaquelaGPLquepermita quefuesedistribuidolibrementeperoprohibalucrarconl.SinembargolaGPLautorizaalagente avendersusoftware,aunquenopermiterestringirelderechoquetieneelcompradordecopiarloy venderloasuvez. Hay que aclarar que libre no significa de dominio pblico. El software de dominio pblico pertenecealahumanidadycarecedecopyright.ElsoftwareregidoporGPLsitienecopyrightque pertenecealautoryestaprotegidoporestasleyesinternacionales.ElsoftwareGPLtampocoes shareware.Elsharewareespropiedaddelautoryexigealosusuariosquepaguenciertacantidadde dinero por usarlo y/o obtener mayores funcionalidades. En cambio el software GPL puede ser distribudoyusadosinpagaranadie.LaGPLpermitealosusuarioselmodificarlosprogramasy redistribuirlos.Sinembargo,cualquiertrabajoderivadodeunprogramabajolicenciaGPLtambin setendrqueregirporestalicencia. CuandoLinusTorvaldscomenzconeldesarrollodeLinux,muchodeltrabajoyaestabahechopor elproyectoGNU,yelkernelqueLinusTorvaldsyunejrcitodeprogramadorespudohacer,fueel pegamentoqueunitodoelsistemaquehoyconocemos.

Lasdistintasdistribuciones
Unopodrasimplementepensar,porquecomprarunadistribucinsitodoesgratuito.Tenemosque pensarquenotodoelmundotieneaccesoaInternetyademsquesituviramosquebajartodolos programas que podramos tener en una distribucin comn, gastaramos ms dinero que si la comprramos,enlamayoradeloscasos.Igualmente,ysisequiere,puedebajarsetodoelsoftware conlicenciaGPLyelkerneldeLinuxtotalmentegratisdesdeInternet. LasempresasqueestndistribuyendoGNU/Linuxactualmentesonmuchasyconvariadasofertas que cubren todas las necesidades. Existen muchos puntos a tomar en cuenta para elegir una distribucinyellossonclavesparaunabuenaseleccin.

BootManager: Elbootmanageroadministradordeinicioesunautileraqueresideenel sector de inicio maestro del disco rgido (Master Boot Record o MBR). Este permitir seleccionarentreelsistemaGNU/Linuxyotroqueyahayaestaenelsistemaanteriormente comoWindows.ExistenvariosadministradoresdeinicioenelmercadocomoelGNUGrub, elSystemComanderdeVCommunicationoelBootManagerperoGNU/Linuxvieneconsu propioadministradordeinicio,elLILOoLInuxLOaderyqueseinstalaporomisinenla mayoradelasdistribuciones.Enlasdistribucionesquenoesuilizadopordefectoseutiliza GNUGrub. SistemaXWindow: XWindoweselsubsistemaquesoportalainterfazdeusuariogrfica. UnodelosservidoresXmscomuneseselXFree86.Tambinexisteunmodelocomercial llamadosimplementeX delaempresaMetroLink.Enlos ltimos tiempos,debido a un problemadecambiodelicenciasenXFree86,surgi underivadollamado X.org,siendo adoptadoporlamayoradelasdistribuciones. Interfazdeusuario: LalneadecomandoeslainterfazporomisindeGNU/Linux,pero existenentornosgrficoscomoelKDE(KoolDesktopEnvironment)yelGNOME(GNU NetworkObjectModelEnvironment).Existenotros,peroestosdossonlosmspopularesy utilizadosenelmomento. Servicio de conectividad: GNU/Linux tiene soporte de TCP/IP desde sus comienzos y adems poseeprogramas servidoresyclientesdetodos los protocolos Internetcomunes comoDNS(DomainNameService),HTTP(HiperTextTransferProtocol),SMTP(Simple MailTransferProtocol,correoelectrnico),NNTP(paraforosdenoticias)yPPP/SLIPpara enlacesseriecomoeldialup,yunlargoetctera. ServiciosdeImpresinydeArchivos: Estosserviciospermitenalsistemaaccederarecursos deredycompartirarchivoseimpresorasconotrosusuarios.Entrelosserviciosseencuentra elNFS(NetworkFileSystem)paracompartirarchivosconotrossistemasUn*x,lasuitede aplicacinSamba,quehacenqueGNU/LinuxpuedautilizarrecursosdeunaredWindows, ylasuiteAppleTalk,quepuedecomunicarseconelmundoAppleMacintosh. Aplicaciones: ltimamente gran cantidad de empresas de software se estn volcando a escribirprogramasparaGNU/Linux,comohizoensumomentoNetscapeyhoydahacen Oracle,SunMicrosystemsymuchasotras.Perohayunlargocaminoporseguirhastaquelos fabricantesdehardwareabrantotalmentelaspuertasdesusarquitecturasloquefacilitar quesegestionesoftwaremastilyconmayorcalidad. AdministracindePaquetes: Elproblemadelagestindeinstalacindeprogramasenlas distribucionesseharesueltodediversasmaneras.Actualmenteexistenenlaprcticatres sistemas en uso: paquetes RPM (Red Hat Package Manager), paquetes DEB (Para el administradordepaquetesdeDebian)yTGZoTarballs.LosRPMfueroncreadoscomouna

formadedistribuiraplicacionesporlaempresaRedHatyesunadelasmsusadas.Los paquetesDEBfueroncreadosporelgrupoquelideraladistribucinDebianyesotraforma muyeficientedeadministracindepaquetes.YlosTGZsonlaformaprimitivacomose distribuaelsoftwareenelmundoUn*x.ExistendistribucionesdeGNU/Linuxmuyusadas, comolaSlackware,quetodavautilizanestesistema.

Herramientasparaelprogramador: Lasdistribucionesincluyenunsinfindecomponentesy herramientasparaeldesarrollo,ademsdelenguajescompletoscomoelC,Python,Perl, TCL,Lisp,Fortran,Ada,C++yunmuylargoetctera.

Empresas como RedHat, Suse y el grupo de desarrollo Debian, son lderes en este mercado, cubriendoconsusdistribucioneslamayoradelosnichosdisponibles,tantoparalasempresascomo para los usuarios en el hogar. A continuacin, analizaremos brevemente algunas de estas distribucionesensuultimaversin,detallandosuscaractersticas,Paramasinformacinvisitarla pginadeDistroWatch.com.

Por que usar GNU/Linux y que nos ofrece


Losusuariosbuscansistemasquepuedansatisfacersusnecesidades.Talvezlacuriosidadlosha llevadoabuscarenGNU/Linux,peroesbuenosaberquelaeleccinnosolamentepuedesatisfacer dichacuriosidad. Comoestudiantes,tendrnanteustedesunsistemamuyconfigurableyesasolaopcinhacequesea elpreferidodelosmbitosacadmicos. Elpodertenerelcdigofuentedecadapuntodeunsistemaoperativofuncionalesunrecurso invaluablequenosepodatenerhastanohacemucho.Perononosengaemosconquetenemosun sistema solamente didctico. GNU/Linux presenta un sin fin de aplicaciones que generan un ambientepordemsdeestableparalosnegociosdehoyenda.Yesteesunpuntointeresanteya queesenlasempresasdondeGNU/Linuxtienemayorentrada,debidoengranpartealpodercontar conunsistemaUn*xdebajocostototaldelapropiedad(TCOporsussiglaseningls)ysinlas complicacionesdelicenciasquetienenotrosSO. Pongamosunejemplo.Unaempresacompraunadistribucincualquieraporu$s30,lainstalaen sus120mquinas.Nadaloimpide,noesilegalysobretodaslascosas,tendrnunaplataforma muchomsestablequeconotrosSO's.DirnseguramentequeGNU/Linuxnocuentaconningn soporte.Esungranerror.PrimeroquetodoGNU/Linuxcuentaconunagrancomunidaddispuestaa ayudarysobretodo,enesacomunidadsepodr contactarhastaalosmismosprogramadoresque formaronpartedelproyecto.Talvezaunaempresanoleintereseelsoporteatravsdeuncontacto quesupunenpococonfiable.Lasempresasnecesitanecharlelaculpaaalgunaorganizacinsiel servidor no funciona. Muy bien, empresas como IBM, HewllettPackard y Dell ya venden servidoresconGNU/Linuxpreinstaladosycongarantasyserviciostcnicossimilaresalosque ofrecenconotrasplataformas.Porpartedelasdistribuciones,cuentanconsoportepermanente,ya seaatravsdelawebocorreoelectrnico,servicioquecuestamuchsimoenotrosSO'synihablar deSO'sUn*x.

Ahorabien,GNU/Linuxcuentaademsconunaseriedesoportesparatecnologasheredadascomo podranseraplicacionesquecorrenenotrotipodeplataforma.SecuentaconemuladoresdeDOSy Windows,estandosiendoademsportadasunagrancantidaddeaplicacionestantodecorriente principalcomograndesaplicaciones.Estodalaseguridaddenotenerquecambiarelsoftwarepor elquesepag anteriormente,perohayquedecirqueestetipodeprogramasemuladorestodava tienensusfallas,siendodifcilpoderejecutaralgunasaplicacionespococonocidas. Existeunafrasequehablaporsimisma:GNU/Linuxlotienetodo:Estabilidad,soporteysoftware. Ademsen pocaderecortesGNU/Linuxeslaclaveparamantenernuestronegociocompetitivo tantotecnolgicacomoeconmicamente.

Ladocumentaci nenGNU/Linux
La documentacin de todo software es un tema muy preocupante. Las distintas distribuciones comercialesdeGNU/Linuxposeendocumentacinenformatoimpreso.Peroelmismonocubrela totalidad de funcionalidades y programas del SO, sino solamente lo que corresponde a su implementacin particular, quedando en manos de los usuarios el adquirir documentacin ms especfica. Sin embargo, existe tanto en la misma distribucin como en Internet infinidad de documentacinquepuedeserconsultada. ElmayorproblemaalinstalarunSOnuevoounprograma,esquelosusuariosyadministradoresno se toman el tiempo necesario para leer la documentacin y es por ello que la mayora de las llamadasaserviciotcnicosedebenmsaproblemasqueestnenladocumentacinquealos inesperados. Sisetomaraeltiemponecesarioparaleerladocumentacin,elcostodeservicio tcnicosereduciranotablementeyestoenunaempresasetienequetenerencuentatratandoque los usuarios yadministradorespuedantenerelmaterialnecesarioparainformarsedetodos los aspectosdelsistema. Desdesusinicioslosdesarrolladoressehanpreocupadopormantenertodoloquesehizoeneste sistema operativo bien documentado. Por esto existen numerosos proyectos que sirven para documentarcadaaspectodelsistemaysusaplicaciones.Unodelosproyectosmsconocidosesel LDP (Proyecto de Documentacin de Linux), que se alza como una entidad centralizadora de documentacin. Esto es bueno para tener un solo lugar en donde buscar toda la informacin necesaria. GNU/Linux cuenta con gran cantidad de documentacin en varios formatos y uno de los desarrollados por el LDP son los HOWTO que estn disponibles muchas veces con la misma distribucinoatravsdeInternet.EnmuchoscasosestosHOWTOfueronescritosporlosmismos autoresquelosprogramasyenotrosporpersonasquesehanvistoenunproblemarealenuna empresa,universidaduotrainstitucin.TambinexistenloquesedenominaMINIHOWTO,que songuasrpidasparalaprontaimplementacindeunservicioounprograma,sindetenerseen aspectosquenoseutilizarnoseutilizarnraravez.Sepuedenencontrar,tantolosHOWTOcomo losMINIHOWTO,endistintosformatoscomoenASCII,PDF,PS,HTML,DocBook,etc.En nuestropasexisteunmirrordedocumentacindelproyectoLUCAS(LinUxenCAStellano),enel cualsepodrnencontrarlamayoradeellos. Unodelasformasdedocumentacinmspopularesysimplesdeaccedereselusodelasman pages.Estaspginasdemanualvienenentodaslasdistribucionesycubrenconnotabledetalleel usodecomandosoprogramas.Ademslosprogramasnuevosqueseinstalentraernensumayora manpagesquesepodrnaccederdeigualmaneraquealaspropiasdelsistema.Seaccedeaellas conelcomando

shrek@pantano$man<comando>

Existenvariasopcionesquesepuedenutilizarysepuedenbuscartecleando
shrek@pantano$manman

conloqueaparecernlaspginasdemanualdelcomandoman. MuchasveceslaspginasdemanualindicanunnmeroluegodelcomandoEj.ls(1).Estoindica quelainformacindelcomandolspuedeencontrarseenlaseccin1.Estaformaseremontaa cuandolasmanpagesdelossistemasUn*xvenanenlibrosimpresosquesedividanensecciones dondeseabordabaeltemadeuncomandodeacuerdoasuaplicacin.Tambinsepuedecontarcon laspginasdeINFOdecadacomando,utilizandoelcomando


shrek@pantano$info<comando>

dondeseencontrarainformacinmenosdetalladaqueenlasmanpagesperodeprontautilizacin. Un lugar donde buscar cuando se instale unnuevoprograma es los archivos README. Estos explicantodoelprocesodeinstalacinas comotambinlosrequerimientosnecesarios.Adems cada programa cuenta con documentacin propia que se podr encontrar en los directorios /usr/doc y /usr/share/doc,pudiendohaberotrossegnelprogramay/oladistribucin. Losfuentesdelkerneltambinposeenunagrancantidaddeinformacinsobreaspectosgenerales delSOysufuncionamiento,siendounamuybuenafuentedeinformacinalmomentodemeter mano al sistema, abundandolos comentarios tcnicos ylos jocosos,dirigidos porlos distintos desarrolladoresasuspares.Existenademsmuchsimasguasquecubrenaspectosmuyimportantes ydealtacomplejidaddelSOysusaplicaciones.Cabedestacarquemuchadeestainformacinse encuentra en espaolperoexiste unnmeromuchomayorqueestaen ingls.Proyectos como LuCAStratandequesereviertaesto,aportandoconsutrabajounaporteinvaluableparatodala comunidadhispanoparlante.Portodoloexpuestohastaaqu,puededecirsequeGNU/Linuxesuno delossistemasconmayorcantidaddedocumentacinqueexiste,tantolibrementecomoenforma delibrosimpresosporeditorialesderenombreenelcampotcnico.Noquedanexcusasparano informarse.

EmpezandoconGNU/Linux
LosusuariosquerecincomienzanautilizarunentornooperativoUNIXcomoesGNU/Linuxse sientenintimidadosporlacomplejidadqueesteSOposee.Existennumerososlibrosqueyahan tratadoeltemadeGNU/Linuxperoningunodeellospuedecubrirentotalprofundidadtodolos temasqueesteSOtieneparadar.Estepartedelcursonotrataradeahondarendetallesycomotodo elcurso,solodar laspautasnecesariasparaqueelestudiantepuedainvestigarlostemasquems les interesen. Lo que trataremos de hacer es ganar conceptos fundamentales para el mejor funcionamientodeestaclasedeSOporloqueempezaremosconUNIX.Paraellopasaremosaver losinterpretesdecomandoyalgunoscomandossimplesperosoloamododequesetengauna pequeanocinparacomenzaratrabajar.Luegoseprofundizar encadaunodeestospuntoscon mayordetalle.Expondremoselconceptoderboldedirectoriosysudistribucinascomotambin unalistadelcomandomsutilizados.

Conceptosb sicosdeUn*x
Comoantesvimos,GNU/Linuxposeeun95%decompatibilidadconelSOUNIX,esporesto veremosquelamayoradelasposibilidadesdeesteseaplican.UNIXposeelascaractersticasde cualquiersistemaoperativomultiusuarioymultitarea.Estosignificaquepuedeexistirmsdeuna personausandolacomputadoraalavez,cadaunodeellosejecutandounprogramadiferente.Esta sensacinladaelSOjuntoconlascaractersticasdelprocesadoryaquenosasignatiempospara cada usuario y cada programa hacindonos pensar que contamos con un procesador solo para nosotros. El sistema de archivos es un rbol multinivel que permite a los usuarios crear sus propios subdirectorios.Tantolosprogramasescritosporlosusuarios,comolosdelsistemanormalmentese ejecutanpormediodeunintrpretedecomandos,queenUn*xoenGNU/Linuxesunprocesode usuario como cualquierotro,alcualseledenominashell.Aunqueelshellesunprograma,lo podemosobservarcomotresentesdistintos:comoprograma,comoprocesoycomoambientede trabajo. ElshellquesetomabaanteriormentecomoestndareraelBourneShellllamadosimplementesh escrito por el desarrollador Steven Bourne. Pero el paso del tiempo a dado lugar a un nuevo estndar,elbash,yseusar deaqu enadelanteparareferirsealshelldadosugranaceptacinen todoslossistemasUNIXyderivados.

Entrando al sistema y creaci n de cuentas


Para empezar a ver las caractersticas de que GNU/Linux posee debemos dar algunas pautas generalessobrelosusuariosqueseampliarnmasadelante. Pondremosalgunaspautas.Nuestrosistematendr unnombrequeloidentificar enlaredyeste ser"pantano".Yaparecerantecualquiercomandoquepongamoscomoindicativodelsistemacon laforma
[usuario@pantano:/directorio_actual]{smbolo}

dondedirectorio_actualser eldirectoriodondeestamosparadosactualmente.Tendremos quetenerdosusuariosmnimosdeejemploparapoderinteractuar,queyabautizaremosshreky fiona.Dosindicativosquenosdirnconquetipodeusuarioestamostrabajandoenellugarde {smbolo},seusar l"#"paraelusuariorooty"$"paraelusuariocomn.Porsupuestoqueesto puedeconfigurarsedemaneradistinta.Estaessolounamuestradeposibilidadesquesepodran tenerconfiguradas.


[root@pantano:/home]#

Aqu aentradoenelsistemaelusuario"root"yestaparadosobreeldirectorio /home.Comose habrnotadolabarraindicativadeldirectoriorazes/ynolaacostumbradaenDOS\.

Cuandoiniciaelsistemalomsprobableesquetengaqueingresarcomorootoloquedenomina sper usuario. Paraestaseccinbastadecirqueelrootes quientienepoderabsolutosobre el sistema.Esquienpuedehacercualquiercosaqueleplazcayms.Porellosedicemuchasveces "Enunsistemaeresrootonoeresnadie"yconrazn.Porellosedeberusarestacuentalomenos posible,soloenelcasodetenerqueutilizaralgncomandoprivilegiadooparamantenimientodel sistema. S, cuantoms tiempoestemos trabajandocomoroot,tendremos ms posibilidades de cometerunerrorirreparablequesitrabajamoscomounsimpleusuario.Repetiremosestootravez, talveaasseveamejor USAALUSUARIOROOTLOMENOSPOSIBLE,CUANTOMSTIEMPOESTEMOS TRABAJANDOCOMOROOT,TENDREMOSMASPOSIBILIDADESDECOMETERUN ERRORIRREPARABLEQUESITRABAJAMOSCOMOUNSIMPLEUSUARIO. Severaunindicativoenlapantallaquelepedirsunombredeusuarioatravsdelapalabralogin:
Bienvenido.EstesistemaesLinux2.4.26 pantanologin:

PoniendonuestronombredeusuarioyluegopresionandoIntro oEnter (comomslesguste),se podrpasaaingresarnuestracontraseaopasswordquenosermostradaenlapantallaparaevitar queseavistaporalgunapersonaqueesteenlosalrededoresdesusistema,porellosedeberteclear cuidadosamente


Bienvenido.EstesistemaesLinux2.4.26 pantanologin:root Password:

Hay que recordar que GNU/Linux es case sensitive por lo que los caracteres en minscula y maysculasondistintos.Sielpasswordesincorrectosemostrarelsiguientemensaje
Bienvenido.EstesistemaesLinux2.4.26 pantanologin:root Password: loginincorrect login:

Y se deber intentar de nuevo. Una vez introducido correctamente el nombre de usuario y el passwordunoeslibredeempezaratrabajarconelsistema.Loprimeroquesedeberhaceralentrar alsistemarecininstalado,sinoesquesehizodurantelainstalacin,escrearnosunacuentade usuariocomn.Paraestopodemosutilizardosscriptquevienenpordefectoenlamayoradelas distribuciones adduser y useradd .Ambosrealizanelmismotrabajoperosehannombrado diferenteendistintasdistribuciones.Enmuchoscasosunoesunenlacedelotro.Paralacreacinde unacuenta,sedeberentraralsistemacomoroot
pantanologin:root password: Lastlogin:SunMar2619:23:32ontty1

Luego introduciremosunodeestos comandosseguidoporelnombredeusuarioquesequiera agregaralsistema.


[root@pantano:~]#addusershrek [root@pantano:~]#

Estecomandocrearunaentradaenelarchivo/etc/passworddondelaclaveestarenblanco, ya veremos porqu,yunsubdirectorioeneldirectorio /home o /usr/home segnsehaya instalado.Laentradadelaclaveenblancoestadadaporquetendremosqueasignarleunacontrasea paraqueelusuariopuedaentraralsistemaysilevienenganaspuedacambiarlaluego.Yaveremos eneltemadeAdministracinBsicadeSistemas,lasdiferentesposibilidadesquesepuedenllegara tenerparalagestindeusuarios.Conelcomando passwd seguidodelnombredelusuariole asignaremosunacontrasea
[root@pantano:~]#passwdshrek NewUNIXpassword: ReTypeUNIXpassword: [root@pantano:~]#

Algoatenermuyencuentaenloqueserefierealacreacindeclavesparalosusuariosesque muchasvecesestosnolacambiandurantemuchotiempo.Esteesungranproblemadeseguridad, porloquetendremosquedarleaestaprimeraclaveunplazodeexpiracincorto,nomsde30das, paraqueelusuarioseveaobligadoacambiarlainmediatamente.Conrespectoalacalidaddela clave,setendr quetenerencuentaquecuantomsfcilderecordarseaunaclave,msfcilser queladescubraotrapersonaycuantomsdifcilseaderecordarseanotaraenalgnlugarqueser menosseguroquesiguardaseenlamemoria.Usarpalabrasmuyconocidasofechasdecumpleaos uotracosarelacionadaconnosotrosesperjudicialparalaseguridaddenuestrosistema.Volveremos msadelanteconesto.

Conceptosb sicosdeentornoshell
AlhablardeunSOUn*xnosponemosapensarenunentornodetexto.Peroquehayentreloque vemosyloqueesrealmente?Qu esesteentornodetextoquesehablatanto?Esteentornose manejaatravsdeloquesedenominauninterpretedecomandos.DelamismaformaqueDOS poseesuinterpretedecomandos,elCOMMAND.COM.Un*xyGNU/Linuxposeelossuyos.A travsdeestospodremosefectuarunacomunicacinentrenosotrosyelsistemadndole rdenesa travsdecomandoqueelinterpretedecomandosdescifraraparaqueelsistemahagaloquele pedimos. Anteriormenteubicamosalinterpretedecomandosdentrodelascapasconlaquenospodremos encontrarenunsistema.Elinterpretedecomandosbash essolounainterfasedelasmuchasque posee Un*x o GNU/Linux.Dentrodeestetipode interpretes de comandoalquenos estamos refiriendo,existenmuchasotrasvariantes.

Tanprontoseentraalsistema,seiniciaralinterpretedecomandoquetengamosconfigurando,en lamayoradeloscasosser el bash yesenelquenosocuparemosnosotros.Enestemomento, podremosteclearlasordenesquenecesitemosoquetengamosganasdeteclear.


pantanologin:shrek Password: Lastlogin:SunMar2619:23:32ontty1 Bienvenidoalsistemapantano.Quetengaunbuenda. [shrek@pantano:~]$

Aquseveelpromptdelinterpretedecomandos,[shrek@pantano:~]$indicndonosqueesta listopararecibirordenes. Tratemosdedecirlealsistemaquerealicealgointeresante


[shrek@pantano:~]$makelove

Bueno,siestamosmuyenamoradosdenuestrosistemapuederesultarlgicoquenossintamosas, peroelsistemanopensaralomismodenosotrosynosdevolverunmensajedeerrorindicndonos quenopuedeejecutarelcomandoquelehemossolicitado.


make:***Nohayningunareglaparaconstruirelobjetivo`love'.Alto. [shrek@pantano:~]$

ConrazndicenqueGNU/Linuxespocoamigable.Ahoraconestosenospresentanpreguntas interesantes. Qu son rdenes? Qu esta ocurriendo cuando tecleamos make love ? El programamake realmenteexisteenelsistemaperonopuedeinterpretarloqueleestamospidiendo querealice. Laprimerapalabradelaorden,make ,eselnombredelaordenaejecutar.Elrestodelaordenes tomadocomoargumentodelaorden.Veamosunejemplo
[shrek@pantano:~]$cal102004octubrede2004 dolumamijuvis 12 3456789 10111213141516 17181920212223 24252627282930 31 [shrek@pantano:~]$

Elcomandocal sirveparamostrarunsimplecalendario,sinoseledanargumentosnosmostrarel mesencursoenelaoactual.Aqu elnombredelaordenes cal ylosargumentosquelehemos dadoson10y2004. Cuando una orden se ingresa al sistema, el intrprete de comando efecta varias operaciones. Primeroquetodo,buscaelnombredelaordenycompruebasiesunaordeninterna,propiedaddel mismointrpretedecomandosyqueestesabeejecutarporsimismo,existennumerosasdeestas rdenes.Elinterpretedecomandostambincompruebasilaordenesun"alias"onombresustituto deotraorden.Sinocumpleconningunodeestosrequisitos, linterpretedecomandosbuscael programa y loejecuta pasndolelos argumentos especificados enla lnea decomandos.En el ejemplodelmake queesuncomandoquesirveparapodercompilar,elintrpretedecomandosve quenoesunaordeninternaniunalias,asquebuscaelprograma,queestubicadoen /usr/bin, yloejecutapasndoleelargumento love comounobjetoacompilar.Como make nopuede

encontrarunobjetivodeesenombre,fallaenviandounmensajedeerrorydevolviendoelcontrolal intrpretedecomandos. Paraqueelintrpretedecomandospuedaencontrarlosprogramasaejecutar,sebasaenloquese denomina path.Este path oruta es cargado como una variable de entorno, la cargael mismo interprete en memoria desde un archivo de configuracin central llamado /etc/profile y agregndoleademslaspropiasconfiguracionesdepathquecadausuarioposeaensudirectorio personal,enelcasodelinterprete bash ,ser ~/.bash_profile,ademsde ~/.profile. Volveremosenelprximocaptulosobreesto. Ahora,queocurresitecleamosuncomandoqueelsistemanopuedaniinterpretarniencontrarenla rutadefinida
[shrek@pantano:~]$besame bash:besame:commandnotfound [shrek@pantano:~]$

Sinoseencuentraelprogramaconelnombredelaordenqueindicamos(enestecaso besame ), semostrarunmensajedeerrorquedeberexplicarbieneseproblema.

ComoenUNIXtambi nenGNU/Linux
Enelcaptuloanteriorvimoselfuncionamientodelainterfasedecomandosbashycomenzamos viendoelpoderqueposeeUn*xparaelmanejodelainformacin.Enestecaptulotrataremos temasunpocomsespecficos,concentrndonosenlosaspectosmsimportantesquepodremosver ennuestrosistemaoperativo.ElhechodequeestasterminologasempleadasenGNU/Linux,antes se hayan aplicado a Un*x, hacen que l saberlas nos abra las puertas a todo un sinfn de particularidadescompartidasquehacenmuchomsverstileltrabajoconcualquierentornoquesea equivalente.

Plomer aenGNU/Linux
Entradaysalidaest ndar
Hablamosantesdelos3archivosqueelsistemaabraenmemoriaaliniciarse,estoseranelstdin,el stdoutystderr.Elintrpretedecomandosconfigurarestosarchivosparaqueapuntenalteclado,en elcasodelstdin,yalmonitor,enelcasodelstdoutystderr.ExistennumerososcomandosdeUn*x queutilizanlaentradaestndarparatomarsusdatosylasalidaestndarparavolcarlosalapantalla. Laconfiguracinestadadadeestemodoyaqueelshellesperaqueseingresenlosdatosporel tecladoyquesuresultadooalgnerrorsereflejenenlapantalla.Unejemploseraelcasodel comandocat .Siusramoselcomandocat ,sinningnargumento,todoloqueingresemossevera repetidoenlapantalla.
[shrek@pantano:~]$cat Hola(1) Hola(2) Quetal(3) Quetal(4)

(1) (3) Lneaescritapornosotros. (2) (4) Lneadevueltaalasalidaestndar. LaentradaseterminapresionandoCtrl D queeselcarcterdeEOT(endoftext)findetexto.

Canalizaci nyredirecci n
Existelaposibilidaddedesviarlasalidaolaentradaauncomandoparapoderrealizarfunciones complejasuobtenerlosdatosquesaldranporlapantalladirectamenteaotroarchivo.Loprimero se denomina canalizacin y lo segundo redireccin. El smbolo que se utiliza para efectuar la canalizacineseldenominadopipeosmbolodecanalizacin(|).Estesmbolopermitequesepase lasalidadeunacomandooprogramaalaentradadeotro.Unejemploclsicodelautilizacindeeste smboloescuandoserequierelistarundirectorioqueocupamsdeunapantalla.Sepodrentonces utilizarelcomandoclsicoparalistarls yenviarsusalidaaotroprogramaquelomuestredeauna pginadepantallaporvez,porejemploelmore .
[shrek@pantano:~]$lsl|more

Estoservirpararealizarloantedichoyaquelasalidadelcomandols sercanalizadaparaquesea laentradadelcomandomore yesteseencargarademostrarlosdatosporpantalla.Loqueseesta utilizando es lacanalizacindelaentradaestndarylasalidaestndar.Lasalidaestndar del comandols esredireccionadahacialaentradaestndardelcomandomore queescambiadapara quetambinapuntealacanalizacin.Otrosdossmbolosutilizadossonel<yel>.Loquehacenes redirigirtantolasalidacomolaentradaestndardeohaciaunarchivo.Porejemplo,supongamos quenecesitamosguardarenunarchivollamadolistadolasalidadelcomandols .
[shrek@pantano:~]$ls>listado

Conestoleindicamosalcomandols queredireccionelasalidaestndarhaciaunarchivodenombre listado. Encasodequeelarchivoexista,ser reemplazadoconlanuevainformacin. Para agregarcontenidoaunarchivo,inmediatamentedespusdelcontenidoqueposea,setendr que ponerelsmboloderedireccindosveces


[shrek@pantano:~]$ls>>listado

El uso de < es para redireccionar el contenido de un archivo hacia la entrada estndar de un comandooprograma.Supongamosquenecesitamosordenarelcontenidodeunarchivoenorden alfabtico,loquelograremosconelcomandosort .Podremosentoncesredireccionarelcontenido deunarchivoalaentradadelcomandosort paraquesteloordene.
[shrek@pantano:~]$sort<nombres

Deestamanerasaldraporpantallalalistadenombresordenadasalfabticamente.Tambin se podr redireccionar el errorestndar para queno salga enpantalla. Siquisieramos realizar un listadodeundirectorioy,encasodeproducirseunerror,estefueseredirigidoaunarchivo,haremos losiguiente
[shrek@pantano:~]$ls/bin2>/tmp/error.ls

Esta simple redireccin solo tendra efecto sobre el error estndar (stderr) o como tambin se denomina,descriptordearchivon2.Conestaredireccinlosposibleserroresseranredirigidosal archivo/tmp/error.ls.Siquisiramosdividirtantolasalidaporpantallacomoelerrorendos archivosseparadospodemoshacerlodeestamanera
[shrek@pantano:~]$ls/bin1>/tmp/salida2>/tmp/error.ls

Laredireccinylacanalizacinpuedencombinarseparahacercosasunpocomscomplejaso realizartareasenunsolopaso.Supongamosquenecesitbamosobtenerlas10primeraslneasdel listadoqueanteriormenteguardamosdeldirectorio /bin.Paraestopodramosusarelcomando head directamenteparaqueobtengalas10primeraslneasdelarchivolistado,peroparaentender elusocombinadodelacanalizacinylaredireccinloharemosdeotraforma


[shrek@pantano:~]$sort<listado|head

Comosepuedever,seapasadopormediodeunaredireccinelcontenidodelarchivolistadoal comandosort ypormediodelacanalizacinhemospasadolasalidaestndardelcomando sort al comandohead .

Permisos de archivos, sus due os y grupos


Paraentendermejorelconceptodepermisossetendrquetenerencuentaquecadausuariopuede perteneceraunoomsgrupos.Cadausuarioperteneceporlomenosaungrupo,queesestablecido enelmomentoenqueelusuariosecrea.Eladministradordelsistemapuedeagregaralusuarioa otros grupos. Estos grupos son necesarios para poder establecer una poltica de acceso ms organizadadadoqueencualquiermomentosepodradaraunarchivoelaccesoapersonasdeun grupodeterminado.Lonicoquesetendraquehaceresagregaralosusuariosquesequierandar permisosaesegrupo. Para cada objeto (archivo) que se encuentre en el sistema, GNU/Linux guarda informacin administrativaenlatabladeinodos,temaqueabarcaremosenmayordetallemsadelante.Entrelos datosqueseguardanenestatablaseencuentranlafechadecreacindelarchivo,modificacindel archivoylafechaenquesecambioelinodo.Peroademscontienelosdatosenlosquesecentra todalaseguridadenUn*x.Estosson

Eldueodearchivo Elgrupodelarchivo Losbitsdemodootambinllamadospermisosdearchivo

Enestetramonoscentraremosenprimermedidaenentenderlospermisosyenestablecerlaforma enquepuedentrabajarconellos.

Conceptos
Al ser Un*x y GNU/Linux sistemas operativos multiusuario, para que se puedan proteger los archivosseestableci unmecanismoporelcualseotorganpermisosaundeterminadousuarioy/o grupo.Estopermite,porejemplo,quesiexisteunarchivocreadoporunusuarioenparticular,este serpropiedaddelusuarioytambintendrelgrupodelusuario.Sepermitequelosarchivossean compartidosentreusuariosygruposdeusuarios.Porejemplosishrekquisierapuedeprohibirlos accesosaunarchivodeterminadoquelepertenezcaatodoslosusuariosquenopertenezcanasu grupodeusuarios. Lospermisosestndivididosentrestipos:lectura,escriturayejecucin(rwx).Estospermisos puedenestarfijadosparatresclasesdeusuario:elpropietariodelarchivo,elgrupoalquepertenece elarchivoyparatodoelrestodelosusuarios.Elpermisodelecturapermiteaunusuarioleerel contenidodelarchivooenelcasodequeelarchivoseaundirectorio,laposibilidaddeverel contenidodelmismo.Elpermisodeescriturapermitealusuariomodificaryescribirelarchivo.En elcasodeundirectoriopermitelacrearnuevosarchivosen loborrararchivosexistentes. El permisodeejecucinpermitealusuarioejecutarelarchivo,sitienealgoparaejecutarse.Paralos directoriospermitealusuariocambiarsealconelcomandocd .

Comoseinterpretanlospermisos
Parapoderinterpretarlospermisosdearchivosnadamejorqueutilizarelcomando lsla.Con estovemosunlistadolargodeundirectorio.
[shrek@pantano:~]$lsla total13 drwxrsrx2shrekuser1024May209:04. drwxrwsrx4rootstaff1024Apr1721:08.. rw1shrekuser2541May222:04.bash_history rwrr1shrekuser164Apr2314:57.bash_profile rwrr1shrekuser55Apr2314:44.bashrc rwxrwxrx1shrekuser0Apr1419:29a.out rwxrwxrx1shrekuser40Apr3012:14hello.pl r1shrekuser64Apr2914:04hola rwxrwr1shrekuser337Apr2913:57lista rwrwr1shrekuser40Apr3012:31listador rwrwr1shrekuser0May209:04null rwxrwxrx1shrekuser175Apr3012:30prue.pl rwxrwxrx1shrekuser56Apr2315:08que.sh

Comosepuedeapreciarenestelistado,tambinestneldirectorioactual,representadoporun punto . yeldirectoriopadrerepresentadopordospuntos .. .Ellostambinposeenpermisosy atributosquesonmostrados.Parairentendiendounpocomsvamosaexplicarquesignificanlos primeros10dgitos.Tomemoscomoejemploelsiguientearchivo


rwrr1shrekuser337Apr2913:57lista

Paraesclarecerunpocomasquesignificacadaunodeestoscaracteresalinicio,utilizaremosunas tablas. Primero veamos aquellos caracteres que podran aparecer en el primer lugar, que en el ejemploanterioresunsologuin.Estonosindicaqueesunarchivocomn.Latablasiguiente explicaelsignificadodelprimersmbolodeacuerdoaltipodearchivo. Tabla1.Tiposdearchivo Contenido d c b l s p Signif icado Archivocomn Directorio Dispositivodecaracteres(ttyoimpresora) DispositivodeBloque(usualmentediscorgidooCDROM) Enlacesimblico Socket Pipe

Los siguientes 9 smbolos se toman en grupos de tres ycada grupo pertenece a una clase de permisos,ysemuestranacontinuacin Tabla2.Tiposdepermisos Permiso Signif icado r w x Permisodelectura Permisodeescritura Permisodeejecucin

Tabla3.Gruposdepermisos Columnas 2,3,4 5,6,7 8,9,10 Seaplicaa owner group other Signif icado Establecelospermisosparaeldueodelarchivo Establecelospermisosparaelgrupodelarchivo Establecelospermisosparalosusuariosquenoentranenlas categorasanteriores

Deestaformapodremosinterpretarellistadogeneradoapartirde ls la demejormanera. Comoyadijimos,elprimersmbolonosestaindicandoqueelarchivoesunarchivocomn.El primergrupodetressmbolosrepresentalospermisosparaeldueodelarchivo(owner)queeneste casoposeepermisosdelectura,escriturayejecucin.Elsegundogrupodetressmbolosrepresenta lospermisosparaelgrupoalcualperteneceelarchivo(group),queenestecasotienenpermisosde lecturayescritura.Eltercergrupodetressmbolosrepresentalospermisosparatodoelrestodelos usuarios(other)enestecasoessolodelectura. Elnmeroquesigue(1)representaelnmerodenombresqueelarchivoposee.Estoindicala cantidaddeenlacesqueexistenaestearchivoyloveremosmsadelantecuandotratemoseltema deenlacessimblicosyduros. Acontinuacinestaelnombredeldueodelarchivoydelgrupoalcualperteneceelarchivo. El"337"representaeltamaodelarchivoexpresadoenbytes. Lo siguiente es la fecha yhora de modificacin del archivoe inmediatamente despus esta el nombredelmismo.

Dependencias
Los permisos de los archivos tambin dependen del directorio donde estn guardados. En un ejemplocomnpodramosdarelcasodeunarchivoqueposeatodoslospermisos,tantoparael usuario,grupoyotrosperonosepodr accedera lsinosecuentaconpermisosdelecturay ejecucineneldirectorioqueloscontiene. Estofuncionaenelcasoquesequierarestringirelaccesoaundirectoriodeterminadoyatodoslos archivosqueestecontiene.Enlugardecambiarlospermisosunoporunosolotenemosquesacarle lospermisosnecesariosparaqueseprohbaelaccesomismoaldirectorioyconestonopodrn ingresarparausarlos.Estotambinestadadoparatodalarutadelarchivo.Esdecirquenosoloel ltimodirectorio,elcuallocontiene,tienequetenerlospermisosnecesarios,sinoquetodoslos directoriosqueloprecedentambin.

Cambiandopermisos
Enelelcap tulodenombre EmpezandoconGNU/Linux vimoslautilizacindelcomandochmod , peroenesteentraremosaexplicarenmejorformasuutilizacin.Ademstrataremoseltemadeotro formaderepresentarlospermisosposibles,larepresentacinoctal,queesextremadamentetilala horadeestablecernuevospermisos. Elcomandochmodseempleautilizandosmboloscomoa,u,g,oquerepresentanatodos(a"all"),al usuario(u),algrupo(g)yatodoslosdems(o).Existensmbolosparaagregar(+)quitar()odejar invarianteslospermisos(=).Ademstendrnqueusarselossmboloscaractersticosparacadatipo depermiso.Paraelpermisodelectura(r),paraelpermisodeescritura(w)yparaelpermisode ejecucin(x).Soloeldueodelarchivopuedecambiarloconl;excepcindelrootquetambinlo puedehacer.Paraejemplificaruncambiodepermisosusaremoselarchivolista.
[shrek@pantano:~]$lsllista total1 rwxrwr1shrekuser337Apr2913:57lista [shrek@pantano:~]$chmodarlista [shrek@pantano:~]$lsllista total1 wxw1shrekuser337Apr2913:57lista

Deestaformaselehasacadoatodoslosgruposyusuarioslospermisosdelectura.Algunos ejemplosms
[shrek@pantano:~]$chmodu+rlista [shrek@pantano:~]$lsllista total1 rwxw1shrekuser337Apr2913:57lista [shrek@pantano:~]$chmodo+wlista [shrek@pantano:~]$lsllista total1 rwxww1shrekuser337Apr2913:57lista [shrek@pantano:~]$chmodogwlista [shrek@pantano:~]$lsllista total1 rwx1shrekuser337Apr2913:57lista

Ahorabien,estaeslaformasimblica.Peroexisteunaformaunpocomssistemticaqueesla formaderepresentacinoctal.Elcomandochmod permiteestablecerlospermisosdeunarchivo por medio de un nmero octal. Comnmente nosotros usamos para contar una representacin decimal (0,1,2,3,4,5,6,7,8,9) pero en una representacin octal solo se usan 8 nmeros (0,1,2,3,4,5,6,7).Paraestablecerelpermisohabr quesumarlosdgitosoctalesdeacuerdoauna tablaquesedaracontinuacin.Dadoquenoserealizaacarreo,lasumasertrivial.

Tabla4.Permisosennotaci noctal N mero octal 4000 2000 1000 0400 0200 0100 0040 0020 0010 0004 0002 0001 Permiso

EstableceelnmerodeidentificacindeusuarioalejecutarseSUID[a] EstableceelnmerodeidentificacindegrupoalejecutarseSGID[a] Estableceelbitadhesivo[a] Lecturaporpartedeldueo Escrituraporpartedeldueo Ejecucinporpartedeldueo Lecturaporpartedelgrupo Escrituraporpartedelgrupo Ejecucinporpartedelgrupo Lecturaporpartedelosotros Escrituraporpartedelosotros Ejecucinporpartedelosotros

Notas: a.Severalfinalizareltema Paradarunejemplodelasumaquesetendr querealizar,tomemosunarchivoconlospermisos expresadosenformasimblicayrealicemoslaconversin.Pararepresentarrwxrx 0400Lecturaporpartedeldueo +0200Escrituraporpartedeldueo +0100Ejecucinporpartedeldueo +0040Lecturaporpartedelgrupo +0010Ejecucinporpartedelgrupo 0750Resultado

Deestaformasiloquequisiramosescambiarlospermisosdeunarchivo,solosetendraque efectuar lasumanecesariayestablecerloconelcomando chmod .Siquisiramoscambiar los permisosparaqueeldueotengapermisosdelecturayescriturayqueelgrupoyotrossolotengan permisosdelectura,lasintaxises


[shrek@pantano:~]$chmod0644lista [shrek@pantano:~]$lsllista total1 rwrr1shrekuser337Apr2913:57lista

Conlaprcticasesabrncualessonlassumasmasutilizadasypodrnverqueesmuchoms sencilloelestablecerdeestaformalospermisosdearchivos.

Cambiandogruposyusuarios
Loquenosquedaporvereselcasoenquesequisieracambiarelusuariooelgrupodelarchivo. Paraestoseusaelcomandochown ysusintaxisessimilaralade chmod peroconlavarianteque sedanlosnombresdelusuarioydelgrupo.Siquisiramoscambiarelnombredeusuario del archivolistatendremos
[root@pantano:/home/shrek]#lsllista total1 rwrr1shrekuser337Apr2913:57lista [root@pantano:/home/shrek]#chownfionalista [root@pantano:/home/shrek]#lsllista total1 rwrr1fionauser337Apr2913:57lista

Sisequisieracambiartambinelnombredelgrupo,setendraqueponerunpuntoentreelnombre deusuarioyelgrupo
[root@pantano]#lsllista total1 rwrr1shrekuser337Apr2913:57lista [root@pantano]#chownfiona.ventaslista [root@pantano]#lsllista total1 rwrr1fionaventas337Apr2913:57lista

Porsupuestoquetantoelusuariocomoelgrupoalquesehacenreferenciatendrnqueexistirenel sistema,sinoseproducirunerror.Enelcasoquesolosequieracambiarelgrupoynoelusuario, setendr queponerunpuntodelantedelnombredelgrupo,omitiendoponerelnombredelalgn usuario.Osisequiere,sepodrponerelnombredeusuarioqueestabaanteriormente.


[root@pantano]#lsllista total1 rwrr1shrekuser337Apr2913:57lista [root@pantano]#chown.ventaslista [root@pantano]#lsllista total1 rwrr1shrekventas337Apr2913:57lista

Puntosadicionales
Explicaremosalgunospuntossobrepermisosquesondegranutilidadparalaseguridaddenuestro sistema.

umask
Estaeslaabreviaturadeuserfilecreationmodemaskomscaradelmododecreacindearchivos deusuario yesunnmerooctaldecuatrodgitosqueseutilizanparafijarlospermisosdelos archivos recin creados. Esto puede ocasionar confusin pero en realidad es una utilidad que permiteelusodelsistemapormltiplesusuariossinquepeligrelaprivacidad.Enlamayoradelos Un*xlosarchivosquesoncreadosporelusuario,poseenpermisos0666quedanpermisodelectura y escritura a cualquierusuario.Enrelacinconlosprogramas,estossecreancon0777donde cualquierusuariopuedeleer,escribiryejecutarelprograma.Normalmenteeladministradordel sistemaaplicauna mscara alusuarioenelarchivo .bash_profile yestaesusadaparala creacindearchivoshaciendounaoperacinsimple"AND"bitporbitconelcomplementodel valor umask bit por bit. La funcin umask esta integrada al intrprete de comandos. Para ejemplificarelprocesotomemosunarchivocreadoporelusuario. 0666Modopredeterminadodecreacindearchivos 0022Umask 0644Modoresultante Elmodoresultanteesqueeldueotienepermisosdelecturayescrituraylosdemsyelgruposolo delectura. 0666Modopredeterminadodecreacindearchivos 0077Umask 0600Modoresultante Elmodoresultanteesqueeldueotienepermisosdelecturayescrituraylosdemsyelgrupono tienenningnpermiso.Unaformadedarsecuentadelaformaenquefuncionaelumaskesteneren cuenta que el valor 2 inhabilita el permiso de escritura mientras que el valor 7 inhabilita los permisos de lectura escritura y ejecucin. A continuacin daremos una tabla con los valores comnmenteusadosparaelumask.

Tabla5.Valoresusualesdelavariable umask Umask Accesosdelusuario 0000 0002 0007 0022 0027 0077 Todos Todos Todos Todos Todos Todos Accesosdelgrupo Todos Todos Todos Lecturayejecucin Lecturayejecucin Ninguno Accesosdelosotros Todos Lecturayejecucin Ninguno Lecturayejecucin Ninguno Ninguno

SUIDySGID
Existenocasionesquelosusuariosnecesitanejecutaralgnprogramaquerequieredeprivilegios. Unejemplodeestoeselusodelprogramapasswd paracambiarlacontrasea.Seraunerrordarle alosusuarioslosprivilegiosnecesariosparaquepuedanejecutarestaclasedeprogramasyaqueel usuariopodracambiarsedegrupoocrearunacuentaconprivilegiosderoot.Paraqueestono suceda,seimplementoenUn*x,unsistemaporelcualunprogramaquecuenteconSUIDoSGID puedeserejecutadoconlosprivilegiosdeldueoy/ogrupodelprograma.Paraquequedemsclaro setienequesaberquecadausuarioestaidentificadoporelsistemaconunnmerodeidentificacin tantopara l,comoparaelgrupo.EstenmerosedenominaUID(userID)paraelcasodelos usuariosyGIDparaelcasodelosgrupos.Porejemplo,unusuariopodratenerunUID100yun GID500.Enelcasodelroot,estetieneUID0yGID0.Msadelantesverestoenmayordetalle. LoqueseefectaconelsistemaSUIDesunaadquisicintemporaldeunUIDoGIDdistintoal propiocuandoseest ejecutandoelprograma.CuandounprogramacambiadeUIDsedenomina SUID (setUID: se establece UID) y cuando cambia de GID se denomina SGID (setGID: se estableceGID)UnprogramapuedeserSUIDySGIDalmismotiempo.Paradarsecuentasiun programaesSUIDoSGIDbastaconhacerunlistadolargoconelcomando lsl yseverque dondetendraqueestarunax,queasignapermisosdeejecucin,vaaestarunaletras.
[shrek@pantano:~]$lsl/usr/bin/passwd rwsrsr1rootbin360682003062320:40/usr/bin/passwd* /usr/bin/passwd

Bitadhesivo
EnlosantiguossistemasUn*x,lamemoriaeraalgoesencialyescasadadosucosto.Parapoder aprovecharmsesta,seempleounatecnologaquemantenapartedeprogramasesencialesenel reaswapdememoriaparaquepudieranserusadosmsrpidamentedadoquesisetendranqueir abuscaraldiscoseadhesivoostickybityestosarchivosas marcadoseranlosquevalalapena manteneryaqueesaspartesdelprogramaqueseguardabanenmemoriatambinpodanserusadas porotros.

Administraci nb sicadelsistema
Enestecaptulotrataremosdeverlosaspectosgeneralessobrelaadministracindenuestrosistema contemplandoalgunasconfiguracionesquesetendrnquehacer,tomandocomobaseunsistema pequeocomoeldenuestrohogarodeunaempresaconpocasmquinasinterconectadas. Empezaremos reforzando el concepto de la cuenta root para comprender su alcance y que restriccionesylibertadespodremosdaralosdemsusuarios. Luegoveremosvariasmanerasparapoderarrancarnuestrosistemaejemplificandotresmtodos:la utilizacindeundiskette,elusodelLILOodesdelaaplicacinparaDOSLOADLIN. Nuestrosistematendr quetenerlaposibilidaddeimprimiryesporelloqueejemplificaremosdos mtodosparaimprimir.Unoenlamquinalocalyotroenunamquinaremota. Comotodosistemarequerirenalgnpuntoqueseinstaleunkernelnuevooseactualicepartedel mismo,veremosaspectosgeneralessobrelasactualizacionesnecesariasparanuestrosistema.

Lacuentarootysusimplicaciones
Sinoeresrootnoeresnadie Enestepuntosabemosquelacuentaraz,quetieneelnombredeusuarioroot,eselmsimportante del sistema yademsesquientienelos privilegiosmsaltosparainteractuarcon l.Tambin sabemos, y esto a fuerza de malas experiencias en muchas ocasiones, que el ser root requiere responsabilidadesyelestarconcientedeloquesehaceconestetipodecuentasyaquemuchas vecesunerrorcometidoserirreparable. Los usuarios del sistema estn bastante restringidos en lo que pueden realizar, ya sea con los archivosdeotrosusuariooarchivosdesistema,yaquenotienenlospermisosnecesariosparapoder modificarlosoborrarloseinclusoenmuchoscasosleerlos.Todasestaslimitacionesseterminancon la cuenta root ya que posee acceso a cada rea del sistema pudiendo borrar, crear, modificar archivos de cualquier parte del sistema as como cambiar permisos y dueos de estos. Puede ejecutarcualquierprogramayhastainclusosiseleocurriesepodraliteralmentemataralsistema porcompleto.Estoesas yaqueesnecesarioqueexistaporlomenosunapersonaquepueda interveniralsistemasiesnecesarioyquetengalosprivilegiosadecuadosparapoderforzaral sistemaarealizaralgo.Laideaesqueestacuentaseutilicesobriamente, nicamentecuandoes necesarioynoencualquiermomento.Paraejemplificarunhechoqueseriapeligrososiefuerce root,siunusuarionormaldeleocurrieseborrarlosarchivosqueseencuentraneneldirectorio /boot el sistemanolodejara,encambiosieselrootquienlopide,loqueesteen /boot desaparecermuchasveces,deacuerdoalaconfiguracindeGNU/Linuxqueseposea,cargndose alkernelcompletoconellos.

Paraevitarcualquieraccidentealutilizarlacuentarootesrecomendablelossiguientespasosa seguir 1. PensarlodosvecesantesdeapretarlateclaEnter enuncomandoquepuedacausaralgn dao.Porejemplosiseestaborrandoalgnarchivodeconfiguracinreleerlalneadel comandocompleto. 2. Noacostumbrarseausarroot.Cuandomsconfortableseencuentreunotrabajandoconel usuarioroot,msseguroqueseconfundirnlosprivilegiosconlosdeunusuarionormal. 3. Usarsiempreunmarcadordistintoparaunusuarionormalyelroot.Estoyaviene por defectoenlamayoradelasdistribucionesperosiempreestabienrepetirlo.Unsigno$o% representaraalusuarionormalyun#representaraalroot. 4. Conectarsecomousuariorootsolocuandoseaabsolutamentenecesario.Ydesconectarse tanprontocomosehayaterminadoeltrabajo.Cuandomenosseuselacuentaroot,menos posibilidadesdecometerunerrorhabr. ExistenpersonasquesonverdaderoshackersdeUn*xqueutilizanlacuentarootparatodo,perohay querecordardoscosasconrespectoaesto.Loprimeroquenoestamosaesaalturadeconocimiento sobreUn*xysegundoqueestaspersonasenalgnmomentohanhechoalgoquelesahechoperder suinformacin. Lacuentarootespoderosaenelsistema,yesepoderespeligrosomuchasvecesparaelrestodelos usuariosdelsistema.Latendenciaaladestruccindeunusuarioconelpoderderootesperjudicial paraelrestodelsistemayaqueensucesivasoportunidadesseasabidodecasosenlosquelos administradores del sistema leen correo de otro usuarios o borran archivos sin avisar a nadie jugandoconelsistemainformticocomosifuesenniosynocomoverdaderosadministradores. Porelloserequiereciertogradodemadurezyresponsabilidadademsdelconocimientonecesario parapoderllegaraseradministradordeunsistemayesennuestrossistemasquetendremosenel hogaroenlaoficinaconGNU/Linuxdondetendremosqueaprenderaserlo.

Gesti ndeusuarios
Elsistemamantieneunaciertacantidaddeinformacinacercadecadausuario.Dichainformacin seresumeacontinuacin. nombredeusuario Elnombredeusuarioeselidentificador nicodadoacadausuariodelsistema.Ejemplosde nombresdeusuarioson:shrek,burroyfiona.Sepuedenutilizarletrasydgitosjuntoalos caracteres"_"(subrayado)yelpunto.Losnombresdeusuarioselimitannormalmentea8 caracteresdelongitud. clave Elsistematambinalmacenalaclaveencriptadadelusuario.Elcomandopasswd seutiliza paraponerycambiarlasclavesdelosusuarios.

userID El user ID, o UID, es un nmero nico dado a cada usuario del sistema. El sistema normalmentemantienelapistadelainformacinporUID,nopornombredeusuario. groupID ElgroupID,oGID,eslaidentificacindelgrupodelusuariopordefecto. nombrecompleto Elnombrerealonombrecompletodelusuariosealmacenajuntoconelnombredeusuario. Porejemplo,elusuarioburropuedetenerelnombre"PlateroEquino"enlavidareal. directorioinicial Eldirectorioinicialeseldirectorioenelquesecolocainicialmentealusuarioentiempode conexin. Cada usuario debe tener su propio directorio inicial, normalmente situado bajo /home. intrpretedecomando Elintrpretedecomandodelusuarioeselintrpretedecomandosqueesarrancadoparael usuarioentiempodeconexin.Ejemplospuedenser/bin/bashy/bin/tcsh. Elarchivo/etc/passwdcontienelainformacinanterioracercadelosusuarios.Cadalneadel ficherocontieneinformacinacercadeunnicousuario.Elformatodecadalneaes
nombre:clave_encriptada:UID:GID:nombrecompleto:dir_inicio:intrprete

Unejemplopuedeser
shrek:Xv8Q981g71oKK:102:100:ShrekOgre:/home/shrek:/bin/bash

Elprimercampo,"shrek",eselnombredeusuario.Elsiguientecampo,"Xv8Q981g71oKK",esla claveencriptada.Lasclavesnosealmacenanenelsistemaenningnformatolegibleporelhombre. Lasclavesseencriptanutilizndoseas mismascomoclavesecreta.Enotraspalabras,slosise conocelaclave,stapuedeserdesencriptada.Estaformadeencriptacinesbastantesegura. Algunossistemasutilizan"clavesensombra"(shadow)enlaquelainformacindelasclavesse relega al fichero /etc/shadow. Puesto que /etc/passwd es legible por todo el mundo, /etc/shadow suministraungradoextradeseguridad,puestoque stenoloes.Lasclavesen sombrasuministranalgunasotrasfuncionescomopuedeserlaexpiracindeclaves;noentraremos adetallarestasfuncionesaqu. Eltercercampo,"102",eselUID.Estedebesernicoparacadausuario.Elcuartocampo,"100",es el GID. Este usuario pertenece al grupo numerado 100. La informacin de grupos, como la informacindeusuarios,sealmacenaenelfichero/etc/group.Elquintocampoeselnombre completodelusuario,"ShrekOgre".Losdos ltimoscampossoneldirectorioinicialdelusuario, /home/shrekyelintrpretedeconexin/bin/bash,respectivamente.Noesnecesarioqueel directorioinicialdeunusuariotengaelmismonombrequeeldelnombredeusuario.Sinembargo, ayudaaidentificareldirectorio.

Borrandousuarios
Anteriormentevimoscomopodemoscrearunusuarioparaempezarautilizarelsistema,yeste mtodo puedeemplearseparalacreacindecualquierotrousuario.Deformaparecida,borrar usuariospuedehacerseconloscomandosuserdel odeluser dependiendodelsoftwareinstalado enelsistema. Sisedesea"deshabilitar"temporalmenteunusuarioparaquenoseconectealsistema(sinborrarla cuenta del usuario), se puede prefijar con un asterisco ("*") el campo de la clave en /etc/passwd.Porejemplo,cambiandolalneaa
shrek:*Xv8Q981g71oKK:102:100:ShrekOgre:/home/shrek:/bin/bash

evitarqueshrekseconecte. Despusdequehayacreadounusuario,puedenecesitarcambiaralgnatributodedichousuario, comopuedesereldirectorioinicialolaclave.Laformamssimpledehacerestoescambiarlos valores directamente en /etc/passwd. Para poner clave a un usuario, utilice el comando passwd .Porejemplo
[root@pantano:~]#passwdburro

cambiar laclavedeburro.Slorootpuedecambiarlaclavedeotrousuariode staforma.Los usuariospuedencambiarsupropiaclaveconpasswd tambin. Enalgunossistemas,loscomandoschfn ychsh estndisponibles,permitiendoalosusuariosel cambiar sus atributos de nombre completo e intrprete de conexin. Si no, deben pedir al administradordesistemasqueloscambieporellos.

Grupos
Como hemos citado anteriormente, cada usuario pertenece a uno o ms grupos. La nica importanciarealdelasrelacionesdegrupoeslapertenecientealospermisosdeficheros,como dijimosanteriormentecadaficherotieneun"grupopropietario"yunconjuntodepermisosdegrupo que define dequ forma puedenaccederal ficherolos usuarios del grupo.Hayvarios grupos definidosenelsistema,comopuedenserbin,mail,ysys.Losusuariosnodebenpertenecera ningunodeestosgrupos;seutilizanparapermisosdeficherosdelsistema.Ensulugar,losusuarios debenperteneceraungrupoindividual,comousers.Sisequiereserdetallista,sepuedenmantener variosgruposdeusuarioscomoporejemploestudiantes,soporteyfacultad. Elfichero/etc/groupcontieneinformacinacercadelosgrupos.Elformatodecadalneaes
nombredegrupo:clave:GID:otrosmiembros

Algunosejemplosdegrupospuedenser:
root:*:0: users:*:100:fiona,burro,shrek invitados:*:200: otros:*:250:shrek

Elprimergrupo,root,esungrupoespecialdelsistemareservadoparalacuentaroot.Elsiguiente grupo,users,esparausuariosnormales.TieneunGIDde100.Losusuariosfionaypedrotienen accesoaestegrupo.Recurdesequeen/etc/passwdcadausuariotieneunGIDpordefecto.Sin embargo,losusuariospuedenperteneceramasdeungrupo,aadiendosusnombresdeusuarioa otraslneasdegrupoen/etc/group.Elcomandogroups listaaqugrupossetieneacceso. Eltercergrupo,invitados,esparausuariosinvitados,yotrosespara"otros"usuarios.Elusuario shrektieneaccesoastegrupo. Comosepuedever,elcampo"clave"de/etc/groupraramenteseutiliza.Avecesseutilizapara darunaclaveparaaccederaungrupo.Estoesrarasvecesnecesario.Paraevitarelquelosusuarios cambienagruposprivilegiados(conelcomandonewgroup ),seponeelcampodelaclavea"*". Se pueden usar los comandos addgroup o groupadd para aadir grupos a su sistema. Normalmenteesmssencilloaadirlneasa/etc/groupunomismo,puestoquenosenecesitan msconfiguracionesparaaadirungrupo.Paraborrarungrupo,slohayqueborrarsuentradade /etc/group.

Administraci ndeLAMP
Aestepunto,yadeberamosestarfamiliarizadosconLinux,porlotantoestaseccinestenfocada enlosotrostrescomplementosdelasiglaLAMP:Apache,MySQLyPhp,ylasfuncionesqueestos cumplenenelservidorLAMP.

Componentes
Apache
ElservidorHTTPApacheesunsoftware(libre)servidorHTTPdecdigoabiertoparaplataformas Unix(BSD,GNU/Linux,etc.),Windows,Macintoshyotras,queimplementaelprotocoloHTTP/1.1 ylanocindesitiovirtual.Cuandocomenzsudesarrolloen1995sebasinicialmenteencdigo delpopularNCSAHTTPd1.3,peromstardefuereescritoporcompleto.Sunombresedebeaque originalmenteApacheconsistasolamenteenunconjuntodeparchesaaplicaralservidordeNCSA. Era,eningls,apatchyserver(unservidor"parcheado").

MySQL
MySQLesunsistemademanejodebasededatos(DBMS)opensourcequesehaidoganando popularidadenlosservidoreswebdebidoasuvelocidad,estabilidadydesempeo.MySQLesun servidorquemanejaalmacenamientoyaccesoadatos,yunclienteparamanejarlainterfzde manejodelservidor.DentrodelservidorLAMP,MySQLesusadoparaalmacenardatosenforma ordenada,queluegosernusadosporlasaplicacionesweb.

Php
Phpesunlenguajedeprogramacindesarrolladoespecficamenteparaserusadoenscriptsweb. OriginalmenteeraunsetdescriptsenPerl,peroconeltiemposehanidoagregandocapacidades. Esunlenguajeorientadoaobjeto,muyutilizadoenlacreacindecontenidodinmicoparasitios web.

Conf iguraci ndeLAMP


Inst alaci ndeApache
A continuacin comenzaremos con la instalacin de nuestro servidor web, el cual puede ser instaladodesdediferentesfuentesdependiendoladistribucinqueestemosusando.Paraestagua supondremoselusodealgunadistribucinbasaendebian,porloqueusaremoslaherramientaAPT paralainstalacin.
[shrek@pantano:~]#aptgetinstallapache2

Unavezfinalizadalainstalacinelservidordeberaserlevantadoautmticamente,loquenosindica quepodemosseguirconlainstalacindePhp.

Inst alaci ndePhp


UnavezfinalizadalainstalacindeApachepodemosinstalarPhp.Paraestopodemoselegiralguna delastantasformasdeinstalacin,peroseguiremosusandolaherramientaAPT. EnestecasotambinnecesitaremosinstalaralgunosotrospaquetessiqueremosquenuestroPhpsea capzdeconversarconMySQL.
[shrek@pantano:~]#aptgetinstallphp5php5mysql

UnavezfinalizadalainstalacindePhpdebemosreiniciarnuestroservidorApacheparaquelos cambiosseanefectuadosyseacapzdeentenderPhp.
[shrek@pantano:~]#/etc/init.d/apache2restart

Inst alaci ndeMySQL


Aligualqueenelrestodelospaquetesinstalados,parainstalarMySQLusaremosAPT,peroeneste casodebemostenercuidadoconquinstalamosyaqueelsistemabasedeMySQLestdivididoen trespaquetes:elservidor,elclienteylaslibreriascliente.Ennuestrocasosolodebemos preocuparnosporelservidor,porlotantoloinstalaremosas:

[shrek@pantano:~]#aptgetinstallmysqlserver

Unavezfinalizadoelprocesodeinstalacin,elservicioserlevantadoenformaautomticay quedarlistoparausarse.

Administraci ndeSamba
Def inici n
Sambaesunservicioquenospermitecompartirsistemasdearchivoseimpresorasenunaredde computadoresqueusenelprotocoloSessionMessageBlock,entreloscualesseencuentrantodaslas versinesdeciertosistemaoperativopropietario...

Inst alaci ndeSamba


Dependiendodeladistribucinqueestemosusando,laformaenquetendremosqueinstalarSamba. Ennuestrocaso,comosesuponequeestamosusandounadistribucinbasadaenDebian,usaremos laherramientaAPTdelasiguienteforma:
[shrek@pantano:~]#aptgetinstallsambasambacommonswat

Enalgunasdistribuciones,Sambanolevantaautomticamentecuandoterminadeinstalar,porlo quetendremosquehacerlonosotros.
[shrek@pantano:~]#/etc/init.d/sambastart

Estonoslevantarelservicioconunarchivodeconfiguracinbsicoqueposiblementenoseajuste alascaractersticasninecesidadesdenustrared.Paracrearunarchivodeconfiguracinacordea nuestrarealidadusaremoslaherramientaSWAT.

Conf iguraci ndeSambaconSWAT


ParapoderutilizarlaherramientadeconfiguracinwebdeSambalonicoquedebemoshaceres abrirnuestronavegadorfavoritoydirigirnosaladireccinhttp://localhost:901

Agregandousuarios
ParaqueSambapuedatrabajarconseguridadenbasealosusuarios,estosdebenexistirdentrodel sistemaLinux.Encasocontrarionopodrnaccederalosrecursoscompartidos. LacreacindeusuariosparaelsistemaSambaestansimplecomolacreacindeusuariosenel sistemaLinux.Lanicadiferenciaesque,adems,debemoscrearunacontraseaparaSamba.Esto lohacemosdelasiguienteforma.
[shrek@pantano:~]#smbpasswda<usuario>

Conloanterioryatenemosalusuario<usuario>dadodealtaparausarelsistemaSamba.

Vous aimerez peut-être aussi