Haxcra9

Embed Size (px)

Citation preview

  • 8/14/2019 Haxcra9

    1/68

    DESCUBRE LOSPROTOCOLOS DE LARED CON NOSOTROS

    HACK X CRACK: NMAP - EL MEJOR ESCANEADOR DE INTERNET

    HAKXCRKHAKXCRKHAKXCRK

    N 9 -- P.V.P. 4,5 EUROS

    CHATEANDOMEDIANTETELNET

    PC PASO A PASO: APRENDE A PROGRAMAR CON NOSOTROS8 4 1 40 9 0 2 0 27 5 6

    90000

    Creando LibreriasAcceso a datos

    VISUAL BASIC

    GNUPermisos de archivo

    CAT y otros comandos

    PP

    AA

    SS

    OO

    PP A S O A S O

    Iniciacin al PORT SCANNINGTcnicas de scaneo

    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

    S e r i e R A W : I R CI N T E R N E T R E L A Y C H A T

    S i n o e n t i e n d e s n i u n a p a l a b r a d e e s t a p o r t a d a , h a s l l e g a d o aL A R E V I S T A D E I N F O R M T I C A Q U E E S T A B A S E S P E R A N D O ! ! !

    InstalacinInterfaz GrficaOpciones de Uso

    APACHE

    Modulos yServidores Virtuales

  • 8/14/2019 Haxcra9

    2/68

    EDITORIAL: EDITOTRANS S.L.

    C.I.F: B43675701

    Director EditorialI. SENTIS

    E-mail [email protected]

    Ttulo de la publicacinLos Cuadernos de HACK X CRACK.

    Nombre Comercial de la publicacnPC PASO A PASO

    Webwww.hackxcrack.com

    Deposito legal: B.26805-2002Cdigo EAN: 8414090202756Cdigo ISSN: En proceso

    Director de la PublicacinJ. [email protected] grfico:J. M. VelascoContacto diseador grfico

    [email protected], ROTEADO, FASTIC, MORDEA, FAUSTO,ENTROPIC, MEIDOR, HASHIMUIRA, BACKBONE,ZORTEMIUS, AK22, DORKAN, KMORK, MAILA,TITINA, SIMPSIM... ... ... ... ...Contacto [email protected] de 130 personas: de Espaa, de Brasil, deArgentina, de Francia, de Alemania de Japn yalgn Estadounidense.

    Contacto [email protected]. PRINTONE S.A. Tel 91 808 50 15DistribucinCoedis S.L. Avda. de Barcelona 225. Molins de Rei.Barcelona. Tel 93 680 03 60 FAX 93 668 82 59WEB: www.coedis.com (mapa de distribucin en laweb)

    Telfono de Atencin al Cliente: 977-224580Horario de Atencin: De 9:30 a 13:30

    (de Lunes a Viernes)** Este nmero de telfono se ha habilitadoprincipalmente para atender cualquier problemarelacionado con la peticin de nmeros atrasadosy/o suscripciones. En la Web (www.hackxcrack.com)tenemos el formulario para que puedas realizar tuspedidos, por favor utiliza la Web para realizar tupedido.

    Copyright Editotrans S.L.NUMERO 9 -- PRINTED IN SPAINPERIOCIDAD MENSUAL

    PP

    AA

    SS

    OO

    PP A S O A S Oaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

  • 8/14/2019 Haxcra9

    3/68

    PARA "LOS OTROS":

    1.- La intencin de la presente publicacin NO ES fomentar la piraterainformtica ni la delincuencia en la Red.2.- Cualquier texto publicado es VALIDADO por nuestra Asesora Jurdica,

    por lo que advertimos a cualquier persona, empresa u organizacin de lainutilidad de cualquier iniciativa jurdica en nuestra contra. Aun as, en casode cualquier iniciativa en contra de esta revista, deber ser debidamentepresentada y resuelta en la Razn Social que figura en nuestros documentosde constitucin.3.- Esta publicacin no se hace responsable del mal uso de los conocimientosque se exponen.4.- Esta publicacin NO FACILITAR los datos de nuestros colaboradoresni el origen de nuestros conocimientos salvo ORDEN JUDICIAL y, aun as,advertimos que algunos de esos colaboradores NO SON CONOCIDOS masque por sus NICKS (alias). Por ello, correr a cargo de los organismospertinentes su descubrimiento.5.- Esta publicacin NO SE HACE RESPONSABLE ni tienen por qu COMPARTIR

    las opiniones personales vertidas por sus colaboradores, por lo que NOSOMOS RESPONSABLES de las mismas.6.- Cualquier texto publicado estar bajo las protecciones de DERECHOSDE AUTOR y no se permite su copia, publicacin, modificacin o distribucinsin antes obtener el permiso de esta editorial. De este punto quedan exentosaquellos textos que han sido obtenidos de terceros y/o que estn sujetosa otras licencias (ya sean por parte de su autor o por terceros).7.- Si desean ponerse en contacto con nuestro departamento jurdico,rogamos enviar mail a [email protected]

    PARA NUESTROS LECTORES:

    Como podris ver, esta no es una revista mas, por primera vez tenis ante

    vosotros una publicacin LIBRE que os ofrecer la posibilidad de explorarla red tal y como debe explorarse ;)

    Esta publicacin responde a la pregunta mas veces expuesta en LA RED:Como puedo ser un hacker? Bien, ahora seguro que muchos ya se estn"sonriendo" y pensando lo ilusos que somos al intentar "eregirnos" en"portadores de LA LUZ", pensando que seremos una "escuela de lamers"y similares a otras publicaciones que, entre sus 100 pginas de revista solocontiene 5 de "material utilizable" (si es que puede llamarse as).

    Pues NO, lo siento, vosotros seris nuestros jueces y, llegado el caso,NUESTROS VERDUGOS.

    Nuestro objetivo es: ACABAR CON LA BASURA DE LA REDCABAR CON LA BASURA DE LA REDACABAR CON LA BASURA DE LA RED (lamers y dems"esencias") con el nico mtodo que conocemos: LA EDUCACINA EDUCACINLA EDUCACIN y con unnica bandera que ser por siempre nuestra firma: SOLO EL CONOCIMIENTOOLO EL CONOCIMIENTOSOLO EL CONOCIMIENTOTE HACE LIBREE HACE LIBRETE HACE LIBRE.Estos son nuestros pilares: LA EDUCACIN Y EL CONOCIMIENTOA EDUCACIN Y EL CONOCIMIENTOLA EDUCACIN Y EL CONOCIMIENTO. Para serun HACKER (maldita palabra mal entendida por unos y peor utilizada porotros) solo hace falta dos cosas: curiosidad y medios, a partir de ahora la

    curiosidad deberis ponerla VOSOTROS, porque los medios los facilitaremosNOSOTROS. En las siguientes lneas os descubrimos cmo podremosconseguir nuestros objetivos y definimos algunas de las palabras que mshan sido violadas y retorcidas en su significado.

    Hacker: Este trmino ha sufrido a lo largo de su corta historia una horribleconspiracin perpetrada por la ignorancia de los medios, eso quepersonalmente llamo "periodismo de telediario" (en clara alusin a losridculos artculos que no hacen mas que intoxicar nuestra percepcin delas cosas e insultar nuestra inteligencia). Ese tipo de periodismo unido a"otros poderes", desde los monopolios que deben justificar su incompetenciahasta los gobiernos que deben justificar sus intereses ocultos pasando porla industria del cine (normalmente demonolgica) y los medios informativos"de masas".

    Pues bien, HACKER no es mas que una persona que posee conocimientos

    avanzados sobre una materia en concreto, normalmente relacionados conla tecnologa aunque ni mucho menos limitado a ello. Ponen sus aptitudesal servicio de un nico objetivo: EL CONOCIMIENTO. Desean conocer elfuncionamiento de "las cosas" y no encuentran lmites en sus camino masque su propia curiosidad. No se dedican a destruir ni a causar estragosentre sus "victimas", no se dedican a robar ni a chantajear ni a regodearsede sus "conquistas", muy al contrario suelen advertir a terceros de lasdebilidades de sus sistemas y, desgraciadamente, esos "terceros" en lugarde agradecerles su aviso se dedican a denunciarlos o perseguirlos aunqueno siempre es as, por supuesto, muchas compaas y gobiernos hanaprendido lo valiosos que son los HACKERS y ahora algunos son colaboradores(o empleados) de estos. BILL GATES es un HACKER (el pap ventanas),como Linus Torvalds (el pap Linux) o Grace Hooper (la Almirante,

    creadora del Lenguaje COBOL), los autores del COREWARRobert ThomasMorris, Douglas McIlroy y Victor Vysottsky (precursores de loscreadores de virus informticos), Fred Cohen (el primer investigador yautor de los virus de la historia), Dennis Ritchie y Ken Thompson("hacedores" del Lenguaje C y co-creadores del SO UNIX), Gary Kildall(autor del sistema operativo CMP y CPM/86), Tim Paterson (autor delQuick & Dirty DOS), Morris (autor de "The tour of the Worm"), KevinMitnick (el ms buscado por el FBI), Phiber Optik (lder juvenil convertidoen smbolo de los hackers), Richard Stallman (impulsor del softwarelibre y GNU), Johan Helsingius (primer conductor de un RemailerAnnimo), Chen Ing-Hou (autor del virus CIH -Chernobyl- ), Sir Dyistic(creadorutor del Back Orifice), David L. Smith (virus Melissa), Reonel

    Ramonez (virus LoveLetter),Vladimir Levin (Rob electrnicamente

    10 millones de dlares al Citibank), y muchos mas. Cmo? Pero no hemosdicho que los hackers no comenten delitos? Pues NO, vuelve a leer sudefinicin pero claro, de todo hay en la via del seor, y al igual que haydelincuentes entre el clero hay hackers que en un momento u otro hancaido en la ilegalidad, nadie es perfecto!!!!! y Bill Gates es un HACKER?Por supuesto, solo tienes que leerte su biografa. Sorprendido? Esperoque no, porque eso no es nada mas que un cero a la izquierda en comparacincon lo que vas a encontrar en esta revista.

    DECLARADECLARACICION DE INTENCION DE INTENCIONESONES

    PC PASO A PASO N 9 Pgina 3

  • 8/14/2019 Haxcra9

    4/68

    Pgina 4 PC PASO A PASO N 9

    EDITORIAL:gracias a todos

    S i e r e s l e c t o r h a b i t u a l o m i e m b r o d e E LF O R O d e H a c k x C r a c k ( w w w . h a c k x c r a c k . c o m ) y a s a b e s q u ed e b i d o a c a u s a s m a y o r e s A Z I M U T m e h as u s t i t u i d o c o m o d i r e c t o r d u r a n t e l o sn m e r o s 7 y 8 .

    N o t e n g o p a l a b r a s p a r a a g r a d e c e r l e e lg r a n t r a b a j o q u e h a r e a l i z a d o s a c a n d oa d e l a n t e e s t a r e v i s t a . H a c e p o c o s d a s

    A Z I M U T m e p i d i q u e c u a n d o e s c r i b i e s e

    e s t a e d i t o r i a l n o l e m e n c i o n a s e a ls i n o ( e n s u s p a l a b r a s ) a l o s v e r d a d e r o sa r t f i c e s d e l m i l a g r o : l o sc o l a b o r a d o r e s . E s c i e r t o , d e b e m o sa g r a d e c e r l e q u e s i g a m o s e n l a

    p a l e s t r a a m u c h a s p e r s o n a s q u e h a nc o l a b o r a d o c o n H X C d e f o r m at o t a l m e n t e d e s i n t e r e s a d a , a l o sm i e m b r o s d e l f o r o q u e n o s a y u d a n c o ns u s c r t i c a s , a l o s m o d e r a d o r e s q u em a n t i e n e n u n l u g a r d o n d e h a b l a rl i b r e m e n t e , a l o s m a q u e t a d o r e s q u e h a n

    t r a b a j a d o n o c h e s e n t e r a s y c o n p r i s a s ,y n o h a c e f a l t a s e g u i r p o r q u e l a l i s t ae s m u y l a r g a y p o d r a d e j a r m e aa l g u i e n .

    G R A C I A S , G R A C I A S y G R A C I A S .

    E s p e r o q u e e s t e n m e r o 9 o s g u s t et a n t o c o m o l o s d o s a n t e r i o r e s y o sa n u n c i o q u e s e p r e p a r a n c a m b i o si m p o r t a n t e s q u e a y u d a r n a q u e e s t ar e v i s t a l l e g u e t a n l e j o s c o m o t o d o sd e s e a m o s : Y a s a b e s q u e e n E L F O R O

    a n u n c i a m o s l a s n o v e d a d e s , p s a t e d ev e z e n c u a n d o y l e e l a s e c c i n d eC O M U N I C A D O S .

    U n e n o r m e s a l u d o a t o d o s y o s d e j o c o nl a r e v i s t a .

    INDICEINDICE3 DECLARACION DE INTENCIONESDECLARACION DE INTENCIONES3 DECLARACION DE INTENCIONES4 EDITORIALEDITORIAL4 EDITORIAL5 CURSO DE LINUX(II ) SISTEMA DE ARCHIVOSCURSO DE LINUX(II ) SISTEMA DE ARCHIVOS5 CURSO DE LINUX(II ) SISTEMA DE ARCHIVOS13 GANADOR DEL CONCURSO SUSE LINUX3 GANADOR DEL CONCURSO SUSE LINUX13 GANADOR DEL CONCURSO SUSE LINUX14 SERVIDOR DE HXC. MODO DE EMPLEO4 SERVIDOR DE HXC. MODO DE EMPLEO14 SERVIDOR DE HXC. MODO DE EMPLEO15 APACHE: - CONFIGURACION.5 APACHE: - CONFIGURACION.15 APACHE: - CONFIGURACION.

    - COMPARTE ARCHIVOS MEDIANTE WEB- COMPARTE ARCHIVOS MEDIANTE WEB- COMPARTE ARCHIVOS MEDIANTE WEB25 COLABORA CON NOSOTROS5 COLABORA CON NOSOTROS25 COLABORA CON NOSOTROS26 CURSO DE VISUAL BASIC: - MI PRIMERA DLL.6 CURSO DE VISUAL BASIC: - MI PRIMERA DLL.26 CURSO DE VISUAL BASIC: - MI PRIMERA DLL.

    - ACCESO A DATOS- ACCESO A DATOS- ACCESO A DATOS36 SUSCRIPCIONES6 SUSCRIPCIONES36 SUSCRIPCIONES37 TECNICAS DE PORT SCANNING. USO DEL NMAP7 TECNICAS DE PORT SCANNING. USO DEL NMAP37 TECNICAS DE PORT SCANNING. USO DEL NMAP45545 PROTOCOLOS Y SU SEGURIDAD: IRCROTOCOLOS Y SU SEGURIDAD: IRCPROTOCOLOS Y SU SEGURIDAD: IRC65565 BAJATE LOS LOGOS DE PC PASO A PASO (HXC)AJATE LOS LOGOS DE PC PASO A PASO (HXC)BAJATE LOS LOGOS DE PC PASO A PASO (HXC)66 CONCURSO DE SUSE LINUX 8.26 CONCURSO DE SUSE LINUX 8.266 CONCURSO DE SUSE LINUX 8.267 NUMEROS ATRASADOS7 NUMEROS ATRASADOS67 NUMEROS ATRASADOS

  • 8/14/2019 Haxcra9

    5/68

    PC PASO A PASO N 9 Pgina 5

    1.- Introduccin

    Habiendo presentado en artculos anteriores elsistema GNU/LiNUX, vamos a ir profundizando pocoa poco en los aspectos que lo definen. En concretoen el presente artculo se tratar el Sistema deArchivos de este Sistema Operativo (S.O.). En elprximo artculo pasaremos a describir diversastareas administrativas como administracin deusuarios, dispositivos, etc...Aunque parece fuera de toda lgica, la razn deposponer estos temas a un tercer captulo es la

    siguiente: Tanto la administracin de usuarios, comola de servicios o la de dispositivos requiere de unconocimiento al menos bsico del Sistema de Archivosdado que en este recaern cosas tan importantescomo permisos, cuotas, etc....Centrndonos ya en el tema que hoy tratamos, nocabe duda de que tratar con archivos y directoriosas como comprender la estructura en la que estosse distribuyen en el disco es algo de importanciavital. No ya para comprender GNU/LiNUX sinocualquier S.O.Tal como dijimos en pasados artculos, GNU/LiNUXes un S.O. deudor de UNiX y como veremos a lo

    largo de este artculo, esto tambin se notar ensu Sistema de Archivos. Una vez ms, el objetivoes que lo que aprendamos en el siguiente artculono se limite a la distro XXXX... Es ms, si despusde una lectura atenta del artculo hemos aprendidoalgo, esto que hayamos aprendido ser aplicable acualquier sistema UNiX.

    2.- Archivos

    El concepto bsico de un archivo, con el que casitodos estamos probablemente familiarizados, definea "archivo" como un conjunto de datos

    independientes que reside en nuestro disco duro.Con "independientes" queremos decir que podemostener diversos archivos cuyos contenidos sondistintos. Esto har que sea necesaria la identificacinde cada uno de estos archivos de manera quepodamos identificar el contenido del mismo frentea los dems.En GNU/LiNUX identificaremos un archivo por sunombre y su ubicacin. En cada ubicacin o"directorio" slo podr existir un nico archivo con

    un determinado nombre. Esto quiere decir que sihemos guardado nuestros datos en un archivollamado ejemplo.txty luego queremos guardar msdatos en la misma ubicacin, tendremos queguardarlos en un archivo con un nombre distintocomo ejemplo2.txt.

    2.1.- Tipos de archivo

    Los archivos pueden contener diversos tipos deinformacin. Bsicamente podremos clasificar losarchivos conforme a su contenido de la siguiente

    manera:

    1.- Datos de usuario: Informacin que crea yactualiza un usuario. Puede ir desde un simplearchivo de texto, hasta archivos ms complicadosgenerados por aplicaciones de usuario tales comoaplicaciones CAD, procesadores de texto, etc....

    2.- Datos del sistema: Informacin, normalmenteen formato de texto plano, que contienen informacinsobre como est configurado nuestro sistema. Unejemplo de este tipo de archivos ser el archivo/etc/passwdque contiene informacin relevante sobre

    las cuentas de usuario. Obviamente este tipo dearchivos es manejado habitualmente por eladministrador del sistema, estando vedado su usoal resto de los usuarios.

    3.- Archivos ejecutables: Estos archivos contieneninstrucciones que el ordenador puede comprendere interpretar. Son los llamados programas oejecutables.

    4.- Archivos de dispositivo: Como se dijo en elartculo anterior, una caracterstica que determinael comportamiento de los sistemas UNiX-like, es que

    incluso el acceso al hardware de nuestro ordenadorse puede realizar mediante acceso a archivos. Estosarchivos un tanto particulares requerirn de unanlisis en mayor profundidad que ser abordadoen breve.

    2.2.- Nombres de archivo

    En GNU/LiNUX podemos utilizar nombres de archivode hasta 256 caracteres. Estos caracteres puedenser tanto letras maysculas como letras minsculas,

    gnu linux (II)El Sistema de Archivos

  • 8/14/2019 Haxcra9

    6/68

    Pgina 6 PC PASO A PASO N 9

    nmeros y otros caracteres especiales como el guin(-), el subrayado (_) o el punto (.).En este punto conviene llamar la atencin sobre unaspecto particular de los sistemas UNiX-like: Los

    nombres de archivos/directorios son case-sensitive;es decir, nombres de archivo que son iguales enapariencia pero difieren en las maysculas y lasminsculas sern realmente dos nombres de archivodistintos. As por ejemplo los siguientes nombres dearchivos pueden coexistir en una misma ubicacindado que son archivos distintos: ejemplo.txt,ejemplo.TXT, Ejemplo.txt , EJEMPLO.TXT,

    EjEmPlO.txt, 3j3mp10_h4ch0r_d3_3s0s.txt....

    Quitando el ltimo ejemplo que es una dedicacinpersonal a las reinonas del glam que pululan pordoquier, creo que queda bien reflejado el sentidodel prrafo anterior.

    Existirn as mismo una serie de meta caracteresque no podrn formar parte del nombre de unarchivo. Es el caso de los asteriscos (*), signo deinterrogacin (?), barra invertida (\), etc... Debidoa que tendrn un significado concreto para lashell.Cuando se aborde en profundidad la shell y susintrngulis veremos ms de estos meta caracteres.

    3.- Directorios

    GNU/LiNUX, al igual que muchos SS.OO. organizanlos archivos en directorios. Podemos pensar en losdirectorios como en carpetas que contienen archivos

    o a su vez ms carpetas.

    3 . 1 . - D i r e c t o r i o s P a d r e ySubdirectorios

    Imaginemos la siguiente situacin: Un directorio Aque contiene un directorio B. Llamaremos a Bsubdirectorio del directorio A, y el directorio A serel directorio padre del directorio B.Esto que a algunos les parecer una perogrullada(sobre todo a los que, como servidor, peinan canas)he decidido ponerlo, no ya para rellenar espaciocomo barruntan las mentes malpensantes, sino como

    una necesidad perentoria. Lo qu? Pues eso; comotengo la fortuna de dedicarme a esto de la enseanzade rerum calculum machinae, puedo asegurar quede los nacidos en el 85 en adelante casi nadie hautilizado en su vida algo similar a una lnea decomandos y que incluso pasar del concepto de"carpeta" al de directorio a menudo trae problemas.

    3.2.- El directorio raz: La madre(padre?) de todos los directorios

    En GNU/LiNUX el directorio que contiene todos losdems directorios es llamado "directorio raz".Cualquier otro directorio ser subdirectorio de este. A partir de este directorio raz, tras poner un

    subdirectorio tras otro, formamos una estructuraarborescente denominada "rbol de directorios (verfig 1 al final de este artculo)

    3.3.- Nombres de director ioLos directorios se nombran de la misma manera quelos archivos; es decir siguiendo la misma regla decaracteres que se pueden utilizar y los que no yobservando el case-sensitive.El carcter barra inclinada (/) es utilizado parareferirnos a directorios o archivos que estn dentrod e u n d i r e c t o r i o . P o r e j e m p l o ,artculoshxc/artculo2.abw, nos dice que el archivoartculo2.abw se encuentra dentro del directorioartculoshxc. As mismo con el siguiente ejemploartculoshxc/grafs nos estamos refiriendo a unsubdirectorio, grafs que se encuentra bajo el directorioartculoshxc.Ntese que a priori es difcil distinguir cuando nosestamos refiriendo a un archivo o a un directorio.Ms adelante veremos que mediante los comandosadecuados y parmetros no menos adecuadospodremos distinguir fcilmente cuando listamosarchivos o directorios. Por ahora puede ser unejercicio interesante observar las distintas salidasque provocan las siguientes invocaciones de comando:

    00 $ ls

    01 $ ls -F

    02 $ ls --color

    03 $ ls --color -F

    En cuanto a la salida es probable que muchos noobservis diferencias. Esto es debido a que sobretodo las dos ltimas opciones (02 y 03) vienen yaactivadas "de serie". Por supuesto nosotrosaprenderemos a "activar opciones de serie" cuandonos enfrentemos al artculo "La shell y t: una historia

    de lujuria".El directorio raz ser siempre mostrado con uncarcter / en vez de referirnos a l con un nombre.No debe causarnos confusin el distinguir cuandoel carcter / se utiliza para separar nombres dedirectorios o cuando se utiliza para referirse aldirectorio raz. En este ltimo caso jams ir precedidode un nombre. As al escribir /usr/bin nos estamosrefiriendo al directorio bin que cuelga del directoriousr que a su vez cuelga del directorio / (raz).

    GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS

  • 8/14/2019 Haxcra9

    7/68

    PC PASO A PASO N 9 Pgina 7

    3.4- El directorio Home

    GNU/LiNUX proporciona a cada usuario su propiodirectorio. Este es el llamado "directorio home" o

    "directorio casa". Dentro de este directorio cadausuario puede guardar sus propios archivos y crearsus propios subdirectorios.Dependiendo del sistema GNU/LiNUX que se utilice,los dems usuarios podrn acceder o no a losarchivos de un usuarios determinado.La localizacin del directorio home puede sercambiada por el administrador, pero habitualmenteeste tipo de directorios se encuentran bajo eldirectorio /home.

    4.- Navegando por el Sistema deArchivos de GNU/LiNUX

    Navegar por el sistema de archivos GNU/LiNUX esuna tarea harto sencilla: tan slo tendremos queaprender dos comandos y uno de ellos ni siquieraposee parmetros.

    4.1.- El comando pwd: Dnde estoy?

    Tecleemos el comando pwd. Observaremos algocomo:

    00 luis@el_chaman ~ $ pwd

    01 /home/luis

    02 luis@el_chaman ~ $

    Esto quiere decir que nos encontramos en el directorio/home/luis. Este directorio (en el que nosencontremos en cada momento) ser conocido comodirectorio de trabajo o directorio actual. Este es eldirectorio home para el usuario luis. Por defecto,cuando entramos en nuestro sistema, GNU/LiNUXnos deposita en nuestro directorio home .

    El trminopwdcorresponde al acrnimoprint workingdirectory. Esto nos muestra otra costumbre bastantecomn en los entornos UNiX-like: la abreviacin de

    comandos de manera que sean fciles de teclear.

    Una vez que estamos situados en un directorio,querremos saber que contiene. Para ello, se utilizael comando ls.

    00 luis@el_chaman ~ $ ls

    01 artculoshxc cosa multimedia public_html

    02 luis@el_chaman ~ $

    El comando ls (list) nos lista el contenido del directorio

    de trabajo. Para ver las numerosas opciones quesoporta este comando podemos teclear ls --help |more (quin no se estudi el captulo defontanera....? ;o) )

    4.2.- Nombres de archivo absolutosy relativos

    Cuando especificamos el nombre de un archivo,GNU/LiNUX lo busca en el directorio de trabajo. Siel archivo no se encuentra en el directorio de trabajose nos mostrar un mensaje de error:

    00 luis@el_chaman ~ $ ls cosa

    01 cosa

    02 luis@el_chaman ~ $ ls cosa2

    03 ls: cosa: No existe el archivo o directorio

    En algunas ocasiones nos interesar referirnos a unarchivo que no se encuentre en el directorio detrabajo. Entonces nos tendremos que referir alarchivo diciendo el directorio donde se encuentray el propio nombre del archivo.

    00 luis@el_chaman ~ $ ls artculoshxc/artculo2.abw

    01 artculo2.abw

    02 luis@el_chaman ~ $

    En el ejemplo vemos como si queremos listar elarchivo artculo2.abwque se encuentra dentro delsubdirectorio artculoshxc debemos de especificarel nombre del subdirectorio y el nombre del archivo.A esta manera de hacer las cosas se le denominanombre de archivo relativo dado que la ruta (path)hacia el archivo que buscamos es relativa a nuestrodirectorio de trabajo; es decir, a donde nosencontramos en un determinado momento. Sicambisemos de directorio de trabajo, este manerade referirnos al archivo artculo2.abw ya no nosservira.

    Adems, puede parecer que esto nos permite realizarllamadas relativas sobre subdirectorios (es decir,directorios que se encuentran por debajo de dondenos encontramos nosotros). Esto no es del todocierto dado que existen dos directorios especialesque nos permitirn hacer cosas curiosas: . (directoriode trabajo) y .. (directorio padre del directorio detrabajo). As por ejemplo todas las siguientes llamadasson nombres de archivos relativos al directorio detrabajo actual:

    00 luis@el_chaman ~ $ ls ./artculoshxc/artculo2.abw

    GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS

  • 8/14/2019 Haxcra9

    8/68

    Pgina 8 PC PASO A PASO N 9

    01 artculo2.abw

    02 luis@el_chaman ~ $ ls ../tuxed/visio.iso

    03 visio.iso

    En el segundo comando .. significa que subimos unnivel, nos metemos dentro del directorio home delusuario tuxed y listamos el archivo visio.iso. Porcierto, este archivo nada tiene que ver con ciertaaplicacin comercial de la que no se puede realizarcopias sin el consentimiento expreso de MicroSoft.

    La otra manera de referirnos a estos archivos seramediante el uso de la ruta que va desde el directorioraz hasta donde se encuentra el archivo quequeremos sin tener en cuenta para nada el directoriode trabajo. A esta manera de hacer las cosas se ledenomina nombre de archivo absoluto. El ejemplo

    arriba mostrado quedara de la siguiente manera:

    0 0 l u i s @ e l _ c h a m a n ~ $ l s

    /home/luis/artculoshxc/artculo2.abw

    01 artculo2.abw

    02 luis@el_chaman ~ $ ls /home/tuxed/visio.iso

    03 visio.iso

    4.3.- Nos vamos a hacer turismo porel disco duro: El comando cd

    El comando cd (change directory) nos permitircambiar de directorio de trabajo. Es decir, nosmoveremos a otro directorio. La sintaxis de estecomando es la siguiente:

    00 cd

    El espacio entre cd y esobligatorio. El directorio de destino puede ser elnombre absoluto o relativo de un directorio. Veamosalgunos ejemplos:

    00 luis@el_chaman $ cd /home/luis //Camino absoluto

    01 luis@el_chaman $ pwd

    02 /home/luis

    03 luis@el_chaman $ cd .. //Camino relativo

    04 luis@el_chaman $ pwd

    05 /home

    06 luis@el_chaman $ cd luis/artculoshxc//Camino relativo

    07 luis@el_chaman $ pwd

    08 /home/artculoshxc/

    09 luis@el_chaman $ cd /usr/doc //Camino absoluto

    10 luis@el_chaman $ pwd

    11 /usr/doc

    12 luis@el_chaman $ cd / //Camino absoluto

    13 luis@el_chaman $ pwd

    14 /

    El directorio raz no posee padre, as que si ahora

    teclesemos cd .. (obsrvese el espacio obligatorioentre cdy los dos puntos) seguiramos estando enel directorio raz.

    Si tecleamos simplemente cdsin pasarle argumentos,automticamente nos lleva a nuestro directorio home:

    00 luis@el_chaman $ pwd

    01 /usr/doc

    02 luis@el_chaman $ cd

    03 luis@el_chaman $ pwd

    04 /home/luis

    Es bastante comn en las ltimas distribuciones queel propioprompt(el texto que aparece a la derecha)nos diga en todo momento en que directorio nosencontramos. Recordad que no todos los GNU/LiNUXy mucho menos todos los UNiX estn configuradosde esta manera. Adems, siempre es bueno conocerlo que funcionar en todos los sitios. Comoanecdotario particular, la salida real en mi sistemade los ejemplos anteriores tiene ms bien el siguienteaspecto:

    00 luis@el_chaman ~ $ cd /home/luis

    01 luis@el_chaman ~ $ pwd

    02 /home/luis03 luis@el_chaman ~ $ cd ..

    04 luis@el_chaman /home $ pwd

    05 /home

    06 luis@el_chaman /home $ cd luis/artculoshxc

    07 luis@el_chaman ~/art culoshxc $ pwd

    08 /home/artculoshxc/

    09 luis@el_chaman ~/artculoshxc $ cd /usr/doc

    10 luis@el_chaman /usr/doc $ pwd

    11 /usr/doc

    12 luis@el_chaman /usr/doc $ cd /

    13 luis@el_chaman / $ pwd

    14 /

    15 luis@el_chaman / $ cd16 luis@el_chaman ~$ pwd

    17 /home/luis

    Obsrvese que por abreviar el directorio home seescribe con el smbolo ~

    5.- Creando y borrando archivos

    GNU/LiNUX dispone de diversas maneras de crear

    GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS

  • 8/14/2019 Haxcra9

    9/68

    PC PASO A PASO N 9 Pgina 9

    y eliminar archivos. De hecho, algunas de estasmaneras son tan simples de realizar que muchasveces tenemos que tener cuidado de no borrar osobrescr ib i r acc identa lmente arch ivos .

    Inicialmente vamos a crear un archivo utilizando lasredirecciones de entrada/salida. Las redireccionesfuncionan de la siguiente manera: Una redireccinde salida (>) desva el flujo de informacin generadopor un programa y que se destina a la salida estndarhacia otra ubicacin, normalmente un archivo. Unaredireccin de entrada ( ejecutables_en_bin.txt

    02 luis@el_chaman ~ $ ls ejecutables_en_bin.txt

    03 ejecutables_en_bin.txt

    04 luis@el_chaman ~ $

    Tras teclear lo arriba mostrado, habremos generadoun archivo de texto que contiene un listado de losarchivos contenidos en el directorio /bin. Para quenos hagamos una idea de lo que contendr ese

    archivo, basta con que volvamos a ejecutar elcomando pero sin redireccionar ahora la salida:

    00 luis@el_chaman ~ $ cd

    01 luis@el_chaman ~ $ ls -l /bin

    Ahora bien; cmo podemos ver el contenido delarchivo?. De nuevo existirn varias maneras; listoalgunas pero nos quedaremos con la ltima por serla ms potente:

    00 luis@el_chaman ~ $ more ejecutables_en_bin.txt

    01 luis@el_chaman ~ $ less ejecutables_en_bin.txt

    03 luis@el_chaman ~ $ cat ejecutables_en_bin.txt

    5.1.- cat: Sobre gatos y otros bichos

    El comando cates uno de los ms simples, tiles yverstiles comandos de los que disponemos enGNU/LiNUX. Para que os hagis una idea: Cmocreo una imagen ISO de un CDROM? Nero? Algosimilar? Agrrense vuesas mercedes los machos ydispongan a asombrarse:

    00 luis@el_chaman ~ $ cat /dev/cdrom > imagenCD.iso

    Pero antes de meternos en tamaos berenjenales,vamos a hablar un poco sobre este gatito. El comando

    cat funciona de la siguiente manera: toma comoentrada el primer parmetro que le pasemos y nosmuestra su contenido.Por defecto, si se invoca sin ningn parmetro, setoma como entrada la entrada estndar (es decir,el teclado). Veamos un ejemplo:

    00 luis@el_chaman ~ $ cat

    01 Hola, esto es una prueba. Ahora doy a ENTER

    02 Hola, esto es una prueba. Ahora doy a ENTER

    03 y sigo en la siguiente lnea.

    04 y sigo en la siguiente lnea.

    05 Cmo salgo de aqu por Dios?

    06 Cmo salgo de aqu por Dios?

    07

    08 EOF

    Parece que nos hemos atascado, compaerospadawanes. Cada vez que le damos a ENTER el gatitoeste se empea en repetir lo que hemos escrito.Muy bien. Para salir de esta pesadilla lo que tenemosque hacer es presionar la combinacin Ctrl-D (Control + D) si estamos al principio de una lnea oCtrl-D, Ctrl-D (dos veces) si estamos al final. Estoinsertar el carcter fin de archivo (EOF, end of file)con lo que habremos terminado.

    Bueno, hemos visto que todo lo que escribamos semandaba a la salida estndar. Qu ocurrira siredireccionamos las salida estndar a un fichero?:

    00 luis@el_chaman ~ $ cat > nuevo_fichero.txt

    01 Hola, esto es una prueba. Ahora doy a ENTER

    02 y sigo en la siguiente lnea.

    03 Cmo salgo de aqu por Dios?

    04

    Bueno, parece que el gato este ahora no es tanrespondn. Pulsamos de nuevo Ctrl-D y veremos

    que volvemos al prompt del sistema.

    00 luis@el_chaman ~ $

    01 luis@el_chaman ~ $ cat nuevo_fichero.txt

    02 Hola, esto es una prueba. Ahora doy a ENTER

    03 y sigo en la siguiente lnea.

    04 Cmo salgo de aqu por Dios?

    05 luis@el_chaman ~ $

    Bueno, lo que hemos hecho es utilizar ahora cat

    GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS

  • 8/14/2019 Haxcra9

    10/68

    Pgina 10 PC PASO A PASO N 9

    como visualizador. Simplemente hemos tecleado catnuevo_fichero.txty el gatito nos muestra el contenidode dicho fichero. Si quisiramos aadir ms textoteclearamos:

    00 luis@el_chaman ~ $ cat >> nuevo_fichero.txt

    01 Este es texto aadido

    02

    03 luis@el_chaman ~ $ cat nuevo_fichero.txt

    04 Hola, esto es una prueba. Ahora doy a ENTER

    05 y sigo en la siguiente lnea.

    06 Cmo salgo de aqu por Dios?

    07 Este es texto aadido.

    08 luis@el_chaman ~ $

    Es decir, un nico comando de sistema nos puedeservir de editor de supervivencia. Eso s, su uso

    requiere de mucho cuidado. Fijmonos en la lnea00. La redireccin ha sido sustituida por unos >>.Esto quiere que la redireccin se comporta comoantes pero que aade texto al texto existente. Sislo pusiramos un nico > sustituira el antiguotexto por el nuevo (se recomienda experimentarcon esto).

    Bueno, y podramos decir que ya hemos terminadocon el gatito. Bueno, alguien se preguntar elporqu de que me haya estado refiriendoconstantemente a este comando como el gatito. Larazn es que cat en ingls significa gato. Vale, la

    tontera del nmero nueve. Pero por qu demoniosllaman a un comando gato? Por qu no perro,asno,....? Bueno la razn de ello es que cat NOsignifica gato. El significado de este comando es denuevo una abreviatura que corresponde a la palabrainglesa concatenate, concatenar. Y esto es porqueeste comando se construy para concatenar (unir)archivos. Veamos a cat en accin en el terreno quemejor domina: la concatenacin:

    00 luis@el_chaman ~ $ cat > otro_fichero1.txt

    01 Este es un texto modosito que hacemos para

    probar una cosa. Versin uno

    02 03 luis@el_chaman ~ $ cat > otro_fichero2.txt

    04 Este es un texto modosito que hacemos para

    probar una cosa. Versin dos.

    05

    06 luis@el_chaman ~ $ cat otro_fichero1.txt

    otro_fichero2.txt > otro_fichero3.txt

    07 luis@el_chaman ~ $ cat otro_fichero1.txt

    08 Este es un texto modosito que hacemos para

    probar una cosa. Versin uno

    09 Este es un texto modosito que hacemos para

    probar una cosa. Versin dos.

    10 luis@el_chaman ~ $

    Como vemos cat se ha encargado en la lnea 06 losarchivos otro_fichero1.txt y otro_fichero2.txtmandandoel contenido al f ichero otro_fichero3.txt .

    5.2.- Creando directorios

    Para crear un nuevo directorio tendremos que usarel comando mkdir. La sintaxis de este comando esmkdir donde es el nombre quequeremos dar al directorio:

    00 luis@el_chaman ~ $ ls

    01 artculoshxc cosa multimedia

    nuevo_fichero.txt otro_fichero1.txt

    02 otro_fichero2.txt otro_fichero3.txt

    public_html

    03 luis@el_chaman ~ $ mkdir ejercicios_hxc

    04 luis@el_chaman ~ $ ls

    05 artculoshxc cosa ejercicios_hxc

    multimedia nuevo_fichero.txt otro_fichero1.txt

    06 otro_fichero2.txt otro_fichero3.txt public_html

    5.3.- Moviendo y copiando archivos,mareando la perdiz

    A menudo necesitaremos mover o copiar archivos.Cabe destacar que el trmino mover en informticase refiere a realizar una copia de un elementoborrando el original. Copiar, por el contrario, serefiere a hacer una copia conservando el elementooriginal.

    Los comandos que tenemos para mover y copiarson respectivamente:

    mv

    cp

    Vamos a ver algunos ejemplos de uso:

    01 luis@el_chaman ~ $ ls

    02 artculoshxc cosa ejercicios_hxc

    multimedia nuevo_fichero.txt otro_fichero1.txt

    03 otro_fichero2.txt otro_fichero3.txt

    public_html

    04 luis@el_chaman ~ $ mv ejercicios_hxc ejercicioshxc

    05 luis@el_chaman ~ $ ls

    06 atculoshxc cosa ejercicioshxc

    multimedia nuevo_fichero.txt otro_fichero1.txt

    GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS

  • 8/14/2019 Haxcra9

    11/68

    PC PASO A PASO N 9 Pgina 11

    07 otro_fichero2.txt otro_fichero3.txt

    public_html

    08 luis@el_chaman ~ $ cp nuevo_fichero.txt

    nuevo_fichero.bck

    09 luis@el_chaman ~ $ ls10 artculoshxc cosa ejercicioshxc

    multimedia nuevo_fichero.txt nuevo_fichero.bck

    11 otro_fichero1.txt otro_fichero2.txt

    otro_fichero3.txt public_html

    En la lnea 04 lo que hacemos es mover el directorioque creamos anteriormente; equivale a renombrarlo.En la lnea 08 realizamos una copia denuevo_fichero.txta nuevo_fichero.bck.

    El uso comn de estos comandos suele ser utilizarlos

    junto con comodines. Los comodines son una seriede caracteres especiales que sustituyen partes delnombre de un archivo (*) o letras del mismo (?).As los siguientes comandos:

    01 luis@el_chaman ~ $ cp * /tmp

    02 Omitiendo artculoshxc: Es un directorio

    03 Omitiendo cosa: Es un directorio

    04 Omitiendo ejercicioshxc: Es un directorio

    05 Omitiendo multimedia: Es un directorio

    06 Omitiendo public_html: Es un directorio

    07 luis@el_chaman ~ $ mv *.txt ejercicioshxc

    08 luis@el_chaman ~ $ cp *.bc? ejercicioshxc

    En la lnea 01, copiamos TODOS los archivos (nodirectorios) que hay en el directorio de trabajo aldirectorio /tmp. En la lnea 07 movemos todos losarchivos que terminen en.txtal directorio ejercicioshxcy en la lnea 08 copiamos todos los archivos queterminen en .bc? siendo ? cualquier carcter (porejemplo nuevo_fichero.bck o mikasa.bcx).

    Podemos as mismo mover directorios a otraubicacin o copiar estructuras enteras de directorios:

    01 luis@el_chaman ~ $ mv cosa ejercicioshxc

    02 luis@el_chaman ~ $ ls

    03 artculoshxc ejercicioshxc multimedia

    nuevo_fichero.bck public_html

    04 luis@el_chaman ~ $ ls ejercicioshxc

    05 cosa nuevo_fichero.bck nuevo_fichero.txt

    otro_fichero1.txt otro_fichero2.txt otro_fichero3.txt

    06 luis@el_chaman ~ $ cp multimedia ejercicioshxc -

    R

    07 luis@el_chaman ~ $ ls

    08 artculoshxc ejercicioshxc

    multimedia nuevo_fichero.bck public_html

    09 luis@el_chaman ~ $ ls ejercicioshxc

    10 cosa multimedia nuevo_fichero.bck

    nuevo_fichero.txt otro_fichero1.txt otro_fichero2.txt

    otro_fichero3.txt11 luis@el_chaman ~ $

    En la lnea 01 movemos el directorio cosa (y todo loque contenga) al directorio ejercicioshxc, quedandodentro de este. En 06 sin embargo hacemos unacopia de multimedia y todo lo que contengarecursivamente y la situamos dentro de ejercicioshxc.Obsrvese el parmetro -R (de recursive, recursivo)que es el que indica que se debe de copiar eldirectorio y todo sus contenidos (incluyendo posiblessubdirectorios). Podemos consultar ms parmetrosde mv o cp tecleando man mv o man cp

    5.4.- Borrando archivos y directorios:Jugamos con fuego.

    Antes de nada asegurmonos que no estamos comousuario root(administrador) dado que si metemosla pata y borramos algo que no debemos la cosatendr difcil solucin. Sin embargo si un usuarionormal intentase borrar archivos delicados para elsistema, ste no le dejara. En prximos apartadosveremos la razn de esto.

    El comando por antonomasia para el borrado es rm(de remove, eliminar) cuya sintaxis es: rm donde nombre es el nombre de archivo a borrar. Aligual que cp y mv admite comodines lo cual puederesultar peligroso. Veamos algunos ejemplos:

    01 luis@el_chaman ~ $ cd ejercicioshxc

    02 luis@el_chaman ~/ejercicioshxc $ ls

    03 cosa multimedia nuevo_fichero.txt

    nuevo_fichero.txt otro_fichero1.txt otro_fichero2.txt

    otro_fichero3.txt

    04 luis@el_chaman ~/e jerc ic ioshxc $ rm

    nuevo_fichero.txt

    05 luis@el_chaman ~/ejercicioshxc $ ls

    06 cosa multimedia nuevo_fichero.bck

    otro_fichero1.txt otro_fichero2.txt otro_fichero3.txt

    07 luis@el_chaman ~/ejercicioshxc $ rm otro_*

    08 luis@el_chaman ~/ejercicioshxc $ ls

    09 cosa multimedia nuevo_fichero.bck

    10 luis@el_chaman ~/ejercicioshxc $

    Una manera segura de utilizar siempre el comandorm es aadirle el parmetro -i. Esto har que cadavez que queramos borrar un determinado archivo

    GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS

  • 8/14/2019 Haxcra9

    12/68

    Pgina 12 PC PASO A PASO N 9

    nos pregunte si realmente queremos hacerlo o no:

    01 luis@el_chaman ~/ejercicioshxc $ ls

    02 cosa multimedia nuevo_fichero.bck

    03 luis@el_chaman ~/ejercicioshxc $ rm -inuevo_fichero.bck

    04 rm: borrar "nuevo_fichero.bck"? (s/n) n

    05 luis@el_chaman ~/ejercicioshxc $

    Esta opcin viene en muchos sistemas activada pordefecto para el usuario root.Para eliminar directorios emplearemos el comandormdircuya sintaxis es rmdir .Antes de poder eliminar un directorio nos debemosde asegurar de que este est vaco:

    01 luis@el_chaman ~/ejercicioshxc $ rmdir cosa

    02 rmdir : cosa: El di rector io no est vaco03 luis@el_chaman ~/ejercicioshxc $ rm cosa/*

    04 luis@el_chaman ~/ejercicioshxc $ rmdir cosa

    En ocasiones esta manera de borrar un directoriopuede resultar extremadamente tediosa, sobre todosi el directorio a borrar contiene mltiples nivelesde subdirectorios. Para poderlo hacer con un nicocomando emplearemos las opciones -r (recursive)y -f (force) del comando rm:

    01 luis@el_chaman ~/ejercicioshxc $ rm -rf cosa

    Mucho cuidado con este comando. Imaginaos queocurre si como root ejecutamos

    rm -rf /. No ejecutar6.- Permisos y propietarios de losficheros

    Todos y cada uno de los archivos y directorios deun sistema GNU/LiNUX poseen permisos. Podremoscambiar los permisos y en ocasiones los propietariosde nuestros archivos con el fin de proporcionarmayor o menor grado de acceso a los mismos. Los

    permisos tambin determinan si los archivos puedenejecutarse como un comando o no.

    Si tecleamos ls -l, veremos una salida similar a esta:

    01 luis@el_chaman ~/ejercicioshxc $ ls -l

    02 drw-r--r-- 1 luis usr 4,0K 2003-04-15

    23:00 multimedia

    La cadena drw-r--r-- representa los permisos del

    directorio (podra ser perfectamente un archivonormal) multimedia. El primer luis significa elpropietario del archivo/directorio y el segundo usrrepresenta al grupo de usuarios al que pertenece el

    archivo/directorio.

    6.1.- Cambiando propietarios.

    Imaginemos la siguiente situacin: deseamos queun archivo del ordenador pase a pertenecer a otrapersona:

    01 luis@el_chaman ~/e jerc ic ioshxc $ cd

    /usr/share/pixmaps

    02 luis@el_chaman /usr/share/pixmaps $ ls -l

    03 -rw-r--r-- 1 pepe raros 4,0K 2003-04-15 23:00

    logo.png

    En el directorio/usr/share/pixmaps tenemos un archivollamado logo.pngque pertenece al usuariopepe y algrupo raros. Queremos cambiar el propietario a luisy el grupo a users. Lo tendremos que hacer comoroot:

    01 luis@el_chaman ~/ejercicioshxc $ su --

    02 Password:

    03 root@el_chaman/usr/share/pixmaps $ chown

    luis.users logo.png

    04 root@el_chaman /usr/share/pixmaps $ ls -l

    05 -rw-r--r-- 1 luis users 4,0K 2003-04-15 23:00

    logo.png

    En el ejemplo se cambia a la vez el grupo y eldirectorio. Sera posible cambiar por separado elusuario y el grupo. Ejemplos que hacen esto seran:chown luis logo.png,

    chown .users logo.png.

    6.2.- Permisos.

    Observemos un momento la siguiente tabla. En ellase nos muestra la notacin binaria denominada octaldebido a que puede mostrar ocho valores distintos.

    Ahora analicemos un momento la salida que nos diola ejecucin del comando ls -l anteriormenteejecutado:

    05 -rw-r--r-- 1 luis users...........

    Agrupemos ahora esa cadena de erres, guiones yuves doble en grupos de tres comenzando por la

    GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS

  • 8/14/2019 Haxcra9

    13/68

    PC PASO A PASO N 9 Pgina 13

    izquierda. Obtendremos algo parecido a:rwx

    rw- permisos para el propietario al que perteneceel archivo

    r-- permisos para el grupo al que pertenece elarchivor-- permisos para el resto de los usuarios

    r: permiso de lecturaw: permiso de escriturax: permiso de ejecucin-: sin permiso

    Teniendo esta informacin en mente, veamos quesucede cuando cambiamos los permisos de unarchivo:

    01 root@el_chaman /usr/share/pixmaps $ ls -l02 -rw-r--r-- 1 luis users 4,0K 2003-04-15 23:00

    logo.png

    03 root@el_chaman /usr/share/pixmaps $ exit

    04 luis@el_chaman /usr/share/pixmaps $ chmod 755

    logo.png

    05 luis@el_chaman /usr/share/pixmaps $ ls -l

    06 -rwxr-xr-x 1 luis users 4,0K 2003-04-15 23:00

    logo.png

    Vemos como han cambiado los permisos del archivo,ahora bien, cmo lo hemos hecho? Qu significaese extrao nmero que he puesto? Fijmonos ahora

    en la tabla adjunta. Concretamente en los nmerosbinarios. Imaginemos que los 1s activan permisosi los 0s los cancelan. Como tenemos que asignar acada grupo de permisos (propietario, grupo y restode usuarios) un valor para lectura, escritura yejecucin, lo haremos aplicando a los tres posiblespermisos una mscara. As tendremos:

    mscara

    Inicial Dec Bin Resultado

    Propietario rwx 7 111 rwx

    Grupo rwx 5 101 r-x

    Resto rwx 5 101 r-x

    Observamos que al escribir chmod 755 archivo, loque hacemos es pasar una mscara binaria a losposibles permisos activndolos o desactivndolospara el archivo. Slo podremos cambiar los permisosde un archivo si poseemos permiso de escriturasobre l.

    Los permisos pueden ser modificados tanto enarchivos como en directorios teniendo en cuentaque el concepto de "permiso de ejecucin" posee

    un significado muy distinto para un directorio. Osinvito a que investiguis qu sucede si damos permisode ejecucin o no a un directorio. Utilizad dosusuarios distintos que pertenezcan a distintos grupos.

    Ya me contaris vuestras experiencias ;o)

    7.- Conclusiones

    Una vez ms nos quedamos cortos de espacio ymuchas cosas en el tintero. An as espero habersintetizado lo ms importante de los sistemas dearchivos bajo entornos UNX.

    Quede como comentario final que debido al espaciono se ha podido comentar en profundidad la finalidadde cada uno de los directorios. Afortunadamenteesta es una informacin bastante sencilla de

    encontrar: http://www.pathname.com/fhs/2.2/ En estapgina se nos muestra el Filesystem HierarchyStandard ( Jerarqua Estndar del Sistema deArchivos) o dicho de otra manera: Qu va en cadadirectorio, cuntos directorios puedo encontrarmeen un sistema UNiX , qu puedo esperar encontrarmeen cada uno de ellos, etc.....

    Una vez leis esa pgina comprenderis el porqude la omisin de tan interesante apartado (y vitalpara el tema que tratamos).

    Saludos.

    (Fig 1)

    EL GANADOR DEL

    SORTEO DE UNSUSE

    LINUX 8.2 DEL MES DE

    FEBRERO ES:

    OSCAR PONS MARTI

    MENORCASEGUIR LLAMANDO, EL PROXIMO

    PODRIA SER PARA TI (PAG 66)

    GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS

  • 8/14/2019 Haxcra9

    14/68

    Pgina 14 PC PASO A PASO N 9

    MUY IMPORTANTE!!!!! Por favor, no borres archivos

    del Servidor si no sabes exactamente lo que ests haciendo ni

    borres las carpetas de los dems usuarios. Si haces eso, lo nico

    que consigues es que tengamos que reparar el sistema servidor

    y, mientras tanto, ni tu ni nadie puede disfrutar de l :(

    Es una tontera intentar romper el Servidor, lo hemos puesto

    para que disfrute todo el mundo sin correr riesgos, para que todo

    el mundo pueda crearse su carpeta y practicar nuestros ejercicios.

    En el Servidor no hay ni Warez, ni Programas, ni claves, ni nada

    de nada que robar, es un servidor limpio para TI, por lo tanto

    cudalo un poquito y montaremos muchos ms :)

    MUY IMPORTANTE...!

    SERVIDOR DE HXCSERVIDOR DE HXC

    MMODO DE EMPLEOODO DE EMPLEO

    - Hack x Crack ha habilitado un servidor para que puedasrealizar las prcticas de hacking.

    - Actualmente tiene el BUG del Code / Decode y lodejaremos as por un tiempo (bastante tiempo ;) Nuestraintencin es ir habilitando servidores a medida que osenseemos distintos tipos de Hack, pero por el momentocon un Servidor tendremos que ir tirando (la economa noda para mas).

    - En el Servidor corre un Windows 2000 Advanced Servercon el IIS de Servidor Web y est en la IP 80.36.230.235.

    - El Servidor tiene tres unidades:* La unidad c: --> Con 2GB* La unidad d: --> Con 35GB y Raz del Sistema* La unidad e: --> CD-ROM

    Nota: Raz del Servidor, significa que el Windows AdvancedServer est instalado en esa unidad (la unidad d:) yconcretamente en el directorio por defecto \winnt\Por lo tanto, la raz del sistema est en d:\winnt\

    - El IIS, Internet Information Server, es el Servidor depginas Web y tiene su raz en d:\inetpub (el directoriopor defecto)

    Nota: Para quien nunca ha tenido instalado el IIS, le serextrao tanto el nombre de esta carpeta (d:\inetpub) cmosu contenido. Pero bueno, un da de estos os ensearemosa instalar vuestro propio Servidor Web y detallaremos su

    funcionamiento.

    De momento, lo nico que hay que saber es que cuandoT pongas nuestra IP (la IP de nuestro servidor) en tunavegador, lo que ests haciendo realmente es ir aldirectorio d:\Inetpub\wwwroot\ y leer un archivo llamadodefault.htm.

    Nota: Como curiosidad, te diremos que APACHE es otroServidor de pginas Web (seguro que has odo hablar del). Si tuvisemos instalado el apache, cuando pusiesesnuestra IP en TU navegador, accederas a un directorioraz del Apache (donde se hubiese instalado) e intentarasleer una pgina llamada index.html

    Explicamos esto porque la mayora, seguro que piensa enun Servidor Web como en algo extrao que no saben ni

    donde est ni como se accede. Bueno, pues ya sabesdnde se encuentran la mayora de IIS (en \Inetpub\) yc u l e s l a p g i n a p o r d e f e c t o(\Inetpub\wwwroot\default.htm). Y ahora, piensa un poco Cul es uno de los objetivos de un hacker que quieredecirle al mundo que ha hackeado una Web? Pues estclaro, el objetivo es cambiar (o sustituir) el archivodefault.html por uno propio donde diga hola, soy DIOSy he hackeado esta Web (eso si es un lamer ;)

    A partir de ese momento, cualquiera que acceda a eseservidor, ver el default.htm modificado para vergenzadel site hacheado. Esto es muy genrico pero os daruna idea de cmo funciona esto de hackear Webs ;)

    - Cuando accedas a nuestro servidor mediante el CODE /DECODE BUG, crea un directorio con tu nombre (el quemas te guste, no nos des tu DNI) en la unidad d: a ser

    posible (que tiene mas espacio libre) y a partir de ahorautiliza ese directorio para hacer tus prcticas. Ya sabes,subirnos programitas y practicar con ellos :)

    Puedes crearte tu directorio donde quieras, no es necesarioque sea en d:\mellamojuan. Tienes total libertad!!! Unai d e a e s c r e a r l o , p o r e j e m p l o , e nd:\winnt\system32\default\mellamojuan (ya irsaprendiendo que cuanto mas oculto mejor :)

    Es posiblemente la primera vez que tienes la oportunidadde investigar en un servidor como este sin cometer undelito (nosotros te dejamos y por lo tanto nadie teperseguir). Aprovecha la oportunidad!!! e investiga mientrasdure esta iniciativa (que esperamos dure largos aos)

    - En este momento tenemos mas de 600 carpetas de peaque, como tu, est practicando. As que haznos caso ycrea tu propia carpeta donde trabajar.

  • 8/14/2019 Haxcra9

    15/68

    PC PASO A PASO N 9 Pgina 15

    1. Los mdulos de Apache.

    Un mdulo de Apache es un componente queaade funcionalidad al servidor. Existendiferentes mdulos y pueden ser configurables.Es necesario que sepas que puedes crear unmdulo programado en C y adaptar el servidor

    Apache a tus necesidades. En la red encontrarsinfinidad de mdulos realizados porprogramadores independientes.

    Los mdulos se pueden clasificar en 3categoras:

    1. Mdulos base: Son los mdulos con lasfuncionas bsicas de Apache.

    2. Mdulos multiproceso: son los responsablesde la unin con los puertos del ordenador.

    3. Mdulos adicionales: cualquier otro mdulo

    que aade funcionalidad pero no esestrictamente necesario para el funcionamientodel Apache.

    Dnde se encuentran los mdulos adicionales?,los localizars en c:\apache\modules\

    Apache instala por defecto los siguientesmdulos, es necesario que sepis por lo menos

    qu hacen para luego entender la prctica quevamos a realizar.

    mod_auth_anon : permite a usuariosannimos acceder a reas autentificadas.

    mod_auth_dbm: proporciona autentificacinutilizando ficheros DBM.

    mod_auth_digest: autentificacin de usuario

    utilizando MD5.mod_cern_meta: Semntica de etiquetasmeta del CERN.

    mod_expires: Generacin de las cabecerashttp Expires, de acuerdo de los criteriosespecificados por el usuario.

    mod_headers: personalizacin de laspeticiones HTTP y las cabeceras de lasrespuestas.

    mod_info: proporciona una visin comprensivade la configuracin del servidor.

    mod_mime_magic: determina el tipo MIMEde un fichero mirando unos pocos bytes delcontenido.

    mod_proxy: servidor HTTP/1.1 proxy/gateway.

    APACHE Parte III:Configuracion - Compartetus ficheros mediante web

    Bienvenidos de nuevo. En el nmero anterior se explic los comandos bsicos de Apache,

    se coment con ejemplos las principales directivas que hacen funcionar el servidor Apache

    y se aplic todo lo aprendido para poder compartir ficheros mediante HTTP sin necesidad

    de programas externos.

    Este captulo est dividido en dos partes, en la primera parte profundizaremos en algunos

    mdulos y en la segunda parte comenzaremos a crear servidores virtuales. tienes

    curiosidad de saber qu es todo esto?, ... ya vers.

  • 8/14/2019 Haxcra9

    16/68

    Pgina 16 PC PASO A PASO N 9

    mod_rewrite: proporciona un motor dereescritura basado en reglas que rescribe laspeticiones de URL's al vuelo.

    mod_speling: intenta corregir las URLmal puestas por los usuarios, ignorandolas maysculas y permitiendo hasta unafalta.

    mod_status: proporciona informacin en laactividad y rendimiento del servidor.

    mod_unique_id: proporciona variables deentorno y un identificador nico para cadapeticin.

    mod_usertrack: registro de actividad de unusuario en el sitio.

    mod_vhost_alias: Proporcionado paraconfigurar muchos servidores virtualesdinmicamente.

    Una de las principales razones de emplearmdulos en Apache, es que no toda instalacinrequiere de las mismas funcionalidades, no

    todas las instalaciones requieren de "VirtualHosting".

    Por lo tanto si fueran incluidas todas lasfuncionalidades posibles en una versin nicade Apache, lo hara sumamente pesado encuanto a requerimientos de Memoria RAM yespacio en Disco Duro, por esto se opta por"modularizar" e incluir solo lo necesario.

    De momento, simplemente vamos a quedarnoscon la idea de que estos mdulos aadenfuncionalidad al Servidor Web y que algunosde ellos son instalados por defecto.

    Ahora queremos averiguar cuales son losmdulos que estn funcionando por defectoen nuestro Servidor Web. Abrimos una consolaMSDOS y ponemos el comando de sistemaAPACHE l, y aparecer un listado de losmdulos que estn funcionando. Lo que haceel parmetro l es abrir el archivo deconfiguracin httpd.confy busca los mdulosque debe cargar Apache al iniciarse.

    APACHE - CONFIGURACION - SERVIDOR DE ARCHIVOS VIA WEB

    DMB, MD5...!

    DMB, MD5, CERN, Cabeceras HTTP Expires, MIME Si eres profano en la materia, seguro que todo eso te suena

    a "Klingoniano". No te preocupes, ya sabes que cuando

    necesitamos conocer un trmino/concepto para la

    comprensin de un artculo siempre lo explicamos a lo

    largo del mismo.

    Algunos de estos trminos abarcan temas bastante extensos

    y no es necesario explicarlo en este momento puesto que

    NO IMPIDEN la comprensin de este artculo, pero te

    recomendamos que cuando tengas un par de horas libres

    "curiosees" en el mejor buscador que existe actualmentewww.google.com y hagas una "toma de contacto" con ellos.

    Por cierto, si quieres aprender klingon puedes acudir a The

    Klingon Language Institute (http://www.kli.org/) ;p

  • 8/14/2019 Haxcra9

    17/68

    PC PASO A PASO N 9 Pgina 17

    2. Listar contenido de losdirectorios

    Apache est considerado como uno de losservidores web ms estables que existen einfinitamente ms seguro que el servidor IISde Microsoft. An as tiene algunos fallos, note lo crees?.

    Apache necesita utilizar mdulos adicionalespara mostrar contenido dinmico, y en estosmdulos es donde podemos encontrar los fallos,recuerda que cuantos ms mdulos se instalenms probabilidad hay de tener agujeros deseguridad.

    En el nmero anterior se explico cmo Apachepuede listar el contenido del directorio, siempreque nosotros configuremos el archivo httpf.confpara ello. An configurando este archivo paraque no liste el contenido de los directoriospodemos saber los archivos alojados en todoslos directorios, incluso en aquellos directoriosque tienen una pgina Index.

    Vamos a explicar dos formas de obtener el

    contenido de los directorios, el primer mtodoser utilizando un gran nmero de barrasinclinadas y el segundo mtodo utilizando unbug del mdulo Multiview. Al finalizar cadamtodo daremos respuesta a como evitar queseamos vct imas de estos ataques.

    Listado del directorio utilizando barrasinclinadas.

    Cuando realizamos una peticin a un servidor

    Apache, la URL es procesada por variosmdulos, entre ellos mod_negotiation.c,mod_include.c, mod_autoindex.c, estos mdulosse encuentran compilados en la versinpredeterminada de Apache, es decir, que estosmdulos estn instalados y activos en la mayorade los servidores Apache.

    Cuando se pasa una URL de gran longitud por

    estos mdulos puede provocar que Apacheliste el contenido de sus directorios.

    As de simple. Lgicamente los seores de

    Apache solucionaron el problema cuandofue descubierto, pero an quedan muchosservidores Apache con este problema.Las versiones hasta 1.3.19 inclusive sonvulnerables a este ataque.

    Es vlida cualquier cadena?, no. Tiene queser una cadena de barras inclinadas y lalongitud es variable. As que no tenemosms remedio que hacer pruebas hastaque Apache liste el directorio. Si consideramos

    que Apache admite una URL de 8000caracteres como mximo, podemos listarel contenido en un par de minutos si noscreamos un programa que genere URLs conbarras inclinadas.

    El cdigo es muy sencillo y supongo queests aprendiendo Visual Basic gracias alcurso de HackxCrack, en los nmerosanteriores del curso de Visual Basic encontrarstodo lo necesario para crear el programa.

    De todos modos, colocaremos un sencilloprograma que hemos realizado paraaquellos que no quieran calentarse la cabeza.No estara mal que cada uno de vosotroshiciera una versin y la publicara en el foro,os atrevis?

    Un ejemplo de cadena vlida si queremossaber e l con ten ido de l d i rec to r ioh t t p : / / w w w . h a c k x c r a c k . c o m / c g i -

    bin//////////////////////////////////// (funcionara en

    el caso de que el servidor fuese la versin1.3.19 o anterior)

    Pero antes de que os pongis como locos aponer barras incl inadas es necesarioque averigis la versin de Apache. Enel captulo anterior se explicaron variasformas de saber remotamente la versin de

    Apache.

    APACHE - CONFIGURACION - SERVIDOR DE ARCHIVOS VIA WEB

  • 8/14/2019 Haxcra9

    18/68

    Pgina 18 PC PASO A PASO N 9

    Os vamos a explicar otra forma de identificarel servidor web, a modo de culturilla elprocedimiento de identificar el servidor se lellama captura de mensajes o bannergrabbing. Recordar que no siempre vamos apoder capturar esta informacin, el servidorweb tiene que tener la especificacin HTTP 1.1(RFC 2616), que enva la informacin quebuscamos en los encabezados.

    En esta ocasin...!

    Abre una venta de MSDOS y pon lo siguiente:nc nvv 127.0.0.1 80

    tras el mensaje que aparece escribe:

    HEAD / HTTP/1.0[Pon dos retornos de carro, es decir, pulsa elbotn Return dos veces]

    Y vers la informacin del servidor.

    Lo importante es conocer distintas formasde averiguar la informacin, si ests en uncibercafe y no dispones del netcat puesutiliza el telnet o cualquier herramienta

    on l ine como

    dnsstuff.com onetcraft .com,adems estasher ramien tasonline tienen unaventaja y es quee l s e r v i d o rconsultado noregistrar tu IP ;)

    Solucin al problema de las barrasinvertidas

    Tenemos dos soluciones: actualizar el servidorweb Apache a una versin mayor a 1.3.19 omodificar el fichero de configuracin.

    Solucionar el problema mediante el archivo deconfiguracin es muy sencillo, abrimos con elbloc de notas el archivo httpd.conf y buscamoslas siguientes lneas:

    AddModule mod_autoindex.c

    AddModule mod_dir.c

    Estas lneas son las encargadas de aadirlos mdulos al iniciarseel Apache,simplemente pon lasalmohadillas delante ygraba el archivo.sabes que poniendoalmohadillas delantetransformas la lnea

    (instruccin/comando)en un simple texto(comentario), ya loe x p l i c a m o s e nanteriores nmeros.

    #AddModule mod_autoindex.c

    #AddModule mod_dir .c

    APACHE - CONFIGURACION - SERVIDOR DE ARCHIVOS VIA WEB

    Hemos utilizado la ...!

    En esta ocasin vamos a utilizar el todopoderoso programa

    netcat, esta aplicacin ya ha sido explicada y utilizada en

    prcticas anteriores de otros artculos de HxC.

    Hemos utilizado la IP 127.0.0.1 y puerto 80 porque sesupone que has seguido nuestro curso y en este momento

    tienes corriendo el apache en tu sistema en el localhost

    (127.0.0.1) y puerto 80. Si no, ya sabes, al final de la revista

    tienes el ndice de los nmeros anteriores publicados y te

    indica cmo conseguirlos y, por si no lo sabes, tienes en

    la Web el Nmero 1 de Hack x Crack GRATIS en formato

    PDF alguien da ms? ;p

  • 8/14/2019 Haxcra9

    19/68

    PC PASO A PASO N 9 Pgina 19

    Como podemos ver con AddModuleconfiguramos el servidor para que cargue losmdulos y as obtener nuevas funcionalidades,

    en este caso hemos quitado la funcionalidadde mostrar el contenido de los directorios demanera radical. Tienes que tener en cuentaque ya no podremos compartir archivos sihemos anulado estos mdulos.

    Listado de directorios conMultiview

    Existe otro bugs que ya ha sido corregido peroque an nos lo podemos encontrar en algunosservidor Apache, es un error del parmetroMultiview que permite negociar el contenidobasndose en el lenguaje del documento.

    Este parmetro no est activo de manerapredeterminada as que es ms difcil que loencontremos en el servidor de la victima, peronunca se sabe, verdad?.

    Este parmetro puede estar colocado de lasiguiente forma:

    Options FollowSymLinks MultiViews

    Cmo podemos listar el contenido del directorioutilizando el bugs de MultiViews?, es tan sencillocomo colocar una URL en el navegador o ene l n e t c a t , p o r e j e m p l o :http://127.0.0.1/mp3?M=D, fjate que finalizacon ?M=D.

    Esta manera de ver el contenido del directoriono es muy eficaz y es raro de que encuentres

    un servidor con este error. Pero no est malsaberlo, no crees?

    M d u l o d e c o n f i g u r a c i nmod_info.c

    El mdulo mod_info.c permite saber laconfiguracin del servidor Apache, esinformacin esttica pero de gran valor paraconsultar como est configurado de maneraremota. Lgicamente el mdulo mod_info.c noest activado de manera predeterminada. Losgrandes servidores web, empresas de hosting,... suelen tener activado este mdulo para

    conocer el estado de la configuracin del servidory ya podemos suponer que a muchosadministrados se les olvida proteger o anularel acceso a los usuarios no permitidos

    El mdulo mod_info da una visin general dela configuracin del servidor bastante amplia,incluyendo los mdulos y directrices.

    Vamos a realizar una prctica de cmo ponerloen marcha para nuestro uso personal.

    Lo primero que hacemos es abrir el fichero deconfiguracin httpd.confy buscamos la cadena# L o a d M o d u l e i n f o _ m o d u l emodules/mod_info.so , esta cadena dice al

    Apache que lea el mdulo mod_info.so, lequitamos la almohadilla (#) para que realmentesea ledo. Ahora buscamos la cadena#AddModule mod_info.c y tambin lequitamos la almohadilla (#), con addmodulele decimos a Apache que aada el mdulomod_info.c

    APACHE - CONFIGURACION - SERVIDOR DE ARCHIVOS VIA WEB

    Siempre que ...!

    Siempre que sea posible se recomienda actualizar la versin

    del programa afectado por un bug, cualquier otra solucin

    como la explicada es vlida pero suele tener consecuencias:

    una limitacin en los accesos, anulacin de funciones, etc.

    Como has ...!

    Como has podido comprobar para que Apache tenga en

    cuenta un mdulo primero hay que indicarle que lea el

    mdulo para despus sea aadido. Recuerda que son dos

    pasos "LoadModule y AddModule".

  • 8/14/2019 Haxcra9

    20/68

    Pgina 20 PC PASO A PASO N 9

    Ya queda poco, ahora tenemos que abrir elarchivo access.conf que lo encontrars en elmismo directorio que el archivo de configuracin

    httpd.conf.Este archivo tambin de configuracin se utilizapara acceder a los permisos de los archivos,directorios y script del sitio creado. Es unarchivo de apoyo, el contenido de este archivopodra estar perfectamente en httpd.conf, peropara no terminar teniendo un mega archivode configuracin se divide la configuracinen otros dos archivos (access.conf ysrm.conf). De momento nos quedamoscon httpd.conf y access.conf, el primero

    es el archivo principal de configuracin yel segundo sirve de apoyo cuyo contenidoes definir permisos.

    Continuamos con la prctica, abrimos elarchivo access.conf (seguramente estarvaco) y ponemos las siguientes lneas:

    SetHandler server-info

    Reiniciamos elservidor Apache( Apache k r e s t a r t ) yponemos en elnavegado r l asiguiente URL:

    - - - > h t t p : / /

    1 2 7 . 0 . 0 . 1

    /infoservidor

    El resultado es unapgina con toda lainformacin de laconfiguracin delservidor Apache.

    * Para acceder nicamente a la informacindel servidor ponemos:---> http://127.0.0.1/infoservidor?server

    * Para informacin de la configuracin de losmdulos pondremos una direccin tipohttp://127.0.0.1/infoservidor?nombre_

    del_mdulo, por ejemplo:--->http://127.0.0.1/infoservidor?mod_info.c

    * Para obtener la informacin de los mdulosque se estn utilizando:--->http://127.0.0.1/infoservidor?list

    Por ltimo decir que infoservidor puede sercambiado por cualquier otra palabra como info,info-servidor, info-server, admin, configure...No estara mal crear un programa cuyo objetivosea buscar la url de acceso a la configuracindel servidor Apache si es que tiene activado elmdulo mod_info.c, alguien se atreve?, conlo aprendido aqu y en el curso de Visual Basicsera suficiente para crear el programa, lo idealsera utilizar un diccionario, algn valiente?

    APACHE - CONFIGURACION - SERVIDOR DE ARCHIVOS VIA WEB

    Psate por el foro ...!

    Psate por EL FORO de la revista (www.hackxcrack.com)

    y podrs conversar con los lectores y colaboradores de PC

    Paso a Paso (Los Cuadernos de Hack x Crack). A estas

    alturas ya formamos una pea de ms de 2000 "socios".

    Te estamos esperando!!! ;)

  • 8/14/2019 Haxcra9

    21/68

    PC PASO A PASO N 9 Pgina 21

    Mdulo de estado del servidor

    Apache ofrece otro mdulo de gran valorpara conocer mediante URL el estado delservidor web. Si es accesible medianteURL quiere decir que podemos acceder aesta informacin de otros servidores sitienen activado este mdulo. Para nosotrosser de vital importancia para conocersi el servidor Apache necesita msrecursos.

    La informacin que podemos consultar es lasiguiente:

    Hora actualizada de sistema delservidor. Hora del ltimo reinicio del servidor. Tiempo que ha pasado desde que seencendi el servidor. Nmero total de accesos que hantenido lugar desde entonces. Bytes totales transmitidos. Nmero total de los thread dedicadosa atender peticiones. Nmero total de thread. Estado de cada thread, nmero depeticiones que ha atendido cada uno. Promedios con el nmero depeticiones efectuadas por segundo. Porcentaje actual de CPU utilizadapor cada thread y el total que utiliza Apache. Host y peticiones procesadas.

    Este mdulo no se inicia por defecto, asque habr que hacer lo mismo que con elmdulo mod_info.c. El mdulo que tenemos

    que aadir es mod_status, repetimos lospasos anteriores pero esta vez conmod_status en el archivo de configuracinhttpd.conf.

    Abrimos el archivo access.conf y aadimos lassiguientes lneas:

    setHandler server-status

    Recuerda que podemos cambiar estado-apachepor otra palabra como estado, infoestado , ...pero para la prctica ponemos estado-apache.

    Reiniciamos de nuevo el servidor ApachemedianteApache k restart.

    Para acceder al estado del servidor colocamos:http://127.0.0.1/estado-apache

    Puede ocurrir que no aparezcan todos los datosque esperamos, si por ejemplono aparece la informacin tan relevante como

    Total accesses, Total Traffic entre otros datoses necesario volver a modificar el fichero de

    APACHE - CONFIGURACION - SERVIDOR DE ARCHIVOS VIA WEB

  • 8/14/2019 Haxcra9

    22/68

    Pgina 22 PC PASO A PASO N 9

    configuracin httpd.cond, busca la cadenaExtendedStatus On y quita la almohadilla.

    De momento cualquier navegante que pongaesta URL podr acceder a la informacin delestado y configuracin del servidor Apache.Desde el punto de vista de la seguridad deja

    mucho que desear. Apache nos permiteconfigurar el acceso a esta informacin medianteURL y ponerle limitaciones y para ello hay queconfigurar de nuevo los comandos que hemoscolocado en el archivo access.conf.

    Supongamos que solo deseamos que tengaacceso a la informacin del estado del servidorla IP 254.67.67.5 (nuestra IP al conectarnosa Internet), es tan sencillo como editar elarchivo access.conf y colocarlo de la siguientemanera:

    setHandler server-status

    order deny,allow

    deny from all

    allow from 254.67.67.5

    De esta forma tan simple eliminamos el accesoa cualquier navegante a la informacin delestado del serv idor cuando ponga

    http://tu_ip/estado-servidor excepto para elnavegante que tenga la IP 254.67.67.5 (quetiene que coincidir con la IP del administradordel servidor Apache).

    Como se ha comentado anteriormente estosmdulos son de gran utilidad para eladministrador del sistema y suele estar activadopara que el administrador en cualquier momento

    pueda conocer el estado del servidor.

    2. Creacin de sitios virtuales

    Cambiamos de tema, ahora vamos a crear sitiosvirtuales, para ello vamos a explicar de manerarpida en que consiste y la razn de crear sitiosvirtuales.

    Cuando contratamos un espacio web a unaempresa de hosting qu crees que realmentenos estn vendiendo?, nos alquilan un cachode un gran servidor que tienen, este servidoralojar un nmero variable de sitios. Es decir,la empresa tendr un gran disco duro y nosalquilar los megas de ese disco duro segn

    el plan que le contratemos. El microprocesador,la memoria y dems recursos del servidorestarn compartidos por todos los clientes. Siests pensando en crear un proceso que satureel micro para que todos los dominios caigan,ests en lo cierto, puedes hacer caer todoel sistema si el servidor Apache estmal configurado y dejar varios dominios sinfuncionar.

    APACHE - CONFIGURACION - SERVIDOR DE ARCHIVOS VIA WEB

    Para ir abriendo ...!

    Para ir abriendo miras y sabiendo que este acceso suele

    estar abierto pero protegido por un nombre que no

    conocemos (en nuestro caso estado-servidor) y por una IP

    determinada; podramos "adivinar" la IP determinada que

    permite el acceso (muchas veces es la misma que la del

    servidor, aunque otras no ;)) y el nombre por diccionario

    (hemos propuesto ese ejercicio en este mismo artculo) y

    utilizando tcnicas no explicadas todava en HXC enviar

    peticiones de acceso previamente "retocadas".

    Algunos avanzados ya saben perfectamente a lo que nos

    referimos, esas peticiones se "modifican" para hacer creer

    al servidor que las peticiones provienen de la IP determinada

    aunque realmente provienen de nuestro PC pero eso es

    tema bastante avanzado y antes hay que leer mucho

    HXC ;)

  • 8/14/2019 Haxcra9

    23/68

  • 8/14/2019 Haxcra9

    24/68

    Pgina 24 PC PASO A PASO N 9

    La url del amigo1 ser http://127.0.0.1:8080La url del amigo2 ser http://127.0.0.1:8081La url del amigo3 ser http://127.0.0.1:8082

    La IP es la misma, lo nico que cambia es elpuerto, a cada sitio se le ha asignando unpuerto, te recomendamos que sean puertosno estndar (mayores a 1024) de lo contrariopuede que ocupes un puerto ya enfuncionamiento.

    Tenemos que configurar Apache para que esta la escucha por los puertos 8080, 8081 y8082, para ello aadimos los siguientesparmetros en el archivo de configuracin

    httpd.conf.

    Listen 8080

    Listen 8081

    Listen 8082

    Nos colocamos al final del archivo httpd.confy aadimos las siguientes lineas:

    DocumentRoot

    "c:/apache/Apache/amigos/amigo1/"

    ServerName Amigo1

    DocumentRoot

    "c:/apache/Apache/amigos/amigo2/"

    ServerName Amigo2

    DocumentRoot

    "c:/apache/Apache/amigos/amigo3/"

    ServerName Amigo3

    Al reiniciar el servidor Apache ya estn accesibleslas siguientes URLs:

    http://127.0.0.1:8080http://127.0.0.1:8081

    http://127.0.0.1:8082

    Ahora queda que vuestros amigos puedan subirpginas al servidor y para ello instalaremos unservidor FTP (puedes utilizar el servidor UFTPcuyo funcionamiento ya ha sido explicado enhackxcrack). Crea los 3 usuarios en el ServidorFTP apuntando cada uno a la carpeta especfica(amigo 1, 2 y 3) y comunica a tus amigos los

    datos de acceso (user/pass), de esta formacada usuario tendr acceso nicamente a sucarpeta y no ver las dems (salvando algunosdetalles, esto es lo que hacen las grandesempresas de hosting cuando te venden unsitio donde colocar tu Web).

    Como puedes comprobar todo lo aprendido ennmeros anteriores te est resultado de gran

    APACHE - CONFIGURACION - SERVIDOR DE ARCHIVOS VIA WEB

    Sustituye ...!

    Sustituye 127.0.0.1 por la IP de tu conexin, en este ejemplo

    hemos colocado 127.0.0.1 para realizar las pruebas, pero

    recuerda que para que tus amigos puedan acceder a sus

    sitios tendrs que colocar la IP que te ha asignado el

    proveedor de acceso, eso ya lo explicamos en anteriores

    entregas.

    Las etiquetas ...!

    Las etiquetas DocumentRoot y ServerName ya fueron

    explicadas en el captulo anterior del nmero 8 de

    hackxcrack.

  • 8/14/2019 Haxcra9

    25/68

    PC PASO A PASO N 9 Pgina 25

    utilidad.

    3. Qu has aprendido?

    Este captulo ha sido denso y con muchos nuevos conceptos, pero ha merecido la pena, nocrees?. Has aprendido el concepto de los mdulos de apache, a utilizar los mdulos mod_infoy mod_status, a obtener la versin de Apache utilizando el netcat, algunos bugs de Apache y acrear sitios virtuales utilizando los puertos.

    En el prximo nmero ....

    Se explicarn nuevos mdulos, nuevas directivas de configuracin para los servidores virtualesy a interpretar los logs que genera Apache, un gran fichero donde se registran los accesos alservidor con datos del navegante (que interesante....)

    David C.M

    QUIERES COLABORAR CON PC PASO A PASO?

    PC PASO A PASO busca personas que posean conocimientos deinformtica y deseen publicar sus trabajos.

    SABEMOS que muchas personas (quizs tu eres una de ellas) han creado

    textos y cursos para consumo propio o de unos pocos.

    SABEMOS que muchas personas tienen inquietudes periodsticas peronunca se han atrevido a presentar sus trabajos a una editorial.

    SABEMOS que hay verdaderas obras de arte creadas por personascomo tu o yo y que nunca vern la luz.

    PC PASO A PASO desea contactar contigo!

    NOSOTROS PODEMOS PUBLICAR TU OBRA!!!

    SI DESEAS MS INFORMACIN, env anos un mai l [email protected] y te responderemos concretando nuestra oferta.

    Tambin necesitamos urgentemente alguien que se ocupe de lapublicidad y de la web de esta editorial, para ms informacinenvanos un mail a [email protected]

    APACHE - CONFIGURACION - SERVIDOR DE ARCHIVOS VIA WEB

  • 8/14/2019 Haxcra9

    26/68

    Pgina 26 PC PASO A PASO N 9

    Hola de nuevo. Hoy intentar introduciros en el mundo del acceso a datos, pero antes os explicarque es unaDLLy haremos una prctica para entenderlo mejor. Al igual que losOCX, explicadosen el curso anterior, lasDLLson herramientas creadas por los programadores para facilitar eltrabajo a la hora de desarrollar una aplicacin. Dentro de las DLLsolemos encontrar rutinas yfunciones que, o bien son muy complejas, o simplemente se repiten con frecuencia. Pero msimportante es aun su funcin de encapsulado. El programador que utilice tu DLLo tuOCXnotiene ni debe saber el funcionamiento interno de esta. Pongamos por ejemplo una DLLque seencargue del acceso a datos de una BD de Access. EstaDLLtiene unas funciones implcitas, queson, por ejemplo,Ruta(donde indicamos la ruta de la base de datos),Nombre(nombre de la basede datos),Conectar(abre la conexin contra la BD) yTraerRegistros(que nos va a traer todos

    los registros de la tabla que le indiquemos).

    Tambin podramos implementar otras funciones comoAadir, Editar, Borrar.Y son precisamenteestas tres ltimas las que dan sentido a nuestra DLL, ya que sern utilizadas varias veces ennuestro proyecto.Bien, una vez hecha la introduccin a las DLL , vamos a crear una desde 0.

    Abrimos el Visual Basic, y en la primera pantalla vamos a escoger DLL ActiveX.

    Vemos que se nos abre el editor, como siempre, pero con la peculiaridad de que a nuestraderecha, en el explorador de proyectos, no existen formularios, sino solo un mdulo de tipo clasellamado por defecto Class.

    Vale, lo primero que vamos a hacer es darle nombre al proyecto, por lo que nos pondremosencima de proyecto1en el explorador de proyectos y cambiaremos el nombre en el cuadro depropiedades.En el ejemplo de hoy, nuestraDLLsersencilla, ya que me reservo lo mascomplicado para la segunda parte,cuando tratemos el acceso a datos.EstaDLLsencillamente realizar las 4operaciones bsicas matemticas,suma, resta, divisin y producto.

    Yo he llamado a mi proyecto Calc.

    Ahora deberamos cambiar tambin elnombre de la clase, para ello vamosal explorador de proyectos, nosposicionamos sobre la Class1 ycambiamos su nombre en el cuadro depropiedades, por ejemplo, ClCalc.

    Ahora deberais tener el proyecto comopodemos ver en la imagen:

    vISUAL BASIC (iv): Mi primeraDLL y Accediendo a datos

    Por pedro del valle

  • 8/14/2019 Haxcra9

    27/68

    PC PASO A PASO N 9 Pgina 27

    Muy bien, como ya he dicho anteriormente, estaDLLser sencilla, pues solo quiero ensearoscomo poder crearlas y su funcionamiento. Lo que vamos a hacer es crear una funcin por cadauna de las operaciones que queremos codificar, es decir, cuatro. El cdigo quedara as:

    Public Function Suma(a As Integer, b As Integer) As Integer

    Suma = a + b

    End Function

    Public Function Resta(a As Integer, b As Integer) As Integer

    Resta = a - b

    End Function

    Public Function Producto(a As Integer, b As Integer) As Integer

    Producto = a * b

    End Function

    Public Function Division(a As Integer, b As Integer) As Integer

    Division = a / b

    End Function

    Cojamos la primera de las funciones. Su nombre es Suma, ya que ser la encargada de sumardos nmeros. Como podemos ver entre parntesis, la funcin recibe 2 parmetros (a y b), loscuales son de tipo entero, aunque podran haber sido tambin de tipo long o double.Tambin podemos observar que justamente despus del cierre de los parntesis tenemos escritoAs Integer. Esto es debido a que vamos a realizar el clculo dentro de nuestra funcin y devolverel resultado, y esteAs Integeres el tipo de dato que vamos a devolver.Lo que sigue es sencillo, estamos diciendo que el valor que devuelve la funcin es la suma dea+ b.

    Una vez escritas estas lneas, vamos a generar laDLL.Abrimos el men Archivo y picamos enla opcinGenerar DLL.Podemos dejarleel nombre que viene por defecto, que sinos damos cuenta es el mismo que hemospuesto en el nombre de laDLLen nuestroproyecto.Una vez generada, nos olvidaremos deella y abriremos un nuevo proyecto, peroesta vez picaremos enEXE Estndar.Ahora,y como siempre, vamos a darle un nombre

    alformy al proyecto. Por ejemplo, yo hellamado al proyecto Prueba y al FormFrmPrueba.

    Colocaremos un par de cajas de texto pararecoger los valores, otra para el resultadoy 4 botones para las operacionesmatemticas.

    CURSO DE VISUAL BASIC - CREACION DE DLL - ACCEDIENDO A DATOS

  • 8/14/2019 Haxcra9

    28/68

    Pgina 28 PC PASO A PASO N 9

    El diseo del proyecto es totalmente opcional, yo aqu lo he hecho bastante simple, pero podisponer unlabelentre las dos primeras cajas de texto que cambie conforme pulsas un botn u otro,con el operador correspondiente (+,-,*,/).

    Todo bien?, perfecto, vamos entonces a registrar laDLLque anteriormente hemos generado.Para ello vamos al menProyecto -> Referencias. Podemos ver que hay variasDLLseleccionadaspor defecto, estas son necesarias para el correcto funcionamiento de los proyectos en VB.

    Picamos el botnExaminary buscamos nuestraDLL, all donde la hemos generado, y la agregamosa nuestra aplicacin.Si lo hacemos bien, deberamos poder declarar una variable del tipoCalcen mi caso, y en elvuestro, dependiendo del nombre que hallis utilizado anteriormente.

    Vamos al editor de cdigo e intentamos declarar una la variable del tipoCalc, cmo?, as:

    Option Explicit

    Dim Cl As Calc.ClCalc

    Ya tenemos declarada la variable, pero no est instanciada.Este tipo de variables, sobre todo aquellas que sean objetos o correspondan aDLLdeben serinstanciadas. Para ello vamos alForm_Load() y escribimos lo siguiente:

    Private Sub Form_Load()

    Set Cl = New Calc.ClCalc

    End Sub

    Pasemos ahora a codificar los botones. Vamos al botn Sumar, por ejemplo, y escribimos:

    Private Sub CmdMas_Click()

    TextRes = Cl.Suma(Texta, Textb)

    End Sub

    DondeTextReses la caja de texto que contendr el resultado yTexta, Textbson los dos valoresque queremos sumar.Si lo probis veris que laDLLse encarga de sumar los dos nmeros y devuelve el valor a la cajade texto, aunque tambin podramos poner una variable.El resto de operaciones es exactamente lo mismo, as que os lo dejo a vosotros.

    Y con esto, hemos acabado laDLL. Como podis ver, unaDLLy unOCXno son muy diferentesentre si. Realmente, la diferencia ms grande que hay entre los dos es que elOCXposee entorno

    grafico para poder interactuar con l, mientras que laDLLno.Suponiendo que habis entendido el funcionamiento de los OCXyDLL, creo que ya estamos listos para

    ir al tpico mas extendido de la programacin:El ACCESO A DATOS.

    ACCESO A DATOS

    El acceso a datos es, actualmente, una de las tcnicas mas solicitadas en el mercado laboral encuanto al mundo de la programacin se refiere, y tambin es muy necesario para aplicaciones

    CURSO DE VISUAL BASIC - CREACION DE DLL - ACCEDIENDO A DATOS

  • 8/14/2019 Haxcra9

    29/68

    PC PASO A PASO N 9 Pgina 29

    que necesiten registrar informacin o datos de cualquier tipo.Los grandes gestores de base de datos, como OracleoSQL Server(e inclusoMySql) tienen encomn un punto muy importante, el lenguaje que interpretan. Este es conocido comoSQL, y,

    aunque con algunas diferencias de sintaxis, todos los gestores de base de datos entienden lasquerysgeneradas enSQL, y se pueden crear desde cualquier lenguaje de programacin. Ya queno todo el mundo puede tener unOracleen casa, nosotros usaremos una base de datos Accesspara nuestra prctica.Bien, empecemos entonces.

    Si recordis, en la primera entrega del curso os indiqu los componentes de acceso a datos quedebais instalaros, para estandarizar el uso de estos. Estos componentes se llaman MSDAC 2.6sp1 y JET.Si estn correctamente instalados, deberamos poder ver sus referencias en el Visual Basic, lascuales os indicar posteriormente.

    Antes de nada, debemos crear nuestra base de datos. Para ello abrimos la herramienta Accessque viene en el paquete de Microsoft Office. En nuestro caso, utilizaremos la versin 2000 dela misma.

    En la primera pantalla picaremos en la opcin base de datos en blanco, y la guardaremos conel nombrebd.mdben la misma carpeta donde se encontrar nuestro nuevo proyecto. Una vezcreada, vamos a la opcin crear una tabla en vista de diseo. Cuando estemos dentro veremosque nos aparece un grid con las columnas Nombre de campo, Tipos de datos y descripcin.Enesta pantalla vamos a disear nuestras tablas, que en nuestro caso, para simplificar, solo seruna.

    Bien, nuestra tabla ser un clsico, la tabla Clientes. Debemos empezar a crear los campos.Por ejemplo, el primero, ser el identificador de cliente, el cual podemos llamarIdCliente. En tipode dato, vamos a declararloNumrico, Ya que contendr un nmero que ser siempre nico.

    Al indicarle el tipo de dato, vemos que abajo podemos cambiar las propiedades de este, ya queel tipo numrico puede tener muchas variantes (recordemos que los nmeros pueden ser enteros,dobles, long...)En este caso dejaremos las propiedades que aparecen por defecto, es decir:entero largo, formatoen blanco, posiciones decimales Automtico, etc...El siguiente campo podra ser el nombre del cliente, por ejemplo,NomCliente. Este campo serde tipoTexto, y en sus propiedades le diremos que la longitud sea de 100. El siguiente campocontendr el telfono del cliente, llammosle TelCliente. Este es un caso anecdtico, porque amas de uno seguro que se le ha ocurrido declarar este campo como numrico. Eso es una

    barbaridad, teniendo en cuenta la cantidad de nmeros que puede llegar a tener un telfono, eincluso puede que, en algunos casos, se deban insertar smbolos o caracteres no numricos,como por ejemplo el signo +, para el +34 que simboliza el territorio espaol. Por lo tanto,este ser un campo de tipoTextocon longitud 15.Por ltimo, aadiremos un campo con la direccin. Le llamaremos DirCliente, para no variar, yser de tipoMemo. Este tipo de campo es poco recomendable, ya que se trata de un tipo Textopero sin longitud mxima. Por ejemplo, este tipo de campo es utilizado en aquellos foros dondeno hay lmite d caracteres en los posts.Si todo ha ido bien deberais tener el diseo como el de la imagen.

    CURSO DE VISUAL BASIC - CREACION DE DLL - ACCEDIENDO A DATOS

  • 8/14/2019 Haxcra9

    30/68

    Pgina 30 PC PASO A PASO N 9

    Para acabar, pulsamos en el botnde guardar, e introducimos elnombre de la tabla, si no lo habais

    hecho antes.Os ha aparecido un mensaje? S?,no pasa nada, es totalmente normal.Este mensaje nos est diciendo queno hemos indicado ninguna claveen el diseo de la tabla. Los camposclaves son aquellos cuyo valor nopueden repetirse bajo ningnconcepto. Es posible crear clavescon mas de un campo, es decir, con2, 3, 4, pero en nuestro ejercicioel nico campo clave que hay esIdClietne.

    As pues, le decimos que noqueremos que nos cree una clave

    principal, y as le indicamos cual es la que nosotros hemos elegido. Para hacer esto, sealamostoda la lnea deIdCliente y picamos sobre el icono de la llave que podemos encontrar en la barradel men. Si lo habis hecho bien, os debera aparecer una pequea llave en este campo.

    Ahora si, picamos de nuevo en guardar y cerramos la ventana hija. En la pantalla que nos aparecedeberamos tener un pequeo icono que simboliza la tabla clientes, y que si hacemos doble clicksobre l, nos permitir introducir datos.

    Podemos introducirunos 4 o 5 clientes,inventndonos losdatos, pero recordadque IdCliente escampo clave y por lotanto es nico, por loque no podris repetirel nmero, y si lohac i s , debe r adevolveros un error y

    no permitirlo. Unejemplo de clientes esel que podis ver enla imagen.Una vez introducidos,damos al botn salvar,y s a l i m o s p o rcompleto del Access.

    CURSO DE VISUAL BASIC - CREACION DE DLL - ACCEDIENDO A DATOS

  • 8/14/2019 Haxcra9

    31/68

    PC PASO A PASO N 9 Pgina 31

    Vamos a pasar al Visual Basic, para programar una aplicacin que sea capaz de leer la tabla ynavegar a travs