HACK X CRACK: NMAP - EL MEJOR ESCANEADOR DE INTERNET

                                                                    ...
P
                           A
                           S
                           O
           aa
    P A S Oaa
     ...
DECLARACION DE INTENCIONES
PARA "LOS OTROS":

1.- La intención de la presente publicación NO ES fomentar la piratería     ...
EDITORIAL:

                      gracias a todos

Si eres lector habitual o miembro de EL
F O R O    d e    H a c k   x  ...
gnu linux (II)
             El Sistema de Archivos

          1.- Introducción                                           u...
GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS




           números y otros caracteres e...
GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS




          3.4- El directorio Home      ...
GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS




           01     artículo2.abw        ...
GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS




          y eliminar archivos. De hecho...
GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS




            como visualizador. Simpleme...
GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS




          07       otro_fichero2.txt   ...
GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS




            nos pregunte si realmente q...
GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS




          izquierda. Obtendremos algo p...
SERVIDOR DE HXC
                              MODO DE EMPLEO


            - Hack x Crack ha habilitado un servidor para q...
APACHE Parte III :
               Configuracion - Comparte
               tus ficheros mediante web

          Bienvenidos...
APACHE - CONFIGURACION - SERVIDOR DE ARCHIVOS VIA WEB




            mod_rewrite: proporciona un motor de                ...
APACHE - CONFIGURACION - SERVIDOR DE ARCHIVOS VIA WEB




          2. Listar contenido de los                          es...
APACHE - CONFIGURACION - SERVIDOR DE ARCHIVOS VIA WEB




                                                                ...
APACHE - CONFIGURACION - SERVIDOR DE ARCHIVOS VIA WEB




            Como podemos ver con AddModule                      ...
APACHE - CONFIGURACION - SERVIDOR DE ARCHIVOS VIA WEB




            Ya queda poco, ahora tenemos que abrir el          *...
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Hxc9
Upcoming SlideShare
Loading in …5
×

Hxc9

3,555 views

Published on

Seguridad Informatica

Published in: Technology, Travel
1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total views
3,555
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
61
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Hxc9

  1. 1. HACK X CRACK: NMAP - EL MEJOR ESCANEADOR DE INTERNET P Serie RAW: IRC A I N T E R N E T R E L AY C H AT S CHATEANDO O MEDIANTE TELNET P A S Oa a a a a a a aa a a a a a HACK X CRACK - HACK X CRACK - HACK X CRACK G N U Permisos de archivo CAT y otros comandos APACHE Instalación Modulos y Interfaz Gráfica Servidores Virtuales Opciones de Uso DESCUBRE LOS PROTOCOLOS DE “LA RED” CON NOSOTROS VISUAL BASIC Iniciación al PORT SCANNING Creando Librerias Técnicas de “scaneo” Acceso a datos Nº 9 -- P.V.P. 4,5 EUROS 00009 8 414090 202756 Si no entiendes ni una palabra de esta portada, has llegado a LA REVISTA DE INFORMÁTICA QUE ESTABAS ESPERANDO!!! PC PASO A PASO: APRENDE A PROGRAMAR CON NOSOTROS
  2. 2. P A S O aa P A S Oaa aa a a aa a a a a a a aa EDITORIAL: EDITOTRANS S.L. Director de la Publicación C.I.F: B43675701 J. Sentís E-mail director@hackxcrack.com Director Editorial Diseño gráfico: I. SENTIS J. M. Velasco Contacto diseñador gráfico E-mail contacto grafico@hackxcrack.com director@editotrans.com Redactores AZIMUT, ROTEADO, FASTIC, MORDEA, FAUSTO, Título de la publicación ENTROPIC, MEIDOR, HASHIMUIRA, BACKBONE, Los Cuadernos de HACK X CRACK. ZORTEMIUS, AK22, DORKAN, KMORK, MAILA, TITINA, SIMPSIM... ... ... ... ... Nombre Comercial de la publicacíón Contacto redactores PC PASO A PASO redactores@hackxcrack.com Colaboradores Web Mas de 130 personas: de España, de Brasil, de www.hackxcrack.com Argentina, de Francia, de Alemania de Japón y algún Estadounidense. Deposito legal: B.26805-2002 Contacto colaboradores Código EAN: 8414090202756 colaboradores@hackxcrack.com Código ISSN: En proceso Imprime I.G. PRINTONE S.A. Tel 91 808 50 15 Distribución Coedis S.L. Avda. de Barcelona 225. Molins de Rei. Barcelona. Tel 93 680 03 60 FAX 93 668 82 59 WEB: www.coedis.com (mapa de distribución en la web) Teléfono de Atención al Cliente: 977-224580 Horario de Atención: De 9:30 a 13:30 (de Lunes a Viernes) ** Este número de teléfono se ha habilitado principalmente para atender cualquier problema relacionado con la petición de números atrasados y/o suscripciones. En la Web (www.hackxcrack.com) tenemos el formulario para que puedas realizar tus pedidos, por favor utiliza la Web para realizar tu pedido. © Copyright Editotrans S.L. NUMERO 9 -- PRINTED IN SPAIN PERIOCIDAD MENSUAL
  3. 3. DECLARACION DE INTENCIONES PARA "LOS OTROS": 1.- La intención de la presente publicación NO ES fomentar la piratería curiosidad deberéis ponerla VOSOTROS, porque los medios los facilitaremos informática ni la “delincuencia” en la Red. NOSOTROS. En las siguientes líneas os descubrimos cómo podremos 2.- Cualquier texto publicado es VALIDADO por nuestra Asesoría Jurídica, conseguir nuestros objetivos y definimos algunas de las palabras que más por lo que advertimos a cualquier persona, empresa u organización de la han sido violadas y retorcidas en su significado. inutilidad de cualquier iniciativa jurídica en nuestra contra. Aun así, en caso de cualquier iniciativa en contra de esta revista, deberá ser debidamente Hacker: Este término ha sufrido a lo largo de su corta historia una horrible presentada y resuelta en la Razón Social que figura en nuestros documentos conspiración perpetrada por la ignorancia de los medios, eso que de constitución. personalmente llamo "periodismo de telediario" (en clara alusión a los 3.- Esta publicación no se hace responsable del mal uso de los conocimientos ridículos artículos que no hacen mas que intoxicar nuestra percepción de que se exponen. las cosas e insultar nuestra inteligencia). Ese tipo de periodismo unido a 4.- Esta publicación NO FACILITARÁ los datos de nuestros colaboradores "otros poderes", desde los monopolios que deben justificar su incompetencia ni el origen de nuestros conocimientos salvo ORDEN JUDICIAL y, aun así, hasta los gobiernos que deben justificar sus intereses ocultos pasando por advertimos que algunos de esos colaboradores NO SON CONOCIDOS mas la industria del cine (normalmente demonológica) y los medios informativos que por sus NICKS (alias). Por ello, correrá a cargo de los organismos "de masas". pertinentes su “descubrimiento”. 5.- Esta publicación NO SE HACE RESPONSABLE ni tienen por qué COMPARTIR Pues bien, HACKER no es mas que una persona que posee conocimientos las opiniones personales vertidas por sus colaboradores, por lo que NO avanzados sobre una materia en concreto, normalmente relacionados con SOMOS RESPONSABLES de las mismas. la tecnología aunque ni mucho menos limitado a ello. Ponen sus aptitudes 6.- Cualquier texto publicado estará bajo las protecciones de DERECHOS al servicio de un único objetivo: EL CONOCIMIENTO. Desean conocer el DE AUTOR y no se permite su copia, publicación, modificación o distribución funcionamiento de "las cosas" y no encuentran límites en sus camino mas sin antes obtener el permiso de esta editorial. De este punto quedan exentos que su propia curiosidad. No se dedican a destruir ni a causar estragos aquellos textos que han sido obtenidos de terceros y/o que están sujetos entre sus "victimas", no se dedican a robar ni a chantajear ni a regodearse a otras licencias (ya sean por parte de su autor o por terceros). de sus "conquistas", muy al contrario suelen advertir a terceros de las 7.- Si desean ponerse en contacto con nuestro departamento jurídico, debilidades de sus sistemas y, desgraciadamente, esos "terceros" en lugar rogamos enviar mail a juridico@hackxcrack.com de agradecerles su aviso se dedican a denunciarlos o perseguirlos… aunque no siempre es así, por supuesto, muchas compañías y gobiernos han PARA NUESTROS LECTORES: aprendido lo valiosos que son los HACKERS y ahora algunos son colaboradores (o empleados) de estos. BILL GATES es un HACKER (el papá ventanas), Como podréis ver, esta no es una revista mas, por primera vez tenéis ante como Linus Torvalds (el papá Linux) o Grace Hooper (la Almirante, vosotros una publicación LIBRE que os ofrecerá la posibilidad de explorar creadora del Lenguaje COBOL), los autores del COREWAR Robert Thomas la red tal y como debe explorarse ;) Morris, Douglas McIlroy y Victor Vysottsky (precursores de los creadores de virus informáticos), Fred Cohen (el primer investigador y Esta publicación responde a la pregunta mas veces expuesta en LA RED: autor de los virus de la historia), Dennis Ritchie y Ken Thompson ¿Como puedo ser un hacker? Bien, ahora seguro que muchos ya se están ("hacedores" del Lenguaje C y co-creadores del SO UNIX), Gary Kildall "sonriendo" y pensando lo ilusos que somos al intentar "eregirnos" en (autor del sistema operativo CMP y CPM/86), Tim Paterson (autor del "portadores de LA LUZ", pensando que seremos una "escuela de lamers" Quick & Dirty DOS), Morris (autor de "The tour of the Worm"), Kevin y similares a otras publicaciones que, entre sus 100 páginas de revista solo Mitnick (el más buscado por el FBI), Phiber Optik (líder juvenil convertido contiene 5 de "material utilizable" (si es que puede llamarse así). en símbolo de los hackers), Richard Stallman (impulsor del software libre y GNU), Johan Helsingius (primer conductor de un Remailer Pues NO, lo siento, vosotros seréis nuestros jueces y, llegado el caso, Anónimo), Chen Ing-Hou (autor del virus CIH -Chernobyl- ), Sir Dyistic NUESTROS VERDUGOS. (creadorutor del Back Orifice), David L. Smith (virus Melissa), Reonel Ramonez (virus LoveLetter), Vladimir Levin (Robó electrónicamente Nuestro objetivo es: ACABAR CON LA BASURA DE LA RED (lamers y demás 10 millones de dólares al Citibank), y muchos mas. ¿Cómo? ¿Pero no hemos "esencias") con el único método que conocemos: LA EDUCACIÓN y con un dicho que los hackers no comenten delitos? Pues NO, vuelve a leer su única bandera que será por siempre nuestra firma: SOLO EL CONOCIMIENTO definición… pero claro, de todo hay en la viña del señor, y al igual que hay TE HACE LIBRE LIBRE. delincuentes entre el clero hay hackers que en un momento u otro han ·caido· en la ilegalidad, nadie es perfecto!!!!! … y Bill Gates es un HACKER? Estos son nuestros pilares: LA EDUCACIÓN Y EL CONOCIMIENTO Para ser CONOCIMIENTO. Por supuesto, solo tienes que leerte su biografía. ¿Sorprendido? Espero un HACKER (maldita palabra mal entendida por unos y peor utilizada por que no, porque eso no es nada mas que un cero a la izquierda en comparación otros) solo hace falta dos cosas: curiosidad y medios, a partir de ahora la con lo que vas a encontrar en esta revista. PC PASO A PASO Nº 9 Página 3
  4. 4. EDITORIAL: gracias a todos Si eres lector habitual o miembro de EL F O R O d e H a c k x C r a c k INDICE (www.hackxcrack.com) ya sabes que debido a causas mayores AZIMUT me ha sustituido como director durante los números 7 y 8. No tengo palabras para agradecerle el gran trabajo que ha realizado sacando adelante esta revista. Hace pocos días AZIMUT me pidió que cuando escribiese 3 DECLARACION DE INTENCIONES esta editorial no le mencionase a él sino (en sus palabras) “a los verdaderos 4 EDITORIAL a r t í f i c e s d e l m i l a g r o : l o s c 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 s 5 CURSO DE LINUX(II) SISTEMA DE ARCHIVOS agradecerle que sigamos en la “palestra” a muchas personas que han 13 GANADOR DEL CONCURSO SUSE LINUX c o l a b o ra d o c o n H X C d e fo r m a totalmente desinteresada, a los 14 SERVIDOR DE HXC. MODO DE EMPLEO miembros del foro que nos ayudan con sus críticas, a los moderadores que 15 APACHE: - CONFIGURACION. mantienen un lugar donde hablar - COMPARTE ARCHIVOS MEDIANTE WEB libremente, a los maquetadores que han trabajado noches enteras y con prisas, 25 COLABORA CON NOSOTROS y no hace falta seguir porque la lista es muy larga y podría dejarme a 26 CURSO DE VISUAL BASIC: - MI PRIMERA DLL. alguien. - ACCESO A DATOS GRACIAS, GRACIAS y GRACIAS. 36 SUSCRIPCIONES Espero que este número 9 os guste 37 TECNICAS DE PORT SCANNING. USO DEL NMAP tanto como los dos anteriores y os anuncio que se preparan cambios 45 PROTOCOLOS Y SU SEGURIDAD: IRC importantes que ayudarán a que esta revista llegue tan lejos como todos 65 BAJATE LOS LOGOS DE PC PASO A PASO (HXC) deseamos: Ya sabes que en EL FORO anunciamos las novedades, pásate de 66 CONCURSO DE SUSE LINUX 8.2 vez en cuando y lee la sección de COMUNICADOS. 67 NUMEROS ATRASADOS Un enorme saludo a todos y os dejo con la revista. Página 4 PC PASO A PASO Nº 9
  5. 5. gnu linux (II) El Sistema de Archivos 1.- Introducción un determinado nombre. Esto quiere decir que si hemos guardado nuestros datos en un archivo Habiendo presentado en artículos anteriores el llamado ejemplo.txt y luego queremos guardar más sistema GNU/LiNUX, vamos a ir profundizando poco datos en la misma ubicación, tendremos que a poco en los aspectos que lo definen. En concreto guardarlos en un archivo con un nombre distinto en el presente artículo se tratará el Sistema de como ejemplo2.txt. Archivos de este Sistema Operativo (S.O.). En el próximo artículo pasaremos a describir diversas 2.1.- Tipos de archivo tareas administrativas como administración de usuarios, dispositivos, etc... Los archivos pueden contener diversos tipos de Aunque parece fuera de toda lógica, la razón de información. Básicamente podremos clasificar los posponer estos temas a un tercer capítulo es la archivos conforme a su contenido de la siguiente siguiente: Tanto la administración de usuarios, como manera: la de servicios o la de dispositivos requiere de un conocimiento al menos básico del Sistema de Archivos 1.- Datos de usuario: Información que crea y dado que en este recaerán cosas tan importantes actualiza un usuario. Puede ir desde un simple como permisos, cuotas, etc.... archivo de texto, hasta archivos más complicados Centrándonos ya en el tema que hoy tratamos, no generados por aplicaciones de usuario tales como cabe duda de que tratar con archivos y directorios aplicaciones CAD, procesadores de texto, etc.... así como comprender la estructura en la que estos se distribuyen en el disco es algo de importancia 2.- Datos del sistema: Información, normalmente vital. No ya para comprender GNU/LiNUX sino en formato de texto plano, que contienen información cualquier S.O. sobre como está configurado nuestro sistema. Un Tal como dijimos en pasados artículos, GNU/LiNUX ejemplo de este tipo de archivos será el archivo es un S.O. deudor de UNiX y como veremos a lo /etc/passwd que contiene información relevante sobre largo de este artículo, esto también se notará en las cuentas de usuario. Obviamente este tipo de su Sistema de Archivos. Una vez más, el objetivo archivos es manejado habitualmente por el es que lo que aprendamos en el siguiente artículo administrador del sistema, estando vedado su uso no se limite a la distro XXXX... Es más, si después al resto de los usuarios. de una lectura atenta del artículo hemos aprendido algo, esto que hayamos aprendido será aplicable a 3.- Archivos ejecutables: Estos archivos contienen cualquier sistema UNiX. instrucciones que el ordenador puede comprender e interpretar. Son los llamados programas o ejecutables. 2.- Archivos 4.- Archivos de dispositivo: Como se dijo en el El concepto básico de un archivo, con el que casi artículo anterior, una característica que determina todos estamos probablemente familiarizados, define el comportamiento de los sistemas UNiX-like, es que a "archivo" como un conjunto de datos incluso el acceso al hardware de nuestro ordenador independientes que reside en nuestro disco duro. se puede realizar mediante acceso a archivos. Estos Con "independientes" queremos decir que podemos archivos un tanto particulares requerirán de un tener diversos archivos cuyos contenidos son análisis en mayor profundidad que será abordado distintos. Esto hará que sea necesaria la identificación en breve. de cada uno de estos archivos de manera que podamos identificar el contenido del mismo frente 2.2.- Nombres de archivo a los demás. En GNU/LiNUX identificaremos un archivo por su En GNU/LiNUX podemos utilizar nombres de archivo nombre y su ubicación. En cada ubicación o de hasta 256 caracteres. Estos caracteres pueden "directorio" sólo podrá existir un único archivo con ser tanto letras mayúsculas como letras minúsculas, PC PASO A PASO Nº 9 Página 5
  6. 6. GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS números y otros caracteres especiales como el guión En GNU/LiNUX el directorio que contiene todos los (-), el subrayado (_) o el punto (.). demás directorios es llamado "directorio raíz". En este punto conviene llamar la atención sobre un Cualquier otro directorio será subdirectorio de este. aspecto particular de los sistemas UNiX-like: Los A partir de este directorio raíz, tras poner un nombres de archivos/directorios son case-sensitive; subdirectorio tras otro, formamos una estructura es decir, nombres de archivo que son iguales en arborescente denominada "árbol de directorios” (ver apariencia pero difieren en las mayúsculas y las fig 1 al final de este artículo) minúsculas serán realmente dos nombres de archivo distintos. Así por ejemplo los siguientes nombres de 3.3.- Nombres de directorio archivos pueden coexistir en una misma ubicación Los directorios se nombran de la misma manera que dado que son archivos distintos: ejemplo.txt, los archivos; es decir siguiendo la misma regla de ejemplo.TXT, Ejemplo.txt, EJEMPLO.TXT, caracteres que se pueden utilizar y los que no y EjEmPlO.txt, 3j3mp10_h4ch0r_d3_3s0s.txt.... observando el case-sensitive. Quitando el último ejemplo que es una dedicación El carácter barra inclinada (/) es utilizado para personal a las reinonas del glam que pululan por referirnos a directorios o archivos que están dentro doquier, creo que queda bien reflejado el sentido de un directorio. Por ejemplo, del párrafo anterior. artículoshxc/artículo2.abw, nos dice que el archivo Existirán así mismo una serie de meta caracteres artículo2.abw se encuentra dentro del directorio que no podrán formar parte del nombre de un artículoshxc. Así mismo con el siguiente ejemplo archivo. Es el caso de los asteriscos (*), signo de artículoshxc/grafs nos estamos refiriendo a un interrogación (?), barra invertida (), etc... Debido subdirectorio, grafs que se encuentra bajo el directorio a que tendrán un significado concreto para la shell. artículoshxc. Cuando se aborde en profundidad la shell y sus Nótese que a priori es difícil distinguir cuando nos intríngulis veremos más de estos meta caracteres. estamos refiriendo a un archivo o a un directorio. Más adelante veremos que mediante los comandos 3.- Directorios adecuados y parámetros no menos adecuados podremos distinguir fácilmente cuando listamos GNU/LiNUX, al igual que muchos SS.OO. organizan archivos o directorios. Por ahora puede ser un los archivos en directorios. Podemos pensar en los ejercicio interesante observar las distintas salidas directorios como en carpetas que contienen archivos que provocan las siguientes invocaciones de comando: o a su vez más carpetas. 3.1.- Directorios Padre y 00 $ ls 01 $ ls -F Subdirectorios 02 $ ls --color Imaginemos la siguiente situación: Un directorio A 03 $ ls --color -F que contiene un directorio B. Llamaremos a B subdirectorio del directorio A, y el directorio A será En cuanto a la salida es probable que muchos no el directorio padre del directorio B. observéis diferencias. Esto es debido a que sobre Esto que a algunos les parecerá una perogrullada todo las dos últimas opciones (02 y 03) vienen ya (sobre todo a los que, como servidor, peinan canas) activadas "de serie". Por supuesto nosotros he decidido ponerlo, no ya para rellenar espacio aprenderemos a "activar opciones de serie" cuando como barruntan las mentes malpensantes, sino como nos enfrentemos al artículo "La shell y tú: una historia una necesidad perentoria. ¿Lo qué? Pues eso; como de lujuria". El directorio raíz será siempre mostrado con un tengo la fortuna de dedicarme a esto de la enseñanza carácter / en vez de referirnos a él con un nombre. de rerum calculum machinae, puedo asegurar que No debe causarnos confusión el distinguir cuando de los nacidos en el 85 en adelante casi nadie ha el carácter / se utiliza para separar nombres de utilizado en su vida algo similar a una línea de directorios o cuando se utiliza para referirse al comandos y que incluso pasar del concepto de directorio raíz. En este último caso jamás irá precedido "carpeta" al de directorio a menudo trae problemas. de un nombre. Así al escribir /usr/bin nos estamos refiriendo al directorio bin que cuelga del directorio 3.2.- El directorio raíz: La madre usr que a su vez cuelga del directorio / (raíz). (¿padre?) de todos los directorios Página 6 PC PASO A PASO Nº 9
  7. 7. GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS 3.4- El directorio Home de trabajo. Para ver las numerosas opciones que soporta este comando podemos teclear ls --help | GNU/LiNUX proporciona a cada usuario su propio more (¿quién no se estudió el capítulo de directorio. Este es el llamado "directorio home" o fontanería....? ;o) ) "directorio casa". Dentro de este directorio cada usuario puede guardar sus propios archivos y crear 4.2.- Nombres de archivo absolutos sus propios subdirectorios. y relativos Dependiendo del sistema GNU/LiNUX que se utilice, los demás usuarios podrán acceder o no a los Cuando especificamos el nombre de un archivo, archivos de un usuarios determinado. GNU/LiNUX lo busca en el directorio de trabajo. Si La localización del directorio home puede ser el archivo no se encuentra en el directorio de trabajo cambiada por el administrador, pero habitualmente se nos mostrará un mensaje de error: este tipo de directorios se encuentran bajo el directorio /home. 00 luis@el_chaman ~ $ ls cosa 01 cosa 4.- Navegando por el Sistema de 02 luis@el_chaman ~ $ ls cosa2 Archivos de GNU/LiNUX 03 ls: cosa: No existe el archivo o directorio Navegar por el sistema de archivos GNU/LiNUX es En algunas ocasiones nos interesará referirnos a un una tarea harto sencilla: tan sólo tendremos que archivo que no se encuentre en el directorio de aprender dos comandos y uno de ellos ni siquiera trabajo. Entonces nos tendremos que referir al posee parámetros. archivo diciendo el directorio donde se encuentra y el propio nombre del archivo. 4.1.- El comando pwd: ¿Dónde estoy? 00 luis@el_chaman ~ $ ls artículoshxc/artículo2.abw Tecleemos el comando pwd. Observaremos algo 01 artículo2.abw como: 02 luis@el_chaman ~ $ 00 luis@el_chaman ~ $ pwd En el ejemplo vemos como si queremos listar el 01 /home/luis archivo artículo2.abw que se encuentra dentro del 02 luis@el_chaman ~ $ subdirectorio artículoshxc debemos de especificar el nombre del subdirectorio y el nombre del archivo. Esto quiere decir que nos encontramos en el directorio A esta manera de hacer las cosas se le denomina /home/luis. Este directorio (en el que nos nombre de archivo relativo dado que la ruta (path) encontremos en cada momento) será conocido como hacia el archivo que buscamos es relativa a nuestro directorio de trabajo o directorio actual. Este es el directorio de trabajo; es decir, a donde nos directorio home para el usuario luis. Por defecto, encontramos en un determinado momento. Si cuando entramos en nuestro sistema, GNU/LiNUX cambiásemos de directorio de trabajo, este manera nos deposita en nuestro directorio home. de referirnos al archivo artículo2.abw ya no nos serviría. El término pwd corresponde al acrónimo print working directory. Esto nos muestra otra costumbre bastante Además, puede parecer que esto nos permite realizar común en los entornos UNiX-like: la abreviación de llamadas relativas sobre subdirectorios (es decir, comandos de manera que sean fáciles de teclear. directorios que se encuentran por debajo de donde nos encontramos nosotros). Esto no es del todo Una vez que estamos situados en un directorio, cierto dado que existen dos directorios especiales querremos saber que contiene. Para ello, se utiliza que nos permitirán hacer cosas curiosas: . (directorio el comando ls. de trabajo) y .. (directorio padre del directorio de 00 luis@el_chaman ~ $ ls trabajo). Así por ejemplo todas las siguientes llamadas 01 artículoshxc cosa multimedia public_html son nombres de archivos relativos al directorio de 02 luis@el_chaman ~ $ trabajo actual: El comando ls (list) nos lista el contenido del directorio 00 luis@el_chaman ~ $ ls ./artículoshxc/artículo2.abw PC PASO A PASO Nº 9 Página 7
  8. 8. GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS 01 artículo2.abw 13 luis@el_chaman $ pwd 02 luis@el_chaman ~ $ ls ../tuxed/visio.iso 14 / 03 visio.iso El directorio raíz no posee padre, así que si ahora En el segundo comando .. significa que subimos un tecleásemos cd .. (obsérvese el espacio obligatorio nivel, nos metemos dentro del directorio home del entre cd y los dos puntos) seguiríamos estando en usuario tuxed y listamos el archivo visio.iso. Por el directorio raíz. cierto, este archivo nada tiene que ver con cierta aplicación comercial de la que no se puede realizar Si tecleamos simplemente cd sin pasarle argumentos, copias sin el consentimiento expreso de MicroSoft. automáticamente nos lleva a nuestro directorio home: La otra manera de referirnos a estos archivos sería 00 luis@el_chaman $ pwd mediante el uso de la ruta que va desde el directorio 01 /usr/doc raíz hasta donde se encuentra el archivo que 02 luis@el_chaman $ cd queremos sin tener en cuenta para nada el directorio 03 luis@el_chaman $ pwd de trabajo. A esta manera de hacer las cosas se le 04 /home/luis denomina nombre de archivo absoluto. El ejemplo arriba mostrado quedaría de la siguiente manera: Es bastante común en las últimas distribuciones que el propio prompt (el texto que aparece a la derecha) 00 luis@el_chaman ~ $ ls nos diga en todo momento en que directorio nos /home/luis/artículoshxc/artículo2.abw encontramos. Recordad que no todos los GNU/LiNUX 01 artículo2.abw y mucho menos todos los UNiX están configurados 02 luis@el_chaman ~ $ ls /home/tuxed/visio.iso de esta manera. Además, siempre es bueno conocer 03 visio.iso lo que funcionará en todos los sitios. Como anecdotario particular, la salida real en mi sistema 4.3.- Nos vamos a hacer turismo por de los ejemplos anteriores tiene más bien el siguiente aspecto: el disco duro: El comando cd 00 luis@el_chaman ~ $ cd /home/luis El comando cd (change directory) nos permitirá 01 luis@el_chaman ~ $ pwd cambiar de directorio de trabajo. Es decir, nos 02 /home/luis moveremos a otro directorio. La sintaxis de este 03 luis@el_chaman ~ $ cd .. comando es la siguiente: 04 luis@el_chaman /home $ pwd 05 /home 00 cd <directorio_destino> 06 luis@el_chaman /home $ cd luis/artículoshxc 07 luis@el_chaman ~/artículoshxc $ pwd El espacio entre cd y <directorio_destino> es 08 /home/artículoshxc/ obligatorio. El directorio de destino puede ser el 09 luis@el_chaman ~/artículoshxc $ cd /usr/doc nombre absoluto o relativo de un directorio. Veamos 10 luis@el_chaman /usr/doc $ pwd algunos ejemplos: 11 /usr/doc 12 luis@el_chaman /usr/doc $ cd / 00 luis@el_chaman $ cd /home/luis //Camino absoluto 13 luis@el_chaman / $ pwd 01 luis@el_chaman $ pwd 14 / 02 /home/luis 15 luis@el_chaman / $ cd 03 luis@el_chaman $ cd .. //Camino relativo 16 luis@el_chaman ~$ pwd 04 luis@el_chaman $ pwd 17 /home/luis 05 /home 06 luis@el_chaman $ cd luis/artículoshxc//Camino relativo Obsérvese que por abreviar el directorio home se 07 luis@el_chaman $ pwd escribe con el símbolo ~ 08 /home/artículoshxc/ 09 luis@el_chaman $ cd /usr/doc //Camino absoluto 10 luis@el_chaman $ pwd 5.- Creando y borrando archivos 11 /usr/doc 12 luis@el_chaman $ cd / //Camino absoluto GNU/LiNUX dispone de diversas maneras de crear Página 8 PC PASO A PASO Nº 9
  9. 9. GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS y eliminar archivos. De hecho, algunas de estas 00 luis@el_chaman ~ $ cat /dev/cdrom > imagenCD.iso maneras son tan simples de realizar que muchas veces tenemos que tener cuidado de no borrar o Pero antes de meternos en tamaños berenjenales, sobrescribir accidentalmente archivos. vamos a hablar un poco sobre este gatito. El comando cat funciona de la siguiente manera: toma como Inicialmente vamos a crear un archivo utilizando las entrada el primer parámetro que le pasemos y nos redirecciones de entrada/salida. Las redirecciones muestra su contenido. funcionan de la siguiente manera: Una redirección Por defecto, si se invoca sin ningún parámetro, se de salida (>) desvía el flujo de información generado toma como entrada la entrada estándar (es decir, por un programa y que se destina a la salida estándar el teclado). Veamos un ejemplo: hacia otra ubicación, normalmente un archivo. Una redirección de entrada (<) desvía el flujo de datos 00 luis@el_chaman ~ $ cat de entrada estándar, es decir el teclado, a otra 01 Hola, esto es una prueba. Ahora doy a ENTER fuente de datos; normalmente un fichero. 02 Hola, esto es una prueba. Ahora doy a ENTER 03 y sigo en la siguiente línea. Vamos a crear nuestro primer fichero mandando 04 y sigo en la siguiente línea. todo aquello que debería de salir por pantalla a un 05 ¿Cómo salgo de aquí por Dios? archivo. Para ello, vamos a teclear la siguiente 06 ¿Cómo salgo de aquí por Dios? secuencia de comandos: 07 <Ctrl-D> 08 EOF 00 luis@el_chaman ~ $ cd 01 luis@el_chaman ~ $ ls -l /bin > ejecutables_en_bin.txt Parece que nos hemos atascado, compañeros 02 luis@el_chaman ~ $ ls ejecutables_en_bin.txt padawanes. Cada vez que le damos a ENTER el gatito 03 ejecutables_en_bin.txt este se empeña en repetir lo que hemos escrito. 04 luis@el_chaman ~ $ Muy bien. Para salir de esta pesadilla lo que tenemos que hacer es presionar la combinación Ctrl-D ( Tras teclear lo arriba mostrado, habremos generado Control + D) si estamos al principio de una línea o un archivo de texto que contiene un listado de los Ctrl-D, Ctrl-D (dos veces) si estamos al final. Esto archivos contenidos en el directorio /bin. Para que insertará el carácter fin de archivo (EOF, end of file) nos hagamos una idea de lo que contendrá ese con lo que habremos terminado. archivo, basta con que volvamos a ejecutar el comando pero sin redireccionar ahora la salida: Bueno, hemos visto que todo lo que escribíamos se mandaba a la salida estándar. ¿Qué ocurriría si 00 luis@el_chaman ~ $ cd redireccionamos las salida estándar a un fichero?: 01 luis@el_chaman ~ $ ls -l /bin 00 luis@el_chaman ~ $ cat > nuevo_fichero.txt Ahora bien; ¿cómo podemos ver el contenido del 01 Hola, esto es una prueba. Ahora doy a ENTER archivo?. De nuevo existirán varias maneras; listo 02 y sigo en la siguiente línea. algunas pero nos quedaremos con la última por ser 03 ¿Cómo salgo de aquí por Dios? la más potente: 04 <Ctrl-D> 00 luis@el_chaman ~ $ more ejecutables_en_bin.txt Bueno, parece que el gato este ahora no es tan 01 luis@el_chaman ~ $ less ejecutables_en_bin.txt respondón. Pulsamos de nuevo Ctrl-D y veremos 03 luis@el_chaman ~ $ cat ejecutables_en_bin.txt que volvemos al prompt del sistema. 5.1.- cat: Sobre gatos y otros bichos 00 luis@el_chaman ~ $ 01 luis@el_chaman ~ $ cat nuevo_fichero.txt El comando cat es uno de los más simples, útiles y 02 Hola, esto es una prueba. Ahora doy a ENTER versátiles comandos de los que disponemos en 03 y sigo en la siguiente línea. GNU/LiNUX. Para que os hagáis una idea: ¿Cómo 04 ¿Cómo salgo de aquí por Dios? creo una imagen ISO de un CDROM? ¿Nero? ¿Algo 05 luis@el_chaman ~ $ similar? Agárrense vuesas mercedes los machos y dispongan a asombrarse: Bueno, lo que hemos hecho es utilizar ahora cat PC PASO A PASO Nº 9 Página 9
  10. 10. GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS como visualizador. Simplemente hemos tecleado cat 09 Este es un texto modosito que hacemos para nuevo_fichero.txt y el gatito nos muestra el contenido probar una cosa. Versión dos. de dicho fichero. Si quisiéramos añadir más texto 10 luis@el_chaman ~ $ teclearíamos: Como vemos cat se ha encargado en la línea 06 los 00 luis@el_chaman ~ $ cat >> nuevo_fichero.txt archivos otro_fichero1.txt y otro_fichero2.txt mandando 01 Este es texto añadido el contenido al fichero otro_fichero3.txt. 02 <Ctrl-D> 03 luis@el_chaman ~ $ cat nuevo_fichero.txt 5.2.- Creando directorios 04 Hola, esto es una prueba. Ahora doy a ENTER 05 y sigo en la siguiente línea. Para crear un nuevo directorio tendremos que usar 06 ¿Cómo salgo de aquí por Dios? el comando mkdir. La sintaxis de este comando es 07 Este es texto añadido. mkdir <nombre> donde <nombre> es el nombre que 08 luis@el_chaman ~ $ queremos dar al directorio: Es decir, un único comando de sistema nos puede 00 luis@el_chaman ~ $ ls servir de editor de supervivencia. Eso sí, su uso 01 artículoshxc cosa multimedia requiere de mucho cuidado. Fijémonos en la línea nuevo_fichero.txt otro_fichero1.txt 00. La redirección ha sido sustituida por unos >>. 02 otro_fichero2.txt otro_fichero3.txt Esto quiere que la redirección se comporta como public_html antes pero que añade texto al texto existente. Si 03 luis@el_chaman ~ $ mkdir ejercicios_hxc sólo pusiéramos un único > sustituiría el antiguo 04 luis@el_chaman ~ $ ls texto por el nuevo (se recomienda experimentar 05 artículoshxc cosa ejercicios_hxc con esto). multimedia nuevo_fichero.txt otro_fichero1.txt 06 otro_fichero2.txt otro_fichero3.txt public_html Bueno, y podríamos decir que ya hemos terminado con el gatito. Bueno, alguien se preguntará el 5.3.- Moviendo y copiando archivos, porqué de que me haya estado refiriendo constantemente a este comando como el gatito. La mareando la perdiz razón es que cat en inglés significa gato. Vale, la tontería del número nueve. ¿Pero por qué demonios A menudo necesitaremos mover o copiar archivos. llaman a un comando gato? ¿ Por qué no perro, Cabe destacar que el término mover en informática asno,....? Bueno la razón de ello es que cat NO se refiere a realizar una copia de un elemento significa gato. El significado de este comando es de borrando el original. Copiar, por el contrario, se nuevo una abreviatura que corresponde a la palabra refiere a hacer una copia conservando el elemento inglesa concatenate, concatenar. Y esto es porque original. este comando se construyó para concatenar (unir) Los comandos que tenemos para mover y copiar archivos. Veamos a cat en acción en el terreno que son respectivamente: mejor domina: la concatenación: mv <origen> <destino> 00 luis@el_chaman ~ $ cat > otro_fichero1.txt cp <origen> <destino> 01 Este es un texto modosito que hacemos para probar una cosa. Versión uno Vamos a ver algunos ejemplos de uso: 02 <Ctrl-D> 03 luis@el_chaman ~ $ cat > otro_fichero2.txt 01 luis@el_chaman ~ $ ls 04 Este es un texto modosito que hacemos para 02 artículoshxc cosa ejercicios_hxc probar una cosa. Versión dos. multimedia nuevo_fichero.txt otro_fichero1.txt 05 <Ctrl-D> 03 otro_fichero2.txt otro_fichero3.txt 06 luis@el_chaman ~ $ cat otro_fichero1.txt public_html otro_fichero2.txt > otro_fichero3.txt 04 luis@el_chaman ~ $ mv ejercicios_hxc ejercicioshxc 07 luis@el_chaman ~ $ cat otro_fichero1.txt 05 luis@el_chaman ~ $ ls 08 Este es un texto modosito que hacemos para 06 atículoshxc cosa ejercicioshxc probar una cosa. Versión uno multimedia nuevo_fichero.txt otro_fichero1.txt Página 10 PC PASO A PASO Nº 9
  11. 11. GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS 07 otro_fichero2.txt otro_fichero3.txt multimedia nuevo_fichero.bck public_html public_html 09 luis@el_chaman ~ $ ls ejercicioshxc 08 luis@el_chaman ~ $ cp nuevo_fichero.txt 10 cosa multimedia nuevo_fichero.bck nuevo_fichero.bck nuevo_fichero.txt otro_fichero1.txt otro_fichero2.txt 09 luis@el_chaman ~ $ ls otro_fichero3.txt 10 artículoshxc cosa ejercicioshxc 11 luis@el_chaman ~ $ multimedia nuevo_fichero.txt nuevo_fichero.bck 11 otro_fichero1.txt otro_fichero2.txt En la línea 01 movemos el directorio cosa (y todo lo otro_fichero3.txt public_html que contenga) al directorio ejercicioshxc, quedando dentro de este. En 06 sin embargo hacemos una copia de multimedia y todo lo que contenga En la línea 04 lo que hacemos es mover el directorio recursivamente y la situamos dentro de ejercicioshxc. que creamos anteriormente; equivale a renombrarlo. Obsérvese el parámetro -R (de recursive, recursivo) En la línea 08 realizamos una copia de que es el que indica que se debe de copiar el nuevo_fichero.txt a nuevo_fichero.bck. directorio y todo sus contenidos (incluyendo posibles subdirectorios). Podemos consultar más parámetros El uso común de estos comandos suele ser utilizarlos de mv o cp tecleando man mv o man cp junto con comodines. Los comodines son una serie de caracteres especiales que sustituyen partes del 5.4.- Borrando archivos y directorios: nombre de un archivo (*) o letras del mismo (?). Jugamos con fuego. Así los siguientes comandos: Antes de nada asegurémonos que no estamos como 01 luis@el_chaman ~ $ cp * /tmp usuario root (administrador) dado que si metemos 02 Omitiendo artículoshxc: Es un directorio la pata y borramos algo que no debemos la cosa 03 Omitiendo cosa: Es un directorio tendrá difícil solución. Sin embargo si un usuario 04 Omitiendo ejercicioshxc: Es un directorio normal intentase borrar archivos delicados para el 05 Omitiendo multimedia: Es un directorio sistema, éste no le dejaría. En próximos apartados 06 Omitiendo public_html: Es un directorio veremos la razón de esto. 07 luis@el_chaman ~ $ mv *.txt ejercicioshxc 08 luis@el_chaman ~ $ cp *.bc? ejercicioshxc El comando por antonomasia para el borrado es rm (de remove, eliminar) cuya sintaxis es: rm <nombre> En la línea 01, copiamos TODOS los archivos (no donde nombre es el nombre de archivo a borrar. Al directorios) que hay en el directorio de trabajo al igual que cp y mv admite comodines lo cual puede directorio /tmp. En la línea 07 movemos todos los resultar peligroso. Veamos algunos ejemplos: archivos que terminen en .txt al directorio ejercicioshxc y en la línea 08 copiamos todos los archivos que 01 luis@el_chaman ~ $ cd ejercicioshxc terminen en .bc? siendo ? cualquier carácter (por 02 luis@el_chaman ~/ejercicioshxc $ ls ejemplo nuevo_fichero.bck o mikasa.bcx). 03 cosa multimedia nuevo_fichero.txt nuevo_fichero.txt otro_fichero1.txt otro_fichero2.txt Podemos así mismo mover directorios a otra otro_fichero3.txt ubicación o copiar estructuras enteras de directorios: 04 luis@el_chaman ~/ejercicioshxc $ rm nuevo_fichero.txt 01 luis@el_chaman ~ $ mv cosa ejercicioshxc 05 luis@el_chaman ~/ejercicioshxc $ ls 02 luis@el_chaman ~ $ ls 06 cosa multimedia nuevo_fichero.bck 03 artículoshxc ejercicioshxc multimedia otro_fichero1.txt otro_fichero2.txt otro_fichero3.txt nuevo_fichero.bck public_html 07 luis@el_chaman ~/ejercicioshxc $ rm otro_* 04 luis@el_chaman ~ $ ls ejercicioshxc 08 luis@el_chaman ~/ejercicioshxc $ ls 05 cosa nuevo_fichero.bck nuevo_fichero.txt 09 cosa multimedia nuevo_fichero.bck otro_fichero1.txt otro_fichero2.txt otro_fichero3.txt 10 luis@el_chaman ~/ejercicioshxc $ 06 luis@el_chaman ~ $ cp multimedia ejercicioshxc - R Una manera segura de utilizar siempre el comando 07 luis@el_chaman ~ $ ls rm es añadirle el parámetro -i. Esto hará que cada 08 artículoshxc ejercicioshxc vez que queramos borrar un determinado archivo PC PASO A PASO Nº 9 Página 11
  12. 12. GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS nos pregunte si realmente queremos hacerlo o no: directorio (podría ser perfectamente un archivo normal) multimedia. El primer luis significa el 01 luis@el_chaman ~/ejercicioshxc $ ls propietario del archivo/directorio y el segundo usr 02 cosa multimedia nuevo_fichero.bck representa al grupo de usuarios al que pertenece el 03 luis@el_chaman ~/ejercicioshxc $ rm -i archivo/directorio. nuevo_fichero.bck 04 rm: ¿ borrar "nuevo_fichero.bck"? (s/n) n 6.1.- Cambiando propietarios. 05 luis@el_chaman ~/ejercicioshxc $ Imaginemos la siguiente situación: deseamos que Esta opción viene en muchos sistemas activada por un archivo del ordenador pase a pertenecer a otra defecto para el usuario root. persona: Para eliminar directorios emplearemos el comando rmdir cuya sintaxis es rmdir <nombre_directorio>. 01 luis@el_chaman ~/ejercicioshxc $ cd Antes de poder eliminar un directorio nos debemos /usr/share/pixmaps de asegurar de que este esté vacío: 02 luis@el_chaman /usr/share/pixmaps $ ls -l 03 -rw-r--r-- 1 pepe raros 4,0K 2003-04-15 23:00 01 luis@el_chaman ~/ejercicioshxc $ rmdir cosa logo.png 02 rmdir: cosa: El directorio no está vacío 03 luis@el_chaman ~/ejercicioshxc $ rm cosa/* En el directorio /usr/share/pixmaps tenemos un archivo 04 luis@el_chaman ~/ejercicioshxc $ rmdir cosa llamado logo.png que pertenece al usuario pepe y al grupo raros. Queremos cambiar el propietario a luis En ocasiones esta manera de borrar un directorio y el grupo a users. Lo tendremos que hacer como puede resultar extremadamente tediosa, sobre todo root: si el directorio a borrar contiene múltiples niveles de subdirectorios. Para poderlo hacer con un único 01 luis@el_chaman ~/ejercicioshxc $ su -- comando emplearemos las opciones -r (recursive) 02 Password: y -f (force) del comando rm: 03 root@el_chaman/usr/share/pixmaps $ chown luis.users logo.png 01 luis@el_chaman ~/ejercicioshxc $ rm -rf cosa 04 root@el_chaman /usr/share/pixmaps $ ls -l 05 -rw-r--r-- 1 luis users 4,0K 2003-04-15 23:00 Mucho cuidado con este comando. Imaginaos que logo.png ocurre si como root ejecutamos En el ejemplo se cambia a la vez el grupo y el rm -rf /. No ejecutar directorio. Sería posible cambiar por separado el usuario y el grupo. Ejemplos que hacen esto serían: 6.- Permisos y propietarios de los chown luis logo.png, ficheros chown .users logo.png. Todos y cada uno de los archivos y directorios de 6.2.- Permisos. un sistema GNU/LiNUX poseen permisos. Podremos cambiar los permisos y en ocasiones los propietarios Observemos un momento la siguiente tabla. En ella de nuestros archivos con el fin de proporcionar se nos muestra la notación binaria denominada octal mayor o menor grado de acceso a los mismos. Los debido a que puede mostrar ocho valores distintos. permisos también determinan si los archivos pueden ejecutarse como un comando o no. Ahora analicemos un momento la salida que nos dio Si tecleamos ls -l, veremos una salida similar a esta: la ejecución del comando ls -l anteriormente ejecutado: 01 luis@el_chaman ~/ejercicioshxc $ ls -l 02 drw-r--r-- 1 luis usr 4,0K 2003-04-15 05 -rw-r--r-- 1 luis users........... 23:00 multimedia Agrupemos ahora esa cadena de erres, guiones y La cadena drw-r--r-- representa los permisos del uves doble en grupos de tres comenzando por la Página 12 PC PASO A PASO Nº 9
  13. 13. GNU - LINUX (II) SISTEMA DE ARCHIVOS ---- GNU - LINUX (II) SISTEMA DE ARCHIVOS izquierda. Obtendremos algo parecido a: un significado muy distinto para un directorio. Os rwx invito a que investiguéis qué sucede si damos permiso rw- permisos para el propietario al que pertenece de ejecución o no a un directorio. Utilizad dos el archivo usuarios distintos que pertenezcan a distintos grupos. r-- permisos para el grupo al que pertenece el Ya me contaréis vuestras experiencias ;o) archivo r-- permisos para el resto de los usuarios 7.- Conclusiones r: permiso de lectura Una vez más nos quedamos cortos de espacio y w: permiso de escritura muchas cosas en el tintero. Aún así espero haber x: permiso de ejecución sintetizado lo más importante de los sistemas de -: sin permiso archivos bajo entornos UNíX. Teniendo esta información en mente, veamos que Quede como comentario final que debido al espacio sucede cuando cambiamos los permisos de un no se ha podido comentar en profundidad la finalidad archivo: de cada uno de los directorios. Afortunadamente esta es una información bastante sencilla de 01 root@el_chaman /usr/share/pixmaps $ ls -l encontrar: http://www.pathname.com/fhs/2.2/ En esta 02 -rw-r--r-- 1 luis users 4,0K 2003-04-15 23:00 página se nos muestra el Filesystem Hierarchy logo.png Standard ( Jerarquía Estándar del Sistema de 03 root@el_chaman /usr/share/pixmaps $ exit Archivos) o dicho de otra manera: Qué va en cada 04 luis@el_chaman /usr/share/pixmaps $ chmod 755 directorio, cuántos directorios puedo encontrarme logo.png en un sistema UNiX , qué puedo esperar encontrarme 05 luis@el_chaman /usr/share/pixmaps $ ls -l en cada uno de ellos, etc..... 06 -rwxr-xr-x 1 luis users 4,0K 2003-04-15 23:00 logo.png Una vez leáis esa página comprenderéis el porqué Vemos como han cambiado los permisos del archivo, de la omisión de tan interesante apartado (y vital ahora bien, ¿cómo lo hemos hecho? ¿Qué significa para el tema que tratamos). ese extraño número que he puesto? Fijémonos ahora en la tabla adjunta. Concretamente en los números Saludos. binarios. Imaginemos que los 1s activan permisos i los 0s los cancelan. Como tenemos que asignar a cada grupo de permisos (propietario, grupo y resto de usuarios) un valor para lectura, escritura y ejecución, lo haremos aplicando a los tres posibles p e r m i s o s u n a m á s c a ra . A s í t e n d r e m o s : máscara Inicial Dec Bin Resultado (Fig 1) Propietario rwx 7 111 rwx Grupo rwx 5 101 r-x Resto rwx 5 101 r-x Observamos que al escribir chmod 755 archivo, lo EL GANADOR DEL que hacemos es pasar una máscara binaria a los SORTEO DE UN SUSE posibles permisos activándolos o desactivándolos LINUX 8.2 DEL MES DE para el archivo. Sólo podremos cambiar los permisos FEBRERO ES: de un archivo si poseemos permiso de escritura sobre él. OSCAR PONS MARTI MENORCA Los permisos pueden ser modificados tanto en SEGUIR LLAMANDO, EL PROXIMO archivos como en directorios teniendo en cuenta PODRIA SER PARA TI (PAG 66) que el concepto de "permiso de ejecución" posee PC PASO A PASO Nº 9 Página 13
  14. 14. SERVIDOR DE HXC MODO DE EMPLEO - Hack x Crack ha habilitado un servidor para que puedas A partir de ese momento, cualquiera que acceda a ese realizar las prácticas de hacking. servidor, verá el default.htm modificado para vergüenza del “site” hacheado. Esto es muy genérico pero os dará - Actualmente tiene el BUG del Code / Decode y lo una idea de cómo funciona esto de hackear Webs ;) dejaremos así por un tiempo (bastante tiempo ;) Nuestra intención es ir habilitando servidores a medida que os - Cuando accedas a nuestro servidor mediante el CODE / enseñemos distintos tipos de Hack, pero por el momento DECODE BUG, crea un directorio con tu nombre (el que con un Servidor tendremos que ir tirando (la economía no mas te guste, no nos des tu DNI) en la unidad d: a ser da para mas). posible (que tiene mas espacio libre) y a partir de ahora - En el Servidor corre un Windows 2000 Advanced Server utiliza ese directorio para hacer tus prácticas. Ya sabes, con el IIS de Servidor Web y está en la IP 80.36.230.235. subirnos programitas y practicar con ellos :) - El Servidor tiene tres unidades: Puedes crearte tu directorio donde quieras, no es necesario * La unidad c: --> Con 2GB que sea en d:mellamojuan. Tienes total libertad!!! Una * La unidad d: --> Con 35GB y Raíz del Sistema idea es crearlo, por ejemplo, en * La unidad e: --> CD-ROM d:winntsystem32defaultmellamojuan (ya irás aprendiendo que cuanto mas oculto mejor :) Nota: Raíz del Servidor, significa que el Windows Advanced Server está instalado en esa unidad (la unidad d:) y Es posiblemente la primera vez que tienes la oportunidad concretamente en el directorio por defecto winnt de investigar en un servidor como este sin cometer un Por lo tanto, la raíz del sistema está en d:winnt delito (nosotros te dejamos y por lo tanto nadie te perseguirá). Aprovecha la oportunidad!!! e investiga mientras - El IIS, Internet Information Server, es el Servidor de dure esta iniciativa (que esperamos dure largos años) páginas Web y tiene su raíz en d:inetpub (el directorio por defecto) - En este momento tenemos mas de 600 carpetas de peña que, como tu, está practicando. Así que haznos caso y Nota: Para quien nunca ha tenido instalado el IIS, le será crea tu propia carpeta donde trabajar. extraño tanto el nombre de esta carpeta (d:inetpub) cómo su contenido. Pero bueno, un día de estos os enseñaremos a instalar vuestro propio Servidor Web y detallaremos su funcionamiento. De momento, lo único que hay que saber es que cuando TÚ pongas nuestra IP (la IP de nuestro servidor) en tu navegador, lo que estás haciendo realmente es ir al ! MUY IMPORTANTE... directorio d:Inetpubwwwroot y leer un archivo llamado default.htm. Nota: Como curiosidad, te diremos que APACHE es otro MUY IMPORTANTE!!!!! Por favor, no borres archivos Servidor de páginas Web (seguro que has oído hablar de él). Si tuviésemos instalado el apache, cuando pusieses del Servidor si no sabes exactamente lo que estás haciendo ni nuestra IP en TU navegador, accederías a un directorio borres las carpetas de los demás usuarios. Si haces eso, lo único raíz del Apache (donde se hubiese instalado) e intentarías leer una página llamada index.html que consigues es que tengamos que reparar el sistema servidor y, mientras tanto, ni tu ni nadie puede disfrutar de él :( Explicamos esto porque la mayoría, seguro que piensa en un Servidor Web como en algo extraño que no saben ni Es una tontería intentar “romper” el Servidor, lo hemos puesto donde está ni como se accede. Bueno, pues ya sabes para que disfrute todo el mundo sin correr riesgos, para que todo dónde se encuentran la mayoría de IIS (en Inetpub) y cuál es la página por defecto el mundo pueda crearse su carpeta y practicar nuestros ejercicios. (Inetpubwwwrootdefault.htm). Y ahora, piensa un poco… En el Servidor no hay ni Warez, ni Programas, ni claves, ni nada … ¿Cuál es uno de los objetivos de un hacker que quiere decirle al mundo que ha hackeado una Web? Pues está de nada que “robar”, es un servidor limpio para TI, por lo tanto claro, el objetivo es cambiar (o sustituir) el archivo default.html por uno propio donde diga “hola, soy DIOS cuídalo un poquito y montaremos muchos más :) y he hackeado esta Web” (eso si es un lamer ;) Página 14 PC PASO A PASO Nº 9
  15. 15. APACHE Parte III : Configuracion - Comparte tus ficheros mediante web Bienvenidos de nuevo. En el número anterior se explicó los comandos básicos 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 capítulo está dividido en dos partes, en la primera parte profundizaremos en algunos módulos y en la segunda parte comenzaremos a crear servidores virtuales. ¿tienes curiosidad de saber qué es todo esto?, ... ya verás. 1. Los módulos de Apache. qué hacen para luego entender la práctica que vamos a realizar. Un módulo de Apache es un componente que añade funcionalidad al servidor. Existen mod_auth_anon: permite a usuarios diferentes módulos y pueden ser configurables. anónimos acceder a áreas autentificadas. Es necesario que sepas que puedes crear un módulo programado en C y adaptar el servidor mod_auth_dbm: proporciona autentificación Apache a tus necesidades. En la red encontrarás utilizando ficheros DBM. infinidad de módulos realizados por programadores independientes. mod_auth_digest: autentificación de usuario utilizando MD5. Los módulos se pueden clasificar en 3 mod_cern_meta: Semántica de etiquetas categorías: meta del CERN. 1. Módulos base: Son los módulos con las mod_expires: Generación de las cabeceras funcionas básicas de Apache. http Expires, de acuerdo de los criterios especificados por el usuario. 2. Módulos multiproceso: son los responsables de la unión con los puertos del ordenador. mod_headers: personalización de las peticiones HTTP y las cabeceras de las 3. Módulos adicionales: cualquier otro módulo respuestas. que añade funcionalidad pero no es estrictamente necesario para el funcionamiento mod_info: proporciona una visión comprensiva del Apache. de la configuración del servidor. ¿Dónde se encuentran los módulos adicionales?, mod_mime_magic: determina el tipo MIME los localizarás en c:apachemodules de un fichero mirando unos pocos bytes del contenido. Apache instala por defecto los siguientes módulos, es necesario que sepáis por lo menos mod_proxy: servidor HTTP/1.1 proxy/gateway. PC PASO A PASO Nº 9 Página 15
  16. 16. APACHE - CONFIGURACION - SERVIDOR DE ARCHIVOS VIA WEB mod_rewrite: proporciona un motor de todas las instalaciones requieren de "Virtual reescritura basado en reglas que rescribe las Hosting". peticiones de URL's al vuelo. Por lo tanto si fueran incluidas todas las mod_speling: intenta corregir las URL funcionalidades posibles en una versión única mal puestas por los usuarios, ignorando de Apache, lo haría sumamente pesado en las mayúsculas y permitiendo hasta una cuanto a requerimientos de Memoria RAM y falta. espacio en Disco Duro, por esto se opta por "modularizar" e incluir solo lo necesario. mod_status: proporciona información en la actividad y rendimiento del servidor. De momento, simplemente vamos a quedarnos con la idea de que estos módulos añaden mod_unique_id: proporciona variables de funcionalidad al Servidor Web y que algunos entorno y un identificador único para cada de ellos son instalados por defecto. petición. Ahora queremos averiguar cuales son los mod_usertrack: registro de actividad de un módulos que están funcionando por defecto usuario en el sitio. en nuestro Servidor Web. Abrimos una consola MSDOS y ponemos el comando de sistema mod_vhost_alias: Proporcionado para APACHE –l, y aparecerá un listado de los configurar muchos servidores virtuales módulos que están funcionando. Lo que hace dinámicamente. el parámetro –l es abrir el archivo de configuración httpd.conf y busca los módulos que debe cargar Apache al iniciarse. ! 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 término/concepto para la comprensión de un artículo siempre lo explicamos a lo largo del mismo. Algunos de estos términos abarcan temas bastante extensos y no es necesario explicarlo en este momento puesto que NO IMPIDEN la comprensión de este artículo, pero te recomendamos que cuando tengas un par de horas libres "curiosees" en el mejor buscador que existe actualmente www.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 Una de las principales razones de emplear módulos en Apache, es que no toda instalación requiere de las mismas funcionalidades, no Página 16 PC PASO A PASO Nº 9
  17. 17. APACHE - CONFIGURACION - SERVIDOR DE ARCHIVOS VIA WEB 2. Listar contenido de los estos módulos puede provocar que Apache directorios liste el contenido de sus directorios. Así de simple. Lógicamente los señores de Apache está considerado como uno de los Apache solucionaron el problema cuando servidores web más estables que existen e fue descubierto, pero aún quedan muchos infinitamente más seguro que el servidor IIS servidores Apache con este problema. de Microsoft. Aún así tiene algunos fallos, ¿no Las versiones hasta 1.3.19 inclusive son te lo crees?. vulnerables a este ataque. Apache necesita utilizar módulos adicionales ¿Es válida cualquier cadena?, no. Tiene que para mostrar contenido dinámico, y en estos ser una cadena de barras inclinadas y la módulos es donde podemos encontrar los fallos, longitud es variable. Así que no tenemos recuerda que cuantos más módulos se instalen más remedio que hacer pruebas hasta más probabilidad hay de tener agujeros de que Apache liste el directorio. Si consideramos seguridad. que Apache admite una URL de 8000 caracteres como máximo, podemos listar En el número anterior se explico cómo Apache el contenido en un par de minutos si nos puede listar el contenido del directorio, siempre creamos un programa que genere URLs con que nosotros configuremos el archivo httpf.conf barras inclinadas. para ello. Aún configurando este archivo para que no liste el contenido de los directorios El código es muy sencillo y supongo que podemos saber los archivos alojados en todos estás aprendiendo Visual Basic gracias al los directorios, incluso en aquellos directorios curso de HackxCrack, en los números que tienen una página Index. anteriores del curso de Visual Basic encontrarás Vamos a explicar dos formas de obtener el todo lo necesario para crear el programa. contenido de los directorios, el primer método De todos modos, colocaremos un sencillo será utilizando un gran número de barras programa que hemos realizado para inclinadas y el segundo método utilizando un aquellos que no quieran calentarse la cabeza. bug del módulo Multiview. Al finalizar cada No estaría mal que cada uno de vosotros método daremos respuesta a como evitar que hiciera una versión y la publicara en el foro, seamos víctimas de estos ataques. ¿os atrevéis? Listado del directorio utilizando barras Un ejemplo de cadena válida si queremos inclinadas. saber el contenido del directorio http://www.hackxcrack.com/cgi- Cuando realizamos una petición a un servidor bin//////////////////////////////////// (funcionaría en Apache, la URL es procesada por varios el caso de que el servidor fuese la versión módulos, entre ellos mod_negotiation.c, 1.3.19 o anterior) mod_include.c, mod_autoindex.c, estos módulos se encuentran compilados en la versión Pero antes de que os pongáis como locos a predeterminada de Apache, es decir, que estos poner barras inclinadas es necesario módulos están instalados y activos en la mayoría que averigüéis la versión de Apache. En de los servidores Apache. el capítulo anterior se explicaron varias formas de saber remotamente la versión de Cuando se pasa una URL de gran longitud por Apache. PC PASO A PASO Nº 9 Página 17
  18. 18. APACHE - CONFIGURACION - SERVIDOR DE ARCHIVOS VIA WEB ! Hemos utilizado la ... Hemos utilizado la IP 127.0.0.1 y puerto 80 porque se Os vamos a explicar otra forma de identificar supone que has seguido nuestro curso y en este momento el servidor web, a modo de culturilla el tienes corriendo el apache en tu sistema en el localhost procedimiento de identificar el servidor se le (127.0.0.1) y puerto 80. Si no, ya sabes, al final de la revista llama “captura de mensajes” o “banner tienes el índice de los números anteriores publicados y te grabbing”. Recordar que no siempre vamos a indica cómo conseguirlos y, por si no lo sabes, tienes en poder capturar esta información, el servidor la Web el Número 1 de Hack x Crack GRATIS en formato web tiene que tener la especificación HTTP 1.1 PDF… ¿alguien da más? ;p (RFC 2616), que envía la información que buscamos en los encabezados. Solución al problema de las barras invertidas ! En esta ocasión... Tenemos dos soluciones: actualizar el servidor En esta ocasión vamos a utilizar el todopoderoso programa web Apache a una versión mayor a 1.3.19 o netcat, esta aplicación ya ha sido explicada y utilizada en modificar el fichero de configuración. prácticas anteriores de otros artículos de HxC. Solucionar el problema mediante el archivo de configuración es muy sencillo, abrimos con el Abre una venta de MSDOS y pon lo siguiente: bloc de notas el archivo httpd.conf y buscamos nc –nvv 127.0.0.1 80 las siguientes líneas: tras el mensaje que aparece escribe: AddModule mod_autoindex.c HEAD / HTTP/1.0 AddModule mod_dir.c [Pon dos retornos de carro, es decir, pulsa el botón Return dos veces] Estas líneas son las encargadas de añadir los módulos al iniciarse Y verás la información del servidor. el Apache, simplemente pon las Lo importante es conocer distintas formas almohadillas delante y de averiguar la información, si estás en un graba el archivo. cibercafe y no dispones del netcat pues sabes que poniendo utiliza el telnet o cualquier herramienta almohadillas delante online como transformas la línea dnsstuff.com o (instrucción/comando) n e t c ra f t . c o m , en un simple texto además estas (comentario), ya lo herramientas explicamos en online tienen una anteriores números. ventaja y es que el servidor #AddModule mod_autoindex.c consultado no # A d d M o d u l e m o d _ d i r. c registrará tu IP ;) Página 18 PC PASO A PASO Nº 9
  19. 19. APACHE - CONFIGURACION - SERVIDOR DE ARCHIVOS VIA WEB Como podemos ver con AddModule un servidor con este error. Pero no está mal configuramos el servidor para que cargue los saberlo, ¿no crees? módulos y así obtener nuevas funcionalidades, en este caso hemos quitado la funcionalidad Módulo de configuración de mostrar el contenido de los directorios de “mod_info.c” manera radical. Tienes que tener en cuenta que ya no podremos compartir archivos si El módulo mod_info.c permite saber la hemos anulado estos módulos. configuración del servidor Apache, es información estática pero de gran valor para ! Siempre que ... consultar como está configurado de manera remota. Lógicamente el módulo mod_info.c no está activado de manera predeterminada. Los Siempre que sea posible se recomienda actualizar la versión grandes servidores web, empresas de hosting, del programa afectado por un bug, cualquier otra solución ... suelen tener activado este módulo para como la explicada es válida pero suele tener consecuencias: conocer el estado de la configuración del servidor una limitación en los accesos, anulación de funciones, etc. y ya podemos suponer que a muchos administrados se les olvida proteger o anular el acceso a los usuarios no permitidos Listado de directorios con Multiview El módulo mod_info da una visión general de la configuración del servidor bastante amplia, Existe otro bugs que ya ha sido corregido pero incluyendo los módulos y directrices. que aún nos lo podemos encontrar en algunos servidor Apache, es un error del parámetro Vamos a realizar una práctica de cómo ponerlo Multiview que permite negociar el contenido en marcha para nuestro uso personal. basándose en el lenguaje del documento. Lo primero que hacemos es abrir el fichero de Este parámetro no está activo de manera configuración httpd.conf y buscamos la cadena predeterminada así que es más difícil que lo #LoadModule info_module encontremos en el servidor de la victima, pero modules/mod_info.so , esta cadena dice al nunca se sabe, ¿verdad?. Apache que lea el módulo mod_info.so, le quitamos la almohadilla (#) para que realmente Este parámetro puede estar colocado de la sea leído. Ahora buscamos la cadena siguiente forma: #AddModule mod_info.c y también le quitamos la almohadilla (#), con addmodule Options FollowSymLinks MultiViews le decimos a Apache que añada el módulo mod_info.c ¿Cómo podemos listar el contenido del directorio utilizando el bugs de MultiViews?, es tan sencillo como colocar una URL en el navegador o en ! Como has ... el netcat, por ejemplo: http://127.0.0.1/mp3?M=D, fíjate que finaliza Como has podido comprobar para que Apache tenga en con ?M=D. cuenta un módulo primero hay que indicarle que lea el módulo para después sea añadido. Recuerda que son dos Esta manera de ver el contenido del directorio pasos "LoadModule y AddModule". no es muy eficaz y es raro de que encuentres PC PASO A PASO Nº 9 Página 19
  20. 20. APACHE - CONFIGURACION - SERVIDOR DE ARCHIVOS VIA WEB Ya queda poco, ahora tenemos que abrir el * Para información de la configuración de los archivo access.conf que lo encontrarás en el módulos pondremos una dirección tipo mismo directorio que el archivo de configuración http://127.0.0.1/infoservidor?nombre_ httpd.conf. del_módulo, por ejemplo: --->http://127.0.0.1/infoservidor?mod_info.c Este archivo también de configuración se utiliza para acceder a los permisos de los archivos, * Para obtener la información de los módulos directorios y script del sitio creado. Es un que se están utilizando: archivo de apoyo, el contenido de este archivo --->http://127.0.0.1/infoservidor?list podría estar perfectamente en httpd.conf, pero para no terminar teniendo un mega archivo de configuración se divide la configuración en otros dos archivos (access.conf y srm.conf). De momento nos quedamos con httpd.conf y access.conf, el primero es el archivo principal de configuración y el segundo sirve de apoyo cuyo contenido es definir permisos. Continuamos con la práctica, abrimos el archivo access.conf (seguramente estará vacío) y ponemos las siguientes líneas: <location /infoservidor> SetHandler server-info </location> Reiniciamos el servidor Apache Por último decir que infoservidor puede ser (Apache –k cambiado por cualquier otra palabra como info, restart) y info-servidor, info-server, admin, configure... ponemos en el No estaría mal crear un programa cuyo objetivo navegador la sea buscar la url de acceso a la configuración siguiente URL: del servidor Apache si es que tiene activado el módulo mod_info.c, ¿alguien se atreve?, con ---> http:// lo aprendido aquí y en el curso de Visual Basic 1 2 7 . 0 . 0 . 1 sería suficiente para crear el programa, lo ideal /infoservidor sería utilizar un diccionario, ¿algún valiente? El resultado es una página con toda la ! Pásate por el foro ... información de la configuración del Pásate por EL FORO de la revista (www.hackxcrack.com) servidor Apache. y podrás conversar con los lectores y colaboradores de PC Paso a Paso (Los Cuadernos de Hack x Crack). A estas * Para acceder únicamente a la información alturas ya formamos una peña de más de 2000 "socios". del servidor ponemos: Te estamos esperando!!! ;) ---> http://127.0.0.1/infoservidor?server Página 20 PC PASO A PASO Nº 9

×