epelpad

El post que buscas se encuentra eliminado, pero este también te puede interesar

Introducción a Linux. Parte 1

Hola amigos, he decidio hacer una guia lo mas completa posible para aquellas personas que quieran entrar en la seguridad informatica o que quieran informarse sobre el tema.

El temario que tengo en mente es el siguiente:

  • Introducción a Linux
  • Introducción a la seguridad informatica
  • Introduccion a redes
  • Introduccion a base de datos y SQL
  • Operador Linux
  • Seguridad en redes: Network Hacking
  • Seguridad en Linux: Server Hacking
  • Ethical Hacking
  • Administrador Android
  • Seguridad Web: SQL Injection & XSS
  • Seguridad fisica y aspectos legales
  • Google Hacking
  • Ingenieria Social

Y si los post reciben el apoyo suficiente podríamos (con la ayuda de gente que este en el tema) hacer un simulador del examen CISSP y el examen CEH, para que aquel que quiera certificarse tenga una noción de como son los exámenes.

El temario puede modificarse con el pasar de los post y sus sugerencias.


En este modulo verás:

●La historia y filosofía de LINUX.
●Las diferentes distribuciones de LINUX.
●Las diferentes comunidades de Software Libre.
●Usar VirtualBox.
●La instalación de LINUX por medio de VirtualBox.
●Comandos básicos para iniciar sesión.
●La estructura del particionado del disco.
●Conocimientos de LVM.

Al final de este modulo serás capaz de:

●Conocer más acerca de la historia de LINUX.
●Utilizar comandos básicos.
●Instalar LINUX utilizando VirtualBox.


Un Poco de Historia

Orígenes de Unix y sus versiones
La historia de Linux está estrechamente relacionada con la de UNIX por eso es que en primer lugar haremos una reseña histórica de este último.

UNIX es uno de los sistemas operativos más populares del mundo. Es una marca registrada de The Open Group, aunque originalmente fue desarrollado por AT&T.

UNIX es un sistema operativo real. Por sistema operativo real se entiende que debe tener como mínimo dos características: más de una persona puede acceder al mismo tiempo al ordenador y, mientras lo hacen, cada una de ellas puede ejecutar múltiples aplicaciones. Esto es lo que se llama un sistema operativo multiusuario y multitarea. UNIX fue diseñado originalmente para ser ese tipo de sistema multitarea, allá en los años 70,y para que se pudiera ejecutar en mainframes y en minicomputadoras.

Con UNIX, cada usuario accede al sistema utilizando un nombre de acceso. Opcionalmente, (aunque es altamente recomendable), el usuario deberá proporcionar una contraseña, que asegura que la persona que accede es quién dice ser. Además, los usuarios no acceden a cualquier computadora en caso de que estemos hablando de una red.

UNIX funcionará prácticamente en cualquier plataforma que haya sido construida. Muchos fabricantes han adquirido el código fuente (IBM; Hewlett-Packard, Sun, etc.) y desarrollado sus propias versiones, a las que han incorporado su toque personal a lo largo de los años. Pero no son los únicos que continúan modificando UNIX. Cuando el sistema se desarrolló por primera vez, el código fuente se proporcionó gratuitamente a las universidades y a los institutos. Dos de ellas han estado en primera línea desde el primer momento: la Universidad de California en Berkeley y el Instituto Tecnológico de Massachusetts (MIT).

Como nos podemos imaginar, el desarrollo de UNIX se produjo de forma bastante desordenada. Gente de todo el planeta comenzó a desarrollar herramientas para UNIX. Desgraciadamente, no existía ninguna coordinación que guiase todo el desarrollo, lo cual produjo grandes diferencias entre las distintas versiones de UNIX. Finalmente, la mayoría de los estándares se encuentran bajo el estándar IEEE POSIX (Portable Operating System Interface uniX).

El mayor inconveniente de UNIX es que es muy grande. También es caro, especialmente en sus versiones para PC. Aquí es donde aparece Linux, porque como se explica con más detalle un poco más adelante, se diseñó para ser pequeño, rápido y barato. Hasta ahora los diseñadores han tenido éxito.

El nacimiento de Linux

LINUX fue creado originalmente por Linus Torvalds en la Universidad de Helsinki, Finlandia. Linux basó el Linux en una pequeña implementación de UNIX para PC con fines didácticos llamada Minix. Creado, a su vez, por el profesor Andrew S. Tanenbaum; de la Universidad de Vrije, Amsterdam.

A finales de 1991 se hizo público Linux con la versión 0.10. Un mes después, en diciembre, apareció la versión 0.11. Linus hizo que el código fuente fuera de libre disposición y animó a otras personas a colaborar en su desarrollo. Lo hicieron. Linux continúa su desarrollo hoy en día gracias a un equipo mundial dirigido por Linus, que trabaja a través de Internet.

Gran parte del software desarrollado para Linux es creado por el proyecto GNU de la FSF (Free Software Fundation).

El Software Libre y la licencia GPL

Llegados a este punto, nos encontramos con un nuevo concepto: el Software Libre. Tiene su origen en el nacimiento del software en EE.UU., cuando la informática era un feudo reservado a empresas y universidades, y los programadores intercambiaban trucos (hacks, en inglés) que hacían brotar chispas en los enormes cerebros electrónicos. Por aquel entonces hacía sus pinitos digitales un joven programador, Richard M. Stallman que, al igual que sus compañeros de profesión, fue testigo de la primera gran transformación del mundo de la programación en industria cerrada.

Cuenta este informático que, un buen día, aparecieron por la puerta abogados que prohibieron a los programadores compartir su código (el código de sus programas) y les obligaron a ocultar celosamente cualquier información que pudiera ser usada por la competencia. Además, decidieron que las empresas guardarían bajo llave el código fuente de sus programas (la secuencia original de instrucciones que los hace funcionar de una determinada manera) y sólo entregarían a sus clientes el código binario (los unos y ceros que el ordenador entiende, pero apenas pueden interpretar las personas). Por último, obligaron a los trabajadores a aceptar la idea de que quien violaba estas normas no sólo cometía un delito, sino también un pecado propio de un loco, o de un pirata.

Años más tarde, este dogma informático se extendió hasta convertirse en el actual mercado del software, donde comprar un programa significaba adquirir el derecho a usarlo, pero no a abrirlo para saber cómo funciona ni, mucho menos, a copiarlo o modificarlo, una prerrogativa que corresponde en exclusiva a la empresa fabricante.

Stallman, convencido de que a la sociedad se le había robado un debate importante sobre la evolución de la tecnología (la frase “es como si te vendieran un coche con el capó sellado, para que no puedas ver el motor” es una de las analogías más usadas para explicar esta realidad mercantil), decidió dejar su trabajo y emprender una tarea mucho más altruista: responder al modelo propietario con un software del que nadie pudiera apropiarse, con un software libre.

Se trataba, según su promotor, de poner en marcha un nuevo contrato por el que los usuarios recibieran siempre el código fuente y, además, el derecho inalienable a modificarlo a su gusto. El movimiento fue bautizado con el críptico nombre de GNU, y para defenderlo se creó la Licencia Pública General (GPL, en sus siglas en inglés), un peculiar contrato mercantil que, a diferencia de las licencias de software tradicionales, no sólo no restringe la posibilidad de copiar y redistribuir los programas, sino que anima a los usuarios a hacerlo.

Este nuevo orden informático fue recibido con entusiasmo en la entonces incipiente comunidad de programadores que pululaba por Internet, pero también con cierta inquietud. De hecho, el movimiento GNU fue visto con recelo desde algunos sectores de la población estadounidense, que lo tacharon de “filocomunista”, por su tendencia a compartir su trabajo y por su aversión al concepto de propiedad que había establecido la industria del software.

Qué es Linux

Con ideología o sin ella, el movimiento GNU se extendió por la Red y empezó a dar sus frutos, y así nació Linux. Línea a línea, programa a programa, el sistema operativo del pingüino (la mascota de Linux que, por cierto, se llama Tux) se convirtió en poco tiempo en el producto más famoso del código abierto y, paradójicamente, en la apuesta de más de una multinacional en el sector informático.

Lo que generalmente se entiende por Linux es el kernel, el “corazón” de cualquier sistema operativo tipo UNIX. Pero el kernel por sí solo no forma todavía un sistema operativo. Justamente para UNIX existe una multitud de software libre, lo que significa que éstos están disponibles también para Linux y son estas utilidades las que realmente forman el sistema operativo.

Muchos se refieren al sistema operativo como GNU/Linux, ya que consideran que el software del proyecto GNU fue determinante para el desarrollo de Linux y porque el sistema que Stallman iba a crear se llamaría GNU. No obstante, en la actualidad, en cualquier distribución de Linux existe una gran cantidad de software que no proviene del proyecto GNU. Por ejemplo: Apache, PHP, MySQL, etc.

Por otro lado, existen sistemas operativos Linux que no poseen herramientas GNU, por ejemplo: Android y Replicant.

Es decir: existen argumentos a favor y en contra

Es por eso que en este documento y de aquí en adelante cuando hablemos de Linux, salvo que aclaremos nos estaremos refiriendo a una distribución de Linux.

La posibilidad de que exista un gran número de programas de software libre permite la creación de diferentes sistemas Linux, y es así cómo aparecen las distribuciones de Linux.

Es decir, existen usuarios, comunidades, y/o empresas que se encargan de recopilar software y convertirlo en un sistema operativo instalable y usable.

Cada una con su conjunto de programas, pero que tienen en común el kernel, que es Linux. Por tanto, cuando hablamos de Linux, nos estamos refiriendo a cualquiera de sus distribuciones. Las más conocidas son Debian, Red Hat, Ubuntu, Mint, openSUSE y Fedora.

Distribuciones de Linux

Hoy en día, la lista de colaboradores en el desarrollo de Linux es inmensa, estando formada tanto por personas como vos, o como yo, como por las más grandes compañías del sector informático actual. Parece que ha pasado una eternidad (5 de Octubre de 1991), desde el momento que Linus anunció la primera versión “oficial” de Linux, la 0.02. Ya podía ejecutar bash (el shell de GNU) y gcc (el compilador de C de GNU), pero no hacía mucho más.

En este anuncio, puso frases como estas:

[…]“¿Suspirás al recordar aquellos días de Minix-1.1, cuando los hombres eran hombres y escribían sus propios drivers? ¿Te sentís sin ningún proyecto interesante y te gustaría tener un verdadero S.O. que puedas modificar a tu gusto? ¿Te resulta frustrante tener solo a Minix? Entonces, este artículo es para vos.”[…]

Hoy día, a partir de esas frases (y de lo que implicaban), han surgido distribuciones de Linux para todos los gustos. Algunas de ellas son las que figuran en este listado:

Lo importante es saber que existen dos ramas principales de distribuciones de Linux, aquellas basadas en Debian y las que están relacionadas de alguna manera en su desarrollo con Red Hat.

Debian

Es una de las primeras distribuciones y data del año 1993,, creada por Ian Murdock. Es uno de los sistemas operativos más respetados y se usa preferiblemente en servidores. Url: http://www.debian.org

Red Hat Enterprise Linux

Fue creada por la empresa Red Hat en el año 2003 apunta más bien al ámbito corporativo. Su antecesora Red Hat Linux fue la primera en proporcionar un sistema sencillo de instalación. La empresa Red Hat cobra suscripciones mediante la cual ofrece soporte comercial. Url: https://access.redhat.com/products/red-hat-enterprise-linux

Distribuciones basadas en Debian

Ubuntu:

En la actualidad es tal vez la distribución más popular, en particular por su sencillez de instalación y porque contó desde sus orígenes con un amplia campaña de difusión. Fue fundada en el año 2004 por el multimillonario Mark Shuttleworth.. Url: http://www.ubuntulinux.org

Mint:

Esta distribución concebida por Clement Lefebvre en al año 2006, le agrega algunas prestaciones al sistema ya instalado y además, intenta proporcionar una interfaz gráfica amigable y pulida. Url: http://linuxmint.com/

LXLE:

Es una distribución creada a comienzos de 2013 basada en Lubuntu cuyo entorno de escritorio predeterminado es LXDE: un escritorio liviano, ideal para computadoras con pocos recursos. Url: http://www.lxle.net/

Distribuciones relacionadas con Red Hat Enterprise Linux

Fedora:

En realidad esta distribución creada en el año 2003 no se basa en Red Hat, pero su desarrollo está estrechamente relacionadas. Está patrocinada por la empresa Red Hat y tiene como característica traer paquetes con versiones actualizadas. Tras un proceso de revisión de algunos años los cambios realizados pueden ser aplicados en la distribución Red Hat Enterprise Linux. Url: https://getfedora.org/

CentOS:

Con origen en el año 2004, es otra de las distribuciones patrocinadas por Red Hat. Es un clon gratuito de Red Hat Enterprise Linux. Es decir utiliza el código fuente de aquella para compilar un sistema operativo que es compatible con dicha distribución. Está orientada a servidores y ambientes corporativos. El proyecto ofrece soporte comunitario gratuito del sistema operativo. Url: http://www.centos.org

Scientific Linux:

Nació en el año 2004 y está desarrollada por el Fermilab (Laboratorio Nacional Fermi) y la CERN (Organización Para La Investigación Nuclear). Está basada también en Red Hat Enterprise Linux, y como lo indica su nombre está enfocada en el ámbito científico. Url: https://www.scientificlinux.org/

Distribuciones que no encajan en la clasificación Debian/Red Hat

SUSE:

Una distribución desarrollada en años anteriores por una empresa alemana y que luego fue comprada por Novell, orientada a todo tipos de usuarios. En la actualidad Novell ha delegado el desarrollo de la distribución a la comunidad, al mismo tiempo que la empresa vende ediciones pagas de sistemas Linux. Url: http://www.opensuse.org

Arch Linux:

Es una distribución orientada a usuarios avanzados y se caracteriza por poseer un sistema de paquetes propio. La instalación oficial es en modo texto. Además se trata de una distribución “rolling release”. Es decir, está en permanente desarrollo y posee paquetes que están continuamente actualizándose. Es por eso que los números de las versiones no son tan relevantes para este caso Url https://www.archlinux.org/

Slackware:

Es la distribución más antigua que sigue actualmente vigente. No posee una gran cantidad de usuarios, pero sigue siendo una de las distribuciones más respetadas. Está orientada a usuarios avanzados y que tienen suficiente tiempo como para internarse en las cuestiones avanzadas del sistema operativo. http://www.slackware.com/

Distribuciones de Linux consideradas 100% libres

Existen algunas distribuciones que son consideradas completamente libres de acuerdo a la FSF, las cuales son:

BLAG
Dragora
Dynebolic
GuixSD
gNewSense
libreCMC
Musix
ProteanOS
Replicant
Trisquel
Ututo XS

Algunos puntos de partida muy recomendables para buscar distribuciones

DistroWatch
Download Linux - LQ ISO
LinuxOS.pro Download Linux

Recalculando: Entonces ¿Cómo se vende el software?

Es común hablar acerca de la venta de software. Pero en verdad, el software no se vende, sino que se licencia. Es decir: el autor establece una serie de condiciones mediante el cual un determinado programa puede ser utilizado.

Lo que hace tan especial de una distribución de Linux es que la mayoría o todo el software que la compone posee una licencia de free software, para decirlo más claramente en castellano, de software libre.

¿Qué significa FREE?

En inglés la palabra free puede significar tanto gratis como libre. El contexto del que estamos hablando quiere decir libre. De acuerdo a la Free Software Foundation un software es libre cuando su licencia permite:

El Software Libre proporciona la libertad de:

Utilizar el programa, para cualquier propósito.
Estudiar el funcionamiento del programa y modificarlo, para adaptarlo a sus necesidades.
Redistribuir copias del programa, con lo cual puedes ayudar a tu prójimo.
Mejorar el programa, y poner sus mejoras a disposición del público, para beneficio de toda la comunidad.

Por lo tanto cuando hablamos de software libre no tiene relación necesaria con el precio del mismo. Si bien una buena cantidad de software libre lo podemos obtener gratuitamente de Internet y es perfectamente legal hacer copias, muchas empresas viven del software libre.

La rentabilidad de estas empresas está basada en ofrecer servicios alrededor del software que proporcionan, algunas de ellas son: Red Hat, Novell, AdaCore, Oracle, etc.

Linux : Características

Multitarea total

Se pueden ejecutar varias tareas y se puede acceder a varios dispositivos al mismo tiempo.

Memoria virtual

Linux puede usar una porción del disco rígido como memoria virtual (llamada swap), lo que aumenta la cantidad de memoria del sistema. En caso de quedarnos sin memoria RAM las partes inactivas o usadas con menos frecuencia en la memoria pasarán al disco (swap).

Soporte multiusuario

Linux permite que varios usuarios accedan a su sistema simultáneamente sin que haya conflicto entre ellos y cada uno con su espacio de trabajo.

Código fuente libre

El proyecto GNU y los programadores de todo el mundo, han desarrollado gran cantidad de software libre para Linux.

Adaptabilidad

Linux puede ejecutar una amplia variedad de software, disponible gracias al proyecto GNU. Este software incluye de todo, desde desarrollo de aplicaciones (GNU C y GNU C++) a la administración del sistema (gawk, groff, etc.), juegos (GNU Chess, GnuGo, y NetHack) y herramientas de productividad como LibreOffice.

Estabilidad

Linux presenta una gran estabilidad en la gestión de sus procesos internos del sistema. Es muy difícil conseguir que Linux se "cuelgue" y, por supuesto, jamás se verá una "pantalla azul".

Gran oferta de software

Una misma distribución (Ej: Centos o Debian) puede utilizarse para una PC de escritorio con entorno gráfico y herramientas de productividad como LibreOffice hasta para un servidor de correo, sitios web, almacenamiento, firewall, etc.

Defensa contra los virus

Aunque la mayor parte de los virus que rondan por Internet son desarrollados para Windows, es cierto que, existen algunos para Linux, pero son más difíciles de crear debido a que Linux emplea un sistema de permisos de archivos previendo los posibles desastres que se ven todos los días en los entornos de Windows. Además, los virus para Windows no se pueden ejecutar en Linux. Y aunque existiera un virus que atacara máquinas Linux, éste sólo podría dañar los archivos del usuario que fue infectado, pero nunca el sistema en sí mismo.

Relación con Internet

Debido a que Linux creció gracias a Internet, digamos que ambos hablan en el mismo lenguaje y por tanto, se ve claramente que navegar por Internet con Linux es más rápido que otros sistemas.

Entornos gráficos

Hasta hace unos años, trabajar en Linux sólo era posible desde consola, ese entorno negro con caracteres blancos. Con la llegada de Windows, la comunidad Linux se vio de forma obligada a desarrollar entornos gráficos para no perder el tren. La gran diferencia con Windows es que mientras éste tiene un sólo tipo de escritorio, en Linux podemos elegir con qué tipo de escritorio queremos trabajar. O si preferimos solo un administrador de ventanas (que tiene menos funcionalidades, pero es más liviano en cuanto al consumo de recursos). Los más conocidos son KDE, GNOME, Unity, XFCE4 y LXDE siendo los dos primeros los más populares. La ventaja de la variedad es que el usuario puede decidir con cuál se siente más cómodo.

Servidores caseros

Parece mentira, pero en casa podemos tener un servidor web, o un servidor FTP con nuestro Linux. Sólo hay que leer la documentación de cómo hay que hacerlo y poner manos a la obra. Esto ha generado grandes cambios sociales en nuestro tiempo, al descentralizar las fuentes de información en el mundo.

La comunidad Linux

Linux tiene una comunidad de voluntarios con ganas de ayudar a los que les cuesta adentrarse en este mundo. Y todo por afán de colaborar en este proyecto.

Soporte de hardware

Por desgracia, como se ve claramente, el mercado de los sistemas informáticos de escritorio está orientado a Windows. Prueba de ellos es que el 90% de las PCs lo tienen instalado sin usar otro. Así que, los fabricantes de hardware sólo se han preocupado de crear los drivers compatibles con Windows sin pensar en los restantes sistemas como Linux, Mac, BeOS y otros. Ello ha obligado a que fueran los propios usuarios y programadores los que desarrollarán sus propios drivers. Con el tiempo, los fabricantes ha atendido a las demandas de estos últimos y de a poco es posible encontrar hardware con drivers para Linux. El consejo en este caso es comprar hardware lo más genérico posible, ya que es el que tiene mejores probabilidades de tener todo el soporte de drivers.

No todo el software tiene su equivalente

Es cierto que casi todo el software que un usuario necesita ya lo aporta Linux. Pero hay situaciones en las que una persona necesita una aplicación concreta y ve que debe utilizar Windows para usar esa aplicación. De todas formas, siempre surgen desarrolladores con afán de ayudar y terminan construyendo esas aplicaciones o empresas desarrolladoras que lo toman como una posibilidad de negocios.

Nota: Es muy importante tener en cuenta que el pasaje a Linux hace necesaria la capacitación del personal técnico y de usuarios (en el caso de migraciones a escritorios Linux), como así también la planificación y relevamiento de datos necesarios para realizar la migración. Todo eso implica una inversión que a la larga redunda en el desprendimiento de licencias privativas y perpetuas.

Recursos de Software para Linux

Tal vez por su escasa repercusión en el ámbito doméstico, uno pueda pensar que la cantidad de software es bastante escasa. Todo lo contrario. De hecho se pueden encontrar bastantes utilidades en las páginas webs propias de las distribuciones.

También se pueden encontrar aplicaciones en otras páginas o servidores FTP con software propio, como LibreOffice, QCAD y VariCAD (éstos últimos son aplicaciones que pretenden ser los correspondientes AutoCAD en los entornos UNIX), etc.

Si el usuario proviene del entorno Windows, tal vez pueda tener la sensación de que “Sí, trabaja como Windows, pero no es igual que Windows”, y le gustaría encontrar las herramientas con el mismo aspecto que este sistema operativo.

Los desarrolladores han optado por tres caminos:

El primero es el de dar las mismas funcionalidades que las que tienen esas aplicaciones que existen en Windows, aunque su aspecto externo no tenga nada que ver con el Windows.
El segundo camino añade además el aspecto externo original de la aplicación que funciona en Windows, con el fin de que el usuario se encuentre en un entorno familiar.
El tercero es el más drástico ya que se crean herramientas con aspectos y funcionalidades totalmente diferentes a esas aplicaciones.

Para plasmar en un ejemplo de lo que se acaba de decir, basta con nombrar una de las aplicaciones más utilizadas en el entorno Windows que es MS Word. Del primer ejemplo nos encontramos con KWord, desarrollado por el equipo que creó KDE. El segundo es AbiWord. Y el tercero es Markdown (también conocido como CommonMark), un lenguaje de marcas ligero (mucho más sencillo que el HTML) que permite de acuerdo al editor, exportar el texto a HTML o a PDF. Existen varias herramientas que usan Markdown, una de ellas es Haroopad. Al final la elección depende del propio usuario.

Maneras de instalar Linux

Existen muchas maneras de instalar Linux. Una de ellas es mediante un CD o DVD que lanza meramente un instalador. Otra es mediante un LiveCD. Un LiveCD es un sistema Linux que se ejecuta - en principio - sin tocar en absoluto los discos rígidos y permite probar el sistema operativo utilizando la memoria RAM. En general, los LiveCDs poseen un programa instalador que copia el sistema operativo al disco para usarlo de manera permanente.

Los Linux de tipo Live se pueden arrancar también desde una unidad USB removible.

Pasos comunes en una una instalación de Linux

Más allá de la distribución seleccionada existen una serie de pasos comunes a la hora de instalar Linux, ellos son:

Seleccionar el idioma de instalación
Configurar de idioma del teclado
Elegir esquema de particionado
Instalar del cargador de arranque
Establecer contraseña de root
Crear usuario distinto de root
Selección de software a instalar
Anexo: Acerca del software libre y GNU GPL

Debido a estas libertades encontramos muchas veces que podemos disponer gratuitamente del Software Libre, ya sea descargándolo desde Internet u obteniéndolo por otro medio. No obstante, dentro de las cuatro libertades que se han descrito anteriormente, y en la GNU General Public Licence (Licencia Publica General GNU), que es una de las principales licencias bajo las cuales se libera el Software Libre (en donde se incluye el sistema GNU/Linux), no limitan la redistribución de las copias a un plano no lucrativo, sino que intentan promover su libre distribución por cualquier medio y de cualquier forma, ya sea como regalo, en rifas, como bono, en venta directa, etc.

Es por ello que existen empresas que venden sus productos, aun cuando han sido liberados como Software Libre. Del mismo modo, encontramos autores de Software que piden una retribución por su trabajo, la mayoría de las veces como donaciones, pero también en algunas otras con un costo mínimo de uso.

En el sistema GNU/Linux, existen distribuciones las cuales son un núcleo o kernel Linux, en conjunto con una gran cantidad de Software y herramientas que son liberadas bajo este concepto, y que son empaquetadas y trabajadas por compañías como Novell, MandrivaSoft, Red Hat, etc., que comercializan con ellas, apegándose a las licencias respectivas y en completa legalidad. Sin embargo, debido al falso rumor o mito de que el Software Libre es gratis se puede creer que estas empresas están haciendo una explotación ilegal del mismo, cuando en realidad, al igual que las distribuciones enfocadas totalmente a los usuarios GNU/Linux, sin aparente animo de lucro, forman parte de los pilares fundamentales del sistema GNU/Linux.

Otro ejemplo de venta de distribuciones GNU/Linux lo podemos ver en numerosos sitios en Internet que venden copias en CDs de las distintas distribuciones. Todavía se da mucho la creencia de que estos sitios actúan de manera ilegal, es decir, que forman parte de la piratería en GNU/Linux. No obstante, las libertades que promueve el software libre les da el derecho de redistribuir las copias de esta manera. En la mayoría de los casos, estos sitios hacen accesible el sistema Linux a un costo razonable para aquellos usuarios que no disponen de una conexión a Internet de banda ancha y que no pueden descargar los CDs por ellos mismos o que no pueden conseguirlos de otra manera.

Existen numerosos ejemplos de las variadas formas de obtención y redistribución del Software Libre sin que el término 'gratis' forme parte de las mismas; todas ellas siguiendo esas cuatro libertades que se han mencionado. Es por ello que al Software Libre lo debemos de considerar así: libre, y no limitarlo a ser Software Gratis.

Los autores y las empresas que piden una remuneración económica por su trabajo, basándose en el Software Libre, están en su total derecho de hacerlo desde el punto de vista ético y legal. Hay mucho trabajo detrás de todas esas aplicaciones, por lo que un pago por el mismo es algo justo, si razonablemente lo requieren. Del mismo modo, el trabajo-producto que ofrecen sigue conservando las libertades propias del Software Libre, de tal modo que no nos imponen nuevas condiciones para uso.

Así pues, el Software Libre puede ser gratuito o no, dependiendo de cómo y dónde lo obtengamos. El término Gratis debe de ser un término que no interfiera con la libertad del Software Libre, es decir, no debe de ser un término obligatorio para su uso, sino ser una parte más de las verdaderas libertades que nos ofrece.

Bibliografía

http://cila.gulic.org/apuntes/apuntes_cila_v1-2.html#ss2.1
http://www.monografias.com/trabajos24/linux/linux.shtml
http://es.wikipedia.org/wiki/Linux
http://es.wikipedia.org/wiki/Software_libre
http://www.gnu.org/gnu/why-gnu-linux.en.html
http://linux.topology.org/lingl.html

Links Recomendados

Free Software Fundation

Proyecto GNU

Licencias bajo GNU

Open Source

Linux Foundation

Distrowatch

¿Que es BSD?

¿Que es el Sofware Libre?

Wiki LPI

Libros

Market LPI

Esquema de Particiones

Introducción a Linux. Parte 1

Peso: Indica el valor de importancia que tiene este tópico en la certificación.

Tópico Cubierto: Indica, según el programa de certificación LPI, qué tópico le corresponde a este tema.

Descripción: Un resumen de lo que se verá.

Temas: Un resumen de los conceptos primordiales que están cubiertos.

Ejemplos: Palabras claves que se deben tener en cuenta.

¿Qué es Particionar?

Cuando vamos a realizar una instalación de nuestro sistema operativo Linux, necesitamos particionar nuestro disco rígido, pero… ¿qué significa esto?.

Particionar significa dividir nuestro disco en varias partes, donde cada una de ellas se utilizará para instalar determinadas secciones de nuestro sistema.

Tipos de Particiones MBR

Hay diferentes tipos de particiones

Primarias
Extendidas
Lógicas
Esto se desarrollará, luego, en otro tópico.

Las particiones que se crean deben tener algún tipo de filesystem (sistema de archivos): ext2, ext3, ext4, brtfs, xfs, etc..

Tipos Particiones

Las unidades de disco duro utilizadas por Linux y otros sistemas siguen unas estrategias de partición estándar. La información de la partición se almacena en el disco rígido y permite que coexistan diferentes sistemas operativos dentro de un único equipo. El particionado de discos es útil por diversos motivos. Se pueden almacenar los datos del sistema en particiones separadas para asegurar que las diferentes partes del sistema operativo tengan suficiente espacio en el disco. Manteniendo los datos del sistema y de los usuarios en particiones separadas se permite cierto grado de seguridad, proporcionando una barrera lógica entre el espacio al que acceden los usuarios y el espacio al que accede el sistema.

Las razones para particionar un disco son demasiado numerosas como para listarlas. Pueden variar desde temas relacionados con la seguridad, temas de política hasta física del disco. Independientemente de las razones para crear particiones, los tipos de particiones son las mismas. Un disco puede contener particiones primarias, extendidas y particiones de intercambio (swap).

Particiones Primarias

Todos los discos duros que tengan un sistema de archivos, usan una partición primaria. Es la primera partición creada en el disco. Si todo el espacio del disco es utilizado por la partición primaria, ésta será la única partición del disco. Es posible tener varias particiones primarias en un único disco físico. Estas particiones se utilizan para arrancar el sistema y están limitadas a un máximo de cuatro en un mismo disco rígido.

Particiones Extendidas

Si se necesitan más de cuatro particiones en el disco, es necesario crear una partición extendida. Cuando existe una partición extendida en un disco, no puede haber más de 3 particiones primarias en el mismo. Una partición extendida por sí misma carece de utilidad. En realidad actúa como un contenedor de particiones lógicas, y puede contener varias particiones lógicas. Estas particiones no son arrancables (boot), pero permiten tener un gran número de particiones en el sistema. Las particiones lógicas sólo pueden existir dentro de una partición extendida.

Tipos de Particiones GPT

Tabla de partición GUID (GPT) es un estándar para la colocación de la tabla de particiones en un disco duro físico. Es parte del estándar Extensible Firmware Interface (EFI) propuesto por Intel para reemplazar el viejo BIOS del PC, heredada del IBM PC original. La GPT sustituye al Master Boot Record (MBR) usado con el BIOS.

Una de las principales ventajas de GPT es la posible capacidad del disco duro. Las unidades MBR sólo pueden manejar 2 TB o terabytes de datos o menos. GPT puede ir más allá de esta capacidad. Por otra parte, las particiones MBR sólo permiten a los usuarios definir cuatro particiones primarias. El usuario puede utilizar una partición extendida para subdividir el disco duro.

Ventajas de GPT

Utiliza GUID (UUID) para identificar los tipos de particiones.
Proporciona un GUID único de disco y un GUID único de partición para cada partición.
Número arbitrarios de particiones (depende del espacio asignado por la tabla de particiones). No hay necesidad de particiones extendidas y lógicas. Por defecto, la tabla GPT contiene espacio para la definición de 128 particiones.
Utiliza 64-bit LBA para almacenar números del Sector - tamaño máximo del disco manejable es de 2 ZiB.
Almacena una copia de seguridad del encabezado y de la tabla de particiones al final del disco que ayuda en la recuperación en el caso de que los primeros están dañados.
Checksum CRC32 para detectar errores y daños de la cabecera y en la tabla de particiones.

Partición /boot

Antiguamente existía una limitación técnica que impedía acceder más allá del cilindro 1024. En la actualidad esa restricción prácticamente no existe. Por otro lado cuando se usa UEFI (el firmware que está reemplazando al viejo BIOS en las computadoras más nuevas) se necesita una partición en el directorio /boot/efi formateada como FAT32 o vfat. Esa partición la realizan automáticamente la mayoría de las distribuciones al detectar UEFI.

Particiones de Intercambio (Particiones swap)

Este tipo de partición hace referencia al área de intercambio, que es que se conoce como memoria virtual.

Este tipo de partición la utiliza el sistema para cuando nuestra memoria ram se encuentra limitada, utilizando este espacio para poder guardar lo que necesita y luego cargarla en RAM. Esta no es la mejor solución, dado que la lectura/escritura en disco, es muy lenta.

En la utilización de distribuciones de escritorio es muy posible que veamos mayor utilización de SWAP. En caso de tener poca RAM los objetos menos utilizados serán almacenados en SWAP.

En caso de servidores, al detectar uso de swap de manera reiterada/continua, lo recomendable es adquirir más memoria RAM.

Como valor genérico se puede configurar una partición de swap de 4GB hasta 8GB. Algunos casos puntuales requieren un tamaño específico de SWAP, por ejemplo al instalar una base de datos Oracle.

Nota: en el caso notebooks, si se llegara a utilizar la función de hibernación se guardarán todos los datos que estén en RAM sobre esta partición, por lo que en este caso es recomendable tener mayor tamaño de SWAP que de memoria RAM, caso contrario la hibernación fallará.

Punto Montaje

Los puntos de montajes son aquellos directorios sirven para acceder a una determinada partición.

A la hora de la instalación, cuando particionamos nuestro disco, hay que seleccionar en qué particiones se van a “montar” determinados directorios.

Lo mínimo recomendado son tres particiones:


/boot -> 200mb

/ -> lo que reste

swap -> 4gb


Si ya se tiene idea de que tipo de uso se le va a dar pueden crearse particiones adicionales, ejemplo /home, /tmp, /var

Se puede trabajar con solo dos particiones, pero generalmente se recomienda separar y configurar el punto de montaje “/boot” como solo lectura para evitar borrar por accidente el contenido de este directorio (el Kernel).

Directorios

Disposición estándar de archivos

La instalación de Linux crea una serie de directorios para almacenar los archivos del sistema. Cualquier instalación normal, independientemente de la distribución que se trate, crea una estructura de directorios entre los que se encuentran los siguientes:

El directorio /

Todo surge a partir del directorio raíz (/). El directorio raíz es el directorio a partir del cual todos los demás son subdirectorios o subcomponentes. Cuando se especifican localizaciones utilizando direcciones absolutas, siempre se comienza por este directorio, porque es el origen último, y es imposible moverse más allá del mismo, ya que no hay directorio sobre él.

El directorio /bin

El directorio /bin contiene los ejecutables, que son esenciales para el funcionamiento del sistema operativo Linux. Gran parte de las utilidades vistas hasta ahora se localizan en el directorio bin, incluyendo: cat, cp, date, ls, mkdir, mv, ps, sed, entre otros.

Como regla general, los ejecutables o archivos binarios localizados en el directorio bin son accesibles para todos los usuarios. Los ejecutables que no son críticos para el funcionamiento del sistema, o aquellos que son necesarios para todos los usuarios, generalmente aparecen en el directorio /usr/bin en lugar de en /bin.

El directorio /boot

Este directorio almacena los archivos necesarios para arrancar el sistema, excepto los archivos de configuración, así como el kernel del sistema. En algunas implementaciones, el kernel se almacena en el directorio raíz (como recuerdo de los sistemas UNIX), pero en las versiones más modernas se usa el directorio /boot.

El directorio /dev

El directorio dev almacena las definiciones de dispositivos. El hecho de copiar un archivo sobre un icono gráfico de la disquetera que se encuentre en el escritorio, es posible gracias a que la definición de la disquetera figura en el directorio /dev. Cada dispositivo tiene asociado un archivo, tanto si se trata de un disco, de una terminal, de una controladora, etc. Ejemplo: Discos SATA/SCSI se llamará /dev/sd[a-z]; Primer interfaz Serial /dev/ttyS0

El directorio /etc

El directorio /etc contiene los archivos de configuración del sistema (Ej: configuraciones de la red, servicios, datos de los usuarios, etc)

El directorio /home

Como su propio nombre indica, el directorio /home contiene los subdirectorios que son directorio de origen para cada uno de los usuarios.

Cada directorio /home/usuario de cada usuario proporciona el lugar para almacenar sus archivos, así como para almacenar los archivos de configuración individuales de ese usuario. Algunos servicios, como FTP o HTTP, también crean directorios bajo /home.

Atención!: Se debe recordar, que, por motivos de seguridad, no existe un directorio /home/root. El directorio de inicio para el root es el directorio /root.

El directorio /lib

Los archivos de librerías compartidas que necesitan los ejecutables (como los que se almacenan en /bin), se encuentran en el directorio /lib y en los subdirectorios que descienden de él. Generalmente, las librerías son ejecutables escritos en lenguaje C.

El directorio /mnt

El directorio /mnt contiene sistemas de archivos externos que hayan sido montados. Las entidades que aparezcan dentro de este directorio nunca pertenecen al sistema de archivos del sistema, sino que representan recursos externos a los que se puede acceder por medio del directorio /mnt. Los recursos externos pueden ser otros sistemas de archivo o dispositivos.

Los dispositivos aparecen como directorios con nombres comunes (cdrom, floppy, …).

El directorio /opt

El directorio /opt contiene complementos de las aplicaciones (add-ons). No todas las aplicaciones instalan sus complementos en este directorio, pero cuando lo hacen, crean un subdirectorio dentro de /opt utilizando el nombre de la aplicación. Por ejemplo, una aplicación llamada DEF creará un subdirectorio /opt/DEF en el que almacenará sus variables.

No hay ninguna norma que obligue a que las aplicaciones de terceros deban incluir sus complementos en /opt, pero este comportamiento se ha heredado de los días de UNIX.

El directorio /proc

El directorio /proc es el sistema de archivos virtual. Se genera y actualiza dinámicamente, y contiene información sobre los procesos, el kernel e información relativa al sistema.

Los procesos se representan por carpetas, cada una de las cuales tiene permisos y variables asociadas con ella.

También pueden activarse o desactivarse funciones del kernel en tiempo de ejecución.

El directorio /usr

El directorio /usr posee los archivos de programas que generalmente emplean los usuarios. Además de los programas mismos contiene librerías, imágenes, documentación, etc.

¿Qué es LVM?

LVM (Logical Volume Manager) es un gestor de volúmenes lógicos para el sistema operativo Linux y es una manera de asignar espacio de un medio en volúmenes lógicos que pueden ser fácilmente redimensionados.

Ventajas

Flexibilidad: Redimensionamiento de manera fácil.
Disponibilidad: pueden agregarse discos y migrar datos fácilmente.
Instantáneas para backup (Snapshots)

En la imagen se puede visualizar como el grupo de volúmenes (VG) “myvg” contiene 3 discos (hdisk1, hdisk2 y hdisk3), de los cuales el directorio /home utiliza parte del primer disco y una parte del segundo, con posibilidad de extenderse.

hack

Ilustración: “Logical Volume Manager” de Emanuel Duss en https://commons.wikimedia.org/wiki/File:Lvm.svg se puede distribuir bajo los términos de la licencia http://creativecommons.org/licenses/by-sa/3.0/de/deed.en

El grupo de volúmenes (VG) es el nivel de abstracción más alto utilizado en el LVM. Reúne una colección de volúmenes lógicos (LV) y volúmenes físicos (PV) en una sola unidad.

Un volumen físico (PV) es típicamente un disco rígido ó partición, aunque también podría ser un dispositivo que se ve como tal (por ejemplo, un dispositivo de software RAID). Cada PV está dividido por trozos (chunks) de datos, conocidos como extensiones físicas (PE: Physical Extents), estas extensiones tienen el mismo tamaño que las extensiones lógicas en un grupo de volúmenes, de manera predeterminada serán bloques de 4 MB.

El volumen lógico (LV), es el equivalente a una partición en un sistema no-LVM. El LV es visible como un dispositivo de bloques estándar; como tal, el LV puede contener un sistema de archivos.

Cada volumen lógico se divide en trozos de datos, conocidos como extensiones lógicas (LE: Logical Extents). El tamaño de extensión es la misma para todos los volúmenes lógicos (LV) del grupo de volúmenes (VG).

Si nos quedáramos sin espacio se puede agregar un disco, crear un volumen físico (PV), asignarlo a un grupo de volúmenes (VG), para luego extender el volumen lógico (LV).

Nota: El LVM puede montarse sobre un RAID, para tener seguridad de datos.

Bibliografía

LPI Linux Certification in a Nutshell, Third Edition, June 2010 —> Capitulo 5 Objetivo 102.1

LPIC-1: Linux Professional Institute Certification Study Guide: (Exams 101 and 102), 2nd Edition, February 2009 —> Capitulo 3 Objetivo 102.1

LPIC-1/CompTIA Linux+TM Certification All-in-One Exam Guide (Exams LPIC-1/LX0-101 & LX0-102) November 2011 –> Capitulo 4

Material Recomendado por LPI Institute

Link-1

Link-2

Link-3


Bueno amigos, hasta aca la primera parte del curso de introduccion a linux

En breve voy a estar posteando la segunda parte

Si alguien quiere que escriba sobre algun tema en especial con respecto a todo el ambito de la seguridad informatica solo mandenme un mensaje con lo que quieran y si se algo del tema tratare de ayudarlos. Saludos.

Cursos disponibles:

Introduccion a la seguridad informatica. Parte 1

Introduccion a la seguridad informatica. Parte 2

3 comentarios - Introducción a Linux. Parte 1

plumilla2 +2
Buena info espero la segunda parte