SlideShare una empresa de Scribd logo
1 de 199
Descargar para leer sin conexión
GNU/Linux Centos 5.1




Miguel Ángel Nieto <miguelangel@irontec.com>
 Irontec – Internet y Sistemas sobre GNU/Linux
Irontec – Curso básico Linux


                                       Objetivos del curso


Dominar las distintas posibilidades de GNU/Linux dentro



de la empresa.

Trabajar tanto desde el entorno de consola como desde



el entorno de escritorio.

Administración básica de un sistema GNU/Linux basado



en RedHat.

Y por encima de todo, aprender a buscar la información



que necesitamos para solventar los posibles problemas.




                                                                 2
Irontec – Curso básico Linux

                            Antes de nada...



        GNU GPL
Software Libre       Linux
                    Kernel
   GNU/Linux
Distribución Linux Debian
       Paquete
 KDE     (K)Ubuntu
     Gnome Emule
                                                3
Irontec – Curso básico Linux

                                             Introducción

●
    Programas informáticos
●
    Tipos de Software
    –   Software privativo
    –   Shareware
    –   Freeware
    –   Software libre




                                                            4
Irontec – Curso básico Linux




1
                                   Introducción




    ¿Qué es eso del Software
             Libre?




                                                  5
Irontec – Curso básico Linux




1
                                                 Introducción



    4 Libertades:
    ●
      Libertad 0: Libertad para ejecutar el
      programa para cualquier propósito.
    ●
      Libertad 1: Libertad para estudiar y
      adaptarlo a las necesidades.
    ●
      Libertad 2: Libertad para redistribuir copias.
    ●
      Libertad 3: Libertad para mejorar el programa
      y publicarlo con esas modificaciones.




                                                                6
Irontec – Curso básico Linux

                                                         Introducción

●
    Inicios del Software libre
    –   Richard Stallman (1983 – Funda GNU Ver.7)
    –   Linus Torvalds (1991 – Crea Linux)
    –   1992 – GNU/Linux (Ver. 7)




                                                                        7
Irontec – Curso básico Linux




1   Conceptos Generales sobre GNU Linux (I)
                                                     Introducción


       ➔
          ¿Qué es GNU ?
       GNU is not UNIX, proyecto iniciado por Richard
          Stallman (1983). Objetivo: Sistema totalmente libre.
          Apoyado en la licencia GPL. Kernel: HURD (fracaso).
     ➔
       ¿Qué es Linux ?
            Kernel liberado por Linus Torvalds en 1991 con
       licencia GPL. Arquitectura Mononuclear,
       multiplataforma (I386, AMD64, PowerPC, ...). Uso:
       Servidores, estaciones de trabajo, sistemas
       empotrados...




                                                                      8
Irontec – Curso básico Linux




1   Conceptos Generales sobre GNU Linux (II)
    
                                                         Introducción



        ➔
            ¿Qué son Redhat, Debian, SuSE ... ?
            •
              Son “Distribuciones” de GNU Linux.
            •
              Diferentes formas de “empaquetar” el núcleo, las
              herramientas GNU y el resto de software (libre o
              no).
            •
              Gestionadas por:
              •
                empresas
              •
                grupos de personas.
              •
                organismos ...




                                                                          9
Irontec – Curso básico Linux




1   Distribuciones GNU Linux (I)
    
                                                      Introducción



        ➔ Debian: Proyecto fundado por Ian Murdock en 1993, 
          proyecto con organización jerárquica totalmente 
          horizontal. Objetivo principal: competir con las 
          distribuciones comerciales para poder garantizar el 
          exito de GNU Linux. 
        ➔ Redhat: Empresa fundada en 1994 por Marc Ewing, 


          ofrece soporte técnico profesional y garantías de 
          escalabilidad. Plataforma lider en el mercado.




                                                                       10
Irontec – Curso básico Linux




1   Distribuciones GNU Linux (II)
    
                                                        Introducción



        ➔ Mandrakesoft: Nacida en 1998, con objetivo 
          principal: instalación y uso diario sencillos. 
          Crecimiento espectacular en 2 años (3 a 100 
          empleados).
        ➔ SuSE: Proyecto de empresa aleman, iniciado en 


          1993. Primeras versiones basadas en Slackware. En 
          la actualidad distribución totalmente propia. Ofrecen 
          soporte profesional de calidad, similar al de RedHat.




                                                                         11
Irontec – Curso básico Linux




1   Distribuciones GNU Linux (III)
    
                                                       Introducción



        ➔ Slackware: Distribución desarrollada por Patrick 
          Volkerding. Primera versión publicada en Abril de 
          1993. No ofrece soporte técnico profesional directo.
        ➔ Knoppix: Es el Sistema Live (ejecución desde 


          CDRom sin instalación) más popular. Soporta 
          prácticamente todos los dispositivos hardware del 
          mercado. Muy popular como método de iniciación a 
          GNU Linux.




                                                                        12
Irontec – Curso básico Linux




1   Distribuciones GNU Linux (IV)
    
                                                       Introducción



        ➔ Ubuntu: Distribución basada en Debian, centrada en 
          el sistema de escritorio (aunque también dispone de 
          versión servidor). Nueva versión cada 6 meses.
        ➔ CentOS: Distribución basada en el código fuente de 


          Red Hat. Con cada nueva versión enterprise de 
          RedHat, Centos descarga el código, lo compila y crea 
          su propia versión. Es 100% compatible a nivel binario 
          con RedHat.




                                                                        13
Irontec – Curso básico Linux




1   Versiones
    
                              Sub Versión: 
                                                       Introducción


                              Par indica estable
                              Impar indica 
                              inestable



              2.4.19              2.5.3


            Versión                     Release

        ●En la práctica, se denomina 
        versión a todo el conjunto.
                                                                        14
Irontec – Curso básico Linux




1                               Introducción




    Situación de GNU/Linux




                                                 15
Irontec – Curso básico Linux




1   Situación real de GNU Linux
                                                   Introducción


    Las estadísticas no siempre son muy objetivas, pero se 
    calculan las siguientes cifras:
      ➔ Servidores: Prácticamente todos los servidores 


        potentes se ejecutan sobre un derivado de UNIX 
        (GNU Linux, *BSD...).
      ➔ Equipos de escritorio: Existencia de numerosos 


        gestores de ventanas (KDE, GNOME, ...) apariencia 
        estética y usabilidad muy mejorada.
      ➔ Dispositivos empotrados: GNU Linux está presente 


        en numerosos dispositivos Wifi (802.11b/g) (Cisco 
        Linksys WRTG54G, SMC), en teléfonos celulares 



                                                                    16
Irontec – Curso básico Linux




1   Situación real de GNU Linux en el panorama 
                                                          Introducción


    empresarial
    ➔Soporte: La vía principal de ingreso en el mundo de GNU Linux es 
    el soporte. Servicios sobre GNU Linux. El desarrollo no copa el 
    mercado como en otros sistemas operativos (“La rueda ya está 
    inventada”).
    ➔Apoyo de grandes empresas: Entre otras IBM se ha posicionado 


    en favor de GNU Linux, afrontando directamente demandas de SCO 
    UNIX sobre posible violación de copyright de Linux.
    ➔Postura de Microsoft:


        2001:“Proyecto hecho por aficionados, no es serio”
        2004:“Es nuestra principal amenaza”
                    Bill Gates




                                                                           17
Irontec – Curso básico Linux




1   Situación real de GNU Linux en el panorama 
    
                                                   Introducción


    empresarial: Desarrollo y sistemas

    ➔Desarrollo (web): La punta de la lanza reside en 
    soluciones LAMP (Linux Apache MySQL, PHP):
     ➔ Pros: Rapidez, seguridad, integración con 


       prácticamente todos los protocolos y comunidad de 
       desarrolladores muy activa (numerosas librerías y 
       código reutilizable).
     ➔ “Contras”: Integración con soluciones MS Windows




                                                                    18
Irontec – Curso básico Linux




1   Situación real de GNU Linux en el panorama 
    
                                                     Introducción


    empresarial: Desarrollo y sistemas

    ➔Sistemas: Es el punto fuerte de GNU Linux: 
    estabilidad, seguridad, escalabilidad e integración 
    prácticamente total:
     ➔ Soluciones de seguridad (VPNs, Ids, Firewalls, ...)

     ➔ Soluciones de tiempo real (sistemas de 


       monitorización, ...)
     ➔ Routing Avanzado (OSPF, BGP, VRRP, ....)

     ➔ Servidores: DNS (Bind9), Web  (Apache), FTP 


       (Proftpd), Netbios (Samba) .... 



                                                                      19
Irontec – Curso básico Linux

                                                          EJERCICIO

●   Visitar los siguientes enlaces:

●   http://www.kernel.org
●   http://gnu.org
●   http://freshmeat.net
●   http://www.centos.com

●   http://es.wikipedia.org/wiki/Software_libre




                                                                      20
Irontec – Curso básico Linux

                  Instalación de CentOS




Instalación de CentOS




                                             21
Irontec – Curso básico Linux

                                        Instalación de CentOS

●
    Se puede descargar CentOS desde su página web.
    http://www.centos.org
●
    Se puede descargar en distintos Cds o en un solo
    DVD.
●
    La última versión estable es 5.
●
    Para instalarlo es necesario disponer de espacio en
    el disco duro y que el ordenador pueda arrancar
    desde el lector de Cds.
●
    La instalación es del estilo siguiente-siguiente...
    finalizar :)



                                                                   22
Irontec – Curso básico Linux

                                  Instalación de CentOS

●
    Comprobación del medio.




                                                             23
Irontec – Curso básico Linux

                                        Instalación de CentOS

●
    Selección de idioma.
●
    Se aplicará tanto al entorno de consola como al
    entorno de escritorio.




                                                                   24
Irontec – Curso básico Linux

                                           Instalación de CentOS

●
    Selección de idioma del teclado.




                                                                      25
Irontec – Curso básico Linux

                                        Instalación de CentOS

●
    Particionado del disco duro.
●
    Es necesario que el disco duro esté vacío o que en
    caso contrario tengamos una partición vacía en la
    que realizar la instalación.




                                                                   26
Irontec – Curso básico Linux

                                        Instalación de CentOS

●
    Selección y creación de particiones.
●
    Como mínimo debe existir / y swap.

●
    ¿Qué problemas tiene el uso exclusivo de /?




                                                                   27
Irontec – Curso básico Linux


                              Instalación de CentOS

●
    Sistemas de ficheros
    –   VFAT
    –   Ext2
    –   Ext3
    –   RaiserFS
    –   XFS
    –   y muchos otros...




                                                           28
Irontec – Curso básico Linux

                                             Sistemas de ficheros en Unix

–   En un sistema Unix todo son archivos: memoria física,
    ratón, modems, teclado...
–   Filosofía de diseño de grán éxito y potencia, aunque
    también peligrosa: un simple error de permisos puede
    permitir modificar todo un disco duro.
–   Tipos de archivos:
    ●
        ficheros planos
    ●
        directorios
    ●
        ficheros especiales (dispositivos)
         –   orientados a carácter
         –   orientados a bloque




                                                                              29
Irontec – Curso básico Linux

                               Sistemas de ficheros en Unix

Desplazándose por el sistema de ficheros




                                                                30
Irontec – Curso básico Linux

                                             Sistemas de ficheros en Unix

Estructura de los Sistemas de Ficheros
  –   Estándar de la Jerarquía de Ficheros (FHS)
      ●
          Se encarga de definir los directorios principales y sus
          contenidos en Linux y otros sistemas Unix.
      ●
          Mayor facilidad en el uso de distintos sistemas Unix.




                                                                               31
Irontec – Curso básico Linux

                                               Instalación de CentOS


●
    Árbol típico de directorios de un sistema GNU/Linux (ls -p /)
    –   bin/
    –   dev/
    –   home/
    –   lost+found/
    –   proc/
    –   sbin/
    –   usr/
    –   boot/
    –   etc/
    –   lib/
    –   mnt/
    –   root/
    –   tmp/
    –   var/
                                                                          32
Irontec – Curso básico Linux

                                          Instalación de CentOS


●
    /sbin
    –   Contiene los binarios esenciales para que
        funcione el sistema.
    –   Incluye los programas para la administracion,
        configuracion del hardware y mantenimiento.
    –   find, lilo, fdisk, init, ifconfig etc
    –   /usr/sbin contiene los binarios para el
        administrador pero no esenciales para el
        sistema.
    –   Este directorio es solo accesible por ROOT




                                                                     33
Irontec – Curso básico Linux

                                         Instalación de CentOS


●
    /bin
    –   Contiene los comandos imprescindibles para el
        usuario
    –   Accesibles para root como para los usuarios no
        privilegiados
    –   bash, csh, cp, mv, rm, cat, ls...
    –   /usr/bin contiene los binarios para el usuario
        pero que no son imprescindibles.




                                                                    34
Irontec – Curso básico Linux

                                         Instalación de CentOS


●
    /boot – Contiene el kernel y lilo deja aquí
    las copias de seguridad del sistema de
    arranque
●
    /dev – TODO EN LINUX ES UN FICHERO
    –   /dev/hda1 Particion 1 del disco duro 1 master
    –   /dev/cdrom CDROM
    –   ...
●
    /etc – Ficheros de configuración del sistema
    –   /etc/X11/xorg.conf – Sistema X
    –   /etc/resolv.conf
    –   /etc/lilo.conf

                                                                    35
Irontec – Curso básico Linux

                                               Instalación de CentOS


●
    /home – Directorios de los usuarios del
    sistema (Linux es multiusuario)
    –   /home/username
        ●
            Archivos del usuario
        ●
            Configuraciones específicas del usuario
●
    /lib – Librerías compartidas del sistemas
●
    /lost+found – Directorio donde se dejan los
    archivos que FSCK recuperara después de
    una caída del sistema. (Sistemas de
    ficheros sin Journaling)


                                                                          36
Irontec – Curso básico Linux

                                   Instalación de CentOS


●
    /mnt – Punto de montaje genérico donde
    se montarán los dispositivos.
●
    /proc – Directorio especial que hace las
    funciones con interfaz con el nucleo
●
    /root – Es el directorio home de root
●
    /tmp – Es un directorio temporal en el que
    cualquier usuario puede escribir. Se borra
    despues de un reinicio
●
    /var – Directorio donde se guardan los
    datos variables como el correo, colas de
    impresion y logs...

                                                              37
Irontec – Curso básico Linux

                                            Instalación de CentOS

●
    /usr – Directorio donde se encuentran todos los
    programas
    –   /usr/src/linux – Kernel de Linux
    –   /usr/doc – Documentación de los programas




                                                                       38
Irontec – Curso básico Linux

                                       Instalación de CentOS

●
    Grub es el gestor de arranque. Se encargará de
    arrancar CentOS y cualquier sistema operativo que
    detecte.




                                                                  39
Irontec – Curso básico Linux

                                       Instalación de CentOS

●
    Configuración de la red Ethernet. Puede ser por
    DHCP o con IP fija.




                                                                  40
Irontec – Curso básico Linux

                                        Instalación de CentOS

●
    Especificar contraseña para root. El usuario root es
    el Administrador de la máquina y tiene permiso para
    todo.




                                                                   41
Irontec – Curso básico Linux

                                       Instalación de CentOS

●
    Ahora toca seleccionar que deseamos instalar en el
    sistema. Por defecto se instalará el escritorio
    Gnome.




                                                                  42
Irontec – Curso básico Linux

                                        Instalación de CentOS

●
    Ya está, instalación de CentOS finalizada. Ya nos
    podemos autodenominar hackers.




                                                                   43
Irontec – Curso básico Linux

                                         Configuración inicial

●
    Con el primer inicio del sistema accederemos a un
    asistente de configuración.
●
    Se desactivará el Cortafuegos y SELinux para evitar
    problemas durante el curso.
●
    Crearemos un usuario sin privilegios.




                                                                   44
Irontec – Curso básico Linux

                                                         EJERCICIO

●   Navegar por el sistema de ficheros y comprobar que lo
    que vemos se ajusta o no al mapa.

●   Comprobar la versión del núcleo y ver en la web si
    existe una versión nueva. ¿Se podrá actualizar?




                                                                     45
Irontec – Curso básico Linux

                   Comandos básicos




Comandos básicos




                                          46
Irontec – Curso básico Linux

                                                   Introducción a GNU/Linux

●
    Shells
    –   Existen muchas shells: sh,csh,ksh,bash...
    –   Entorno de trabajo:
        ●
            Case sensitive: sensible a mayúsculas (ECHO != echo).
        ●
            Sintáxis: comando arg1 arg2... argn
        ●
            Si un programa no está en el PATH: ./programa
        ●
            Prompt:
             –   $: usuario normal
             –   #: usuario administrador (root)




                                                                                  47
Irontec – Curso básico Linux

                                                Comandos básicos

Comandos para el manejo del sistema de ficheros
 –   ls (lista contenido de directorios)
 –   cd / pwd (cambia /muestra la ruta de directorio)
 –   touch (crea fichero vacío o actualiza existente)
 –   cp / mv / rm (copia / mueve/ elimina fichero)
 –   mkdir / rmdir (crea / elimina directorio)
 –   man / info (ayuda sobre comandos)
 –   echo (muestra una línea de texto)
 –   date / cal (muestra la hora del sistema)
 –   file (muestra el tipo de fichero)
 –   halt / reboot (apaga el sistema)
 –   sleep (cuentra atrás)


                                                                       48
Irontec – Curso básico Linux

                                                Comandos básicos

Comandos para el manejo del sistema de ficheros (II)
 linux:~$ ls -lha /

 linux:~$ pwd

 linux:~$ cd ../../etc

 linux:~$ touch /home/linux/fichero

 linux:~$ date +%d/%m/%y

 linux:~$ cp -a /var/log /backup/

 linux:~$ mkdir -p /tmp/prueba/creacion/directorio

 linux:~$ rm -rf /home/linux/carpeta/




                                                                       49
Irontec – Curso básico Linux

                                      Comandos en GNU/Linux

Comandos para búsqueda de archivos
 linux:~$ find / -name passwd

 linux:~$ locate halt

 linux:~$ whereis cat adduser

 linux:~$ which grep

 linux:~$ whereis cd

 linux:~$ find ~/ -type f -atime +5 -exec rm {} ;




                                                                     50
Irontec – Curso básico Linux

                                                       EJERCICIO

●   Ir a tmp.
●   Crear un fichero llamado prueba.
●   Renombrarlo a nominas.
●   A continuación copiar nominas a nuestra home.
●   Una vez hecho, buscamos en todo el disco duro los
    ficheros con nombre nominas y los borramos.




                                                                   51
Irontec – Curso básico Linux

                                                         EJERCICIO

●   Comprobar con file distintos ficheros del disco duro y
    comprobar los resultados que nos dá.
●   Cambiar la fecha del sistema (buscar información en
    google). Vamos a adelantarnos al 2009.
●   Programar un reinicio del sistema dentro de dos
    minutos.




                                                                     52
Irontec – Curso básico Linux

                                                          EJERCICIO

●   Localizar el comando ifconfig e intentar ejecutarlo.
●   Ejecutar echo $PATH ¿Qué es esa información?
●   Ejecutarlo como usuario root. ¿Qué diferencias
    encontramos?




                                                                      53
Irontec – Curso básico Linux

                                         Sistemas de ficheros en Unix

●
    Rutas en el sistema de ficheros
    –   Absolutas: desde el directorio raiz hasta el archivo
        deseado.
    –   Relativas: desde el directorio actual hasta el archivo
        deseado.
●
    Caracteres especiales
    –   *: sustituye una cantidad cualquiera de caracteres
    –   ?: sustituye exactamente un carácter
    –   []: sustituye un carácter de los indicados
●
    Expansión de comandos y archivos




                                                                          54
Irontec – Curso básico Linux

                                                      EJERCICIOS

●   Ir a /home.
●   Acceder a /home/consultec mediante ruta completa y
    relativa.
●   Crear fichero nominas en nuestro home y hacer un ls
    con * ? y []. Haciendolo de las tres formas, nos tiene
    que dar como resultado únicamente el fichero nóminas
●   Buscar en el disco duro todos los ficheros que empiecen
    por n.




                                                                    55
Irontec – Curso básico Linux

                                              Introducción a GNU/Linux

●
    Tuberías
    –   Un proceso en un sistema UNIX-like tiene inicialmente
        abiertos 3 canales:
        ●
            0: STDIN o entrada estándar
        ●
            1: STDOUT o salida estándar
        ●
            2: STDERR o salida de error
    –   Imaginémonos una refinería:
        ●
            Metes crudo por 0 (STDIN), consigues gasolina por 1
            (STDOUT) y bastantes residuos por el “desagüe” 2 (STDERR).




                                                                             56
Irontec – Curso básico Linux

                                              Introducción a GNU/Linux

Tuberías
 –   Redirigiendo la salida de un comando:
     ●
         > : redirigir STDOUT a un fichero:
                      ls > listado.txt
     ●
         >>: redirigir STDOUT al final de un fichero (añadir):
                      ls >> listados.txt
     ●
         2>: redirigir STDERR a un fichero:
                      ls 2> errores.txt
     ●
         2>>: redirigir STDERR al final de un fichero:
                      ls 2>> errores.txt
     ●
         2>&1: redirigir STDOUT y STDERR a un fichero:
                      ls > salida 2>&1




                                                                             57
Irontec – Curso básico Linux

                                                           EJERCICIO

●   Añadir datos al fichero nomina mediante echo.
    Juan 1000 euros
    Pedro 980 euros
    Jose 800 euros
●   Listarlo con cat y el cat enviarlo a otro fichero nuevo
    llamado copia.nominas.
●   Comparar los ficheros con md5sum. Modificar uno y
    volverlo a comparar.




                                                                       58
Irontec – Curso básico Linux

                                                        EJERCICIO

●   Usando STDIN, STDOUT utilizar cat para crear otro
    fichero llamado nominas2 con los siguientes datos:
    Elisa 1200 euros
    Pepa 1400 euros
    Sara 200 euros
●   ¡No se puede usar echo!




                                                                    59
Irontec – Curso básico Linux

                                          Comandos en GNU/Linux

Comandos para paginar y visualizar archivos
  –   cat (muestra el contenido de ficheros por pantalla)
  –   more / less (pagina el contenido de ficheros)
  –   head / tail (muetra las primeras / últimas líneas de un
      fichero)
  –   grep (busquedas basadas en expresiones regulares)




                                                                         60
Irontec – Curso básico Linux

                                       Comandos en GNU/Linux

Comandos para paginar y visualizar archivos (II)
 linux:~$ cat -n /etc/passwd

 linux:~$ more /etc/fstab

 linux:~$ less /etc/passwd

 linux:~$ cat /etc/passwd /etc/group

 linux:~$ tail -f /var/log/syslog

 linux:~$ head -n 1 /etc/passwd

 linux:~$ grep -ir consultec /etc/passwd




                                                                      61
Irontec – Curso básico Linux

                                                         EJERCICIO

●   Mostrar la primera linea del fichero nominas.
●   Mostrar la última linea del fichero nominas.
●   Abrir dos consolas, en una un tail y con la otra añadir
    lineas con echo.
●   ¿Para que nos puede servir el tail -f?
●   Hacer un tail del servicio httpd y acceder a nuestra web.




                                                                     62
Irontec – Curso básico Linux

                                      Comandos en GNU/Linux

Otros comandos interesantes
 linux:~$ df -h

 linux:~$ du -sh /var/log

 linux:~$ tar cvzf /var/log/backup.tgz /etc/ /home/

 linux:~$ history

 linux:~$ sort -r /etc/group

 linux:~$ wc -l /etc/passwd




                                                                     63
Irontec – Curso básico Linux

                                                         EJERCICIO

●   Contar el número de líneas que tiene el fichero de
    nominas.
●   Comprimir el fichero de nominas y comprobar su
    tamaño.
●   Descomprimirlo y volver a comprobar su tamaño.




                                                                     64
Irontec – Curso básico Linux

                                                 Introducción a GNU/Linux

Tuberías
  –   Redirigiendo la entrada de un comando:
      ●   <: redirigir el contenido de un fichero a STDIN:
                       tr a A < fichero.txt
  –   | : es posible recoger la salida de un desagüe y conducirlo a la
      entrada de otro comando.
              cat fichero.txt | tr a A




                                                                                 65
Irontec – Curso básico Linux

                                                         EJERCICIO

●   Usando los comandos ya vistos mostrar del fichero /etc/
    passwd únicamente los usuarios que comiencen por s.




                                                                     66
Irontec – Curso básico Linux

                                            Comandos básicos

●   El sistema es multitarea, podemos dejar multiples
    procesos corriendo en background.
●   Con control+z llevamos el siguiente proceso a
    background.
●   Con fb [número de proceso] lo traemos de nuevo al
    frente.
●   Con bg listamos el último proceso enviado a
    background.




                                                                   67
Irontec – Curso básico Linux

                                                          EJERCICIO

●   Ejecutar los siguientes tres comandos e ir enviandolos a
    background:
    sleep 70
    sleep 80
    sleep 90
●   Una vez hecho, se debe volver a traer uno a uno al
    frente.




                                                                      68
Irontec – Curso básico Linux

                                             Comandos básicos

●   Es posible crear alias de comandos, de forma que sea
    más sencillo de recordar para nosotros.
●   alias apagar=halt




                                                                    69
Irontec – Curso básico Linux

                                                         EJERCICIO

●   Crear un alias de nombre lc que nos muestre los
    ficheros y directorios del lugar donde nos encontramos
    en colores distintivos y con todos sus datos (tamaño,
    propietarios, permisos...).




                                                                     70
Irontec – Curso básico Linux

                                                  Compresores

●   Tar es un comando que únicamente empaqueta.
●   Gzip es un comando que comprime.
●   Uniendo tar+gzip podemos empaquetar una serie de
    ficheros y comprimirlos.
●   Buscar en google como empaquetar y comprimir /home/
    alumno
●   Una vez hecho, descomprimirlo en /tmp




                                                                  71
Irontec – Curso básico Linux

                Administración de usuarios




Administración de usuarios




                                                72
Irontec – Curso básico Linux

                                            Gestión de Usuarios y Grupos

Características de usuarios Unix
  –   Los sistemas Unix son sistemas multiusuario. Cada usuario
      tiene una serie de características propias y asociadas:
      ●
          uid: identificativo de usuario (debe ser único)
      ●
          gid: identificativo de grupo
      ●
          home: carpeta de trabajo o personal
      ●
          shell: interprete de comandos
  –   Comandos:
      ●
          who/whoami/id (muestra información de usuarios)
      ●
          su/sudo (cambia de usuario o privilegios)




                                                                               73
Irontec – Curso básico Linux

                                    Gestión de Usuarios y Grupos

Gestión de Usuarios
 –   adduser (crear usuarios)
 –   usermod (modificar usuarios)
 –   deluser (eliminar usuarios)


Gestión de Grupos
 –   groupadd (añade grupo o usuario a grupo)
 –   groupmod (modifica grupo)
 –   delgroup (elimina grupo o usuario de grupo)




                                                                      74
Irontec – Curso básico Linux

                                  Gestión de Usuarios y Grupos

Gestión de Usuarios
 linux:~$ adduser alumno

 linux:~$ groupadd curso

 linux:~$ adduser –-home /home/alumno –-shell /bin/sh -–uid
 5001 –-groups curso alumno

 linux:~$ usermod –-shell /bin/bash alumno

 linux:~$ usermod -G softwarelibre alumno
      –   Esto añade a “alumno” al grupo “softwarelibre”




                                                                     75
Irontec – Curso básico Linux

                                         Gestión de Usuarios y Grupos

Cambiando el propietario y grupo
 –   Para cambiar el propietario o grupo puede hacerse a través
     del nombre o del identificativo (uid o gid).
     ●
         chown (cambiar el propietario y grupo)
     ●
         chmod (cambiar los permisos)




                                                                            76
Irontec – Curso básico Linux

                                  Gestión de Usuarios y Grupos

Cambiando el propietario y grupo
 linux:~$ ls -l ~/documentos/linux.pdf
 -rw-rw-r-- 1 alumno alumno 2684 ene 2 21:09 linux.pdf

 linux:~$ chown alumno:curso ~/documentos/linux.pdf

 linux:~$ ls -l ~/documentos/linux.pdf
 -rw-rw-r-- 1 alumno curso 2684 ene 2 21:09 linux.pdf

 linux:~$ id alumno
 uid=500(alumno) gid=500(curso) grupos=500(curso)

 linux:~$ chown 500 ~/documentos/linux.pdf

 linux:~$ ls -l ~/documentos/linux.pdf
 -rw-rw-r-- 1 alumno curso 2684 ene 2 21:09 linux.pdf




                                                                     77
Irontec – Curso básico Linux

                                      Administración de permisos

Permisos de ficheros en sistemas Unix
  –   Todos los archivos en Unix tienen permisos que indican
      que y quien puede hacer o no hacer una acción con el
      archivo.
  –   Es la base de la seguridad de Unix.
  –   2 formas de notación:
      ●
          Modo alfabético
      ●
          Modo octal




                                                                       78
Irontec – Curso básico Linux

                               Administración de permisos

Permisos de ficheros en sistemas Unix
  –   Modo alfabético




                                                                79
Irontec – Curso básico Linux

                               Administración de permisos

Permisos de ficheros en sistemas Unix
  –   Modo octal




                                                                80
Irontec – Curso básico Linux

                                              Administración de permisos

Cambiando los permisos
 –   Solo es posible alterar los permisos si el usuario que lo está
     haciendo es el propietario del archivo.
     ●
         chmod [ugoa][+-][rwx] archivo
     ●
         u (propietario), g (grupo), o (resto), a (todos)
     ●
         + / -: añadir / eliminar permisos
     ●
         r (lectura), w (escritura), x (ejecución)
     ●
         chmod [modo_octal] archivo




                                                                               81
Irontec – Curso básico Linux

                                                         EJERCICIO

●   Crear como root un fichero /tmp/nominas y darle
    permisos de lectura solo a consultec, no a alumno.
    Iniciar sesión con alumno y comprobar si lo puede leer.




                                                                     82
Irontec – Curso básico Linux

                                                         EJERCICIO

●   Con el usuario alumno crear una carpeta que solo la
    pueda ejecutar, leer y escribir el usuario alumno. Dentro
    de ella crear un fichero llamado prueba y comprobar si
    desde consultec se puede leer.




                                                                     83
Irontec – Curso básico Linux

                                                        EJERCICIO

●   Con alumno crear un fichero llamado privado y darle
    permisos para que solo el pueda acceder al fichero.
    Luego intentar abrirlo con root.




                                                                    84
Irontec – Curso básico Linux

                                                        EJERCICIO

●   Abrimos /etc/passwd y comprobarlos los cambios. Le
    quitamos la posibilidad de iniciar sesión a alumno.
    Luego probamos a iniciar sesión con el.




                                                                    85
Irontec – Curso básico Linux

                                                          EJERCICIO

●   Borramos el usuario alumno y comprobamos a
    continuación los permisos del fichero prueba y su
    carpeta de tmp.

●   Intentar crear ficheros por todo el disco duro,
    comprobando así donde tenemos permiso.




                                                                      86
Irontec – Curso básico Linux

                 Montaje de dispositivos




Montaje de dispositivos




                                              87
Irontec – Curso básico Linux

                                              Montaje de dispositivos

●
    Diferencia Linux <-> Windows
    –   En Windows los directorios se montan sobre unidades
        físicas:
             C:Carpeta
             D:Driversvga
    –   En Linux los dispositivos se montan en directorios de la
        estructura de ficheros:
             /home/usuario
             /media/cdrom




                                                                           88
Irontec – Curso básico Linux

                                                    Montaje de dispositivos

●
    Dispositivos y “devices” asociados
    –   Disco duro IDE y CDROM: /dev/hdXY
        ●
            X: Número de disco/dispositivo_IDE (a, b, c...)
        ●
            Y: Número de partición (1, 2, 3...)
                /dev/hda
                /dev/hda1
                /dev/hdb3
    –   Disco duro SCSI, SATA y externos USB: /dev/sdXY
                /dev/sda
                /dev/sda1
                /dev/sdc4




                                                                                 89
Irontec – Curso básico Linux

                                             Montaje de dispositivos

●
    Particiones primarias y lógicas
    –   Máximo 4 primarias:
             /dev/hda1 /dev/hda2 /dev/hda3 /dev/hda4
    –   Una de ellas se puede establecer como partición extendida:
             /dev/hda4
    –   Se pueden crear varias particiones lógicas en una
        extendida:
             /dev/hda5 /dev/hda6 ...
    –   Linux puede arrancar desde una partición lógica, no así
        Windows que requiere una primaria.




                                                                          90
Irontec – Curso básico Linux

                                                        Montaje de dispositivos

●
    /etc/fstab
    # /etc/fstab: static file system information.
    #
    # <file system> <mount point>   <type> <options>                 <dump>   <pass>
    proc            /proc           proc    defaults                     0        0

    /dev/hda1      /               ext3    defaults,errors=remount-ro 0              1
    /dev/hda3      /home           ext3    defaults                   0              2
    /dev/hda2      none            swap    sw                         0              0

    /dev/hdb1      /media/hdb1     ext3    defaults                      0           1

    /dev/hdc       /media/cdrom0   udf,iso9660 user,noauto               0           0


    –   La opción “user” permite que un usuario normal (no root)
        monte la partición.




                                                                                         91
Irontec – Curso básico Linux

                                                  Montaje de dispositivos

●
    mount
    –   Para montar dispositivos manualmente.
    –   Si el dispositivo existe en fstab:
    mount punto_de_montaje
    ó
    mount /dev/dispositivo
        ●   Ej:
                  mount /dev/hdc = mount /media/cdrom0
    –   Si el dispositivo no existe en fstab:
    mount -t TIPO_SIS_FICHEROS /dev/dispositivo punto_montaje
        ●   Ej:
                  mount -t iso9660 /dev/hdc /media/cdrom0
                  mount -t ext3 /dev/hdb1 /media/disco_2
                  mount -t vfat /dev/hda2 /mnt/windowsXP




                                                                               92
Irontec – Curso básico Linux

                                                        Montaje de dispositivos

●
    mount (II)
    –   Notas:
        ●
            Una partición de tipo VFAT no dispone de permisos ni dueños/
            grupos así que no se puede usar el comando “chown” ni
            “chmod” para permitir a usuarios la escritura.
             –   La partición por defecto es del usuario que la monta (la puede
                 montar cualquiera si tiene la opción “user”).
             –   Se puede fijar el dueño de la partición con la opción “uid”, el
                 grupo con “gid” y los permisos con “umask” (ojo, “umask” es la
                 máscara invertida).
    –   ¡¡ man mount !!




                                                                                     93
Irontec – Curso básico Linux

                                                  Montaje de dispositivos

●
    umount
    –   Desmonta un dispositivo:
               umount /dev/dispositivo
    ó
               umount punto_de_montaje
    –   ¡ Sólo si el dispositivo no está usado por ningún proceso!
        ●
            Si un usuario tiene una terminal en /media/cdrom no se podrá
            desmontar el dispositivo.
        ●
            Para comprobar qué procesos están usando un dispositivo:
    lsof punto_de_montaje
    Ej:
                    lsof /media/cdrom




                                                                              94
Irontec – Curso básico Linux

                                                     EJERCICIO




Vamos a crear una carpeta llamada montaje y un disco
duro virtual de 5 megas. Primero vemos como podriamos
particionarlo. Luego montaremos el disco duro en la
carpeta y trabajaremos con el.

mkdir montaje
dd if=/dev/zero of=fichero bs=1 count=5120000
mkfs.ext3 fichero
mount -o loop fichero montaje




                                                                 95
Irontec – Curso básico Linux

                                                      EJERCICIO

●   Nos metemos en la carpeta y creamos un fichero.
●   Abrimos otra consola y desmontamos la carpeta.
●   Configuramos el fstab para que automáticamente monte
    el dispositivo al iniciar el sistema.




                                                                  96
Irontec – Curso básico Linux

                                                        Editor VI

●
    Es el editor que encontraremos en todo UNIX. Es
    necesario conocer el funcionamiento básico para
    poder editar ficheros.
●
    Tiene varios modos de funcionamiento, visual,
    comando y edición.
●
    Tiene muchísimas opciones...

http://www.infor.uva.es/~arturo/Asig/EstSO/manvi.pdf




                                                                  97
Irontec – Curso básico Linux

                 Enlaces duros y simbólicos




Enlaces duros y simbólicos




                                                98
Irontec – Curso básico Linux

                                                          Enlaces

●
    Duros: En ocasiones es necesario dar a un mismo
    archivo distintos nombres o, para mantener la
    integridad de los datos, se hace necesario que un
    mismo archivo que va a ser modificado por varias
    personas pueda estar representado por un nombre
    distinto con distintos permisos cada uno. Dada la
    representación que GNU/Linux le da a los archivos
    es posible que dos o más nombres apunten al
    mismo contenido en el disco rígido..




                                                                  99
Irontec – Curso básico Linux

                                   Enlaces duros y simbólicos

●
    Simbólicos: A diferencia con los enlaces duros,
    estos enlaces solo dan otro nombre a un archivo
    pero no hacen un enlace al nivel de inodo. Se puede
    hacer una comparación con los "Accesos directos"
    de Windows95. La orden ln -s genera un enlace
    simbólico.




                                                                  100
Irontec – Curso básico Linux

                                           Enlaces duros y simbólicos

Creación de un enlace duro

[punisher@shyris ~]$    touch hola
[punisher@shyris ~]$    ln hola adios
[punisher@shyris ~]$    ls -li hola adios
2747992 -rw-r--r-- 2    punisher users 0 jun 12 16:40 adios
2747992 -rw-r--r-- 2    punisher users 0 jun 12 16:40 hola


              ¿Que pasa si borramos el fichero original?




                                                                           101
Irontec – Curso básico Linux

                                           Enlaces duros y simbólicos

Creación de un enlace simbólico

[punisher@shyris ~]$ ln -s adios hastaluego
[punisher@shyris ~]$ ls -li adios hastaluego
2747992 -rw-r--r-- 2 punisher users 0 jun 12 16:40 adios
2748015 lrwxrwxrwx 1 punisher users 5 jun 12 16:44
  hastaluego -> adios



              ¿Que pasa si borramos el fichero original?




                                                                           102
Irontec – Curso básico Linux

                                Crontab




Crontab




                                         103
Irontec – Curso básico Linux

                                                 Tareas periódicas

cron
 –   El demonio cron permite la ejecución programada de
     procesos, scripts o simples comandos.
 –   Cron mira cada minuto si tiene que lanzar algún proceso y
     en caso afirmativo lo lanza. No se puede planificar una
     ejecución de forma más precisa.
 –   Cada usuario tiene su tabla de planificación (crontab)
     aunque también existen una tabla de planificación global
     del sistema (/etc/crontab) y una serie de directorios
     especiales.




                                                                      104
Irontec – Curso básico Linux

                                                    Tareas periódicas

cron
 –   La sintaxis típica de los ficheros de cron consiste en 6
     campos:
          * * * * * [user] comando parametros

          minuto: 0-59. Número, rango, intervalo o lista
          (separada por comas).
          hora: 0-23.
          día del mes: 1-31.
          mes: 1-12 o nombres.
          día de la semana: 0-7 o nombres.
          usuario: sólo en ficheros comentados anteriormente.
          comando: el resto de la línea es el comando a
          ejecutar.
 –   Nota: También puede haber líneas al principio con
     declaración de variables y comentarios (#).
 –   Más info (man 5 crontab).
                                                                         105
Irontec – Curso básico Linux

                                                  Tareas periódicas

cron
 –   Ejemplo de cron de un usuario (root):

          PATH=$PATH:/usr/bin:/usr/local/bin

          # los viernes cada 2 horas...
          * */2 * * 5 cd /root/scripts; ./generaEstadisticas.sh

          # cada día por la noche
          20 3   * * * /root/scripts/backupDiario.sh

          # rotación de backups cada mes
          0 1 1 * * cd /root/scripts; ./rotaBackups.sh




                                                                       106
Irontec – Curso básico Linux

                                                   Tareas periódicas

cron
 –   Creación o edición del fichero de cron del usuario actual:

          $ EDITOR=vi
          $ export EDITOR
          $ crontab -e
          (se edita...)
          :wq (se guarda y se sale)


 –   Mostrar el contenido del cron de un usuario:

          $ crontab [-u user] -l




                                                                        107
Irontec – Curso básico Linux

                                                Tareas periódicas

cron
 –   Directorios especiales:

          /etc/cron.daily/
          /etc/cron.hourly/
          /etc/cron.monthly/
          /etc/cron.weekly/


 –   Los ficheros ejecutables que metamos en esos directorios
     se ejecutarán en su momento por el usuario root. NO
     DEBEN SER FICHEROS DE CRON, sino scripts o programas.




                                                                     108
Irontec – Curso básico Linux

                                                         EJERCICIO

●   Crear una tarea que se ejecute a las 13:45 los lunes una
    nueva linea al fichero /tmp/programado con el texto
    “hola”.
●   Crear una tarea que se ejecute cada 3 minutos
    añadiendo el texto “adios” al mismo fichero.
●   Crear una tarea que cada hora borre el fichero.
●   Lo abrimos con tail -f y vemos el progreso.




                                                                     109
Irontec – Curso básico Linux

           Programación Básica en Shell




Programación Básica
  en Shell (Bash)




                                             110
Irontec – Curso básico Linux

                                                              Shell Scripts

–   Script = Guión
–   Tareas repetitivas se pueden agrupar en un guión y
    ejecutarse automáticamente (Batch Processing).
    ●
        Es sencillo ejecutar 4 comandos para crear un buzón de correo.
    ●
        No lo es tanto para crear 20.000 buzones.
    ●
        Es sencillo hacer un bucle que se repita 20.000 veces ;-)




                                                                            111
Irontec – Curso básico Linux

                                                         Shell Scripts

Nuestro primer shell script
  –   Usamos un editor y creamos el fichero hola.sh:

           #!/bin/sh
           echo hola


  –   Con #! en la primera línea indicamos quién debería
      interpretar el resto de comandos (/bin/sh).
  –   Posteriormente escribimos los comandos separados por
      saltos de línea.




                                                                       112
Irontec – Curso básico Linux

                                                                  Shell Scripts

Variables
  –   Una variable tiene un nombre y un valor, y sirve para dotar
      de dinamismo a nuestros scripts:

             FECHA=”15/07/2004”
             echo “Hoy es $FECHA”

        –   FECHA es el nombre de la variable.
        –   $FECHA es su valor.
  –   Para asignar un valor, se utiliza “=”. ¡¡¡SIN ESPACIOS!!!




                                                                                113
Irontec – Curso básico Linux

                                                                Shell Scripts

Variables de entorno
 –   Al arrancar una shell, ya hay muchas variables definidas,
     son las variables de entorno.
     ●
         Podemos ver su valor con el comando “env”.
 –   Ámbito de una variable:
     ●
         Si se define una variable en una shell, sólo tiene valor en esa
         shell, a no ser que se exporte a los programas “hijo”.
     ●
         export USUARIO=”joaquin”
     ●
         Si desde esa shell lanzamos un script u otro programa, la
         variable USUARIO contendrá “joaquin”.




                                                                              114
Irontec – Curso básico Linux

                                                            Shell Scripts

Variables: interactividad
  –   Es posible leer del usuario el valor de una variable,
      dotando a nuestros scripts de interactividad.
  –   cat hola.sh

           #!/bin/sh
           echo “Dime tu nombre:”
           read NOMBRE
           echo “Hola $NOMBRE, encantado de conocerte”




                                                                          115
Irontec – Curso básico Linux

                                                         Shell Scripts

Variables: argumentos
 –   Es posible pasar los parámetros o argumentos que
     queramos y utilizarlos dentro del script.
 –   cat nombre.sh

          #!/bin/sh
          echo “Nombre: $1”
          echo “Primer Apellido: $2”
          echo “Segundo Apellido: $3”

 –   ./nombre.sh Juan López Martínez
 –   ./nombre.sh “Maria Dolores” Pradera Sánchez
 –   $1, $2, $3... ${10}, ${11}: argumentos
 –   $0 es el propio script.


                                                                       116
Irontec – Curso básico Linux

                                                        Shell Scripts

Variables: argumentos especiales
 –   $#: número de argumentos que nos han pasado.
 –   $*: todos los argumentos. “$*” = “$1 $2 $3...”
 –   $@: todos los argumentos. “$@” = “$1” “$2” “$3”...
 –   $_: comando anteriormente ejecutado.
 –   $$: PID del propio proceso shell.




                                                                      117
Irontec – Curso básico Linux

                                                           Shell Scripts

Variables: sustitución de comandos
 –   Es posible almacenar en una variable el resultado de la
     ejecución de un comando.
 –   Dos sintaxis:
     ●
         Acentos graves: compatibilidad
                     LISTADO=`ls`

     ●
         Con $(): anidable
                     LISTADO=$(ls)
                     LISTADO=$(ls $(cat directorios.txt))




                                                                         118
Irontec – Curso básico Linux

                                                        Shell Scripts

expr: Permite realizar operaciones aritméticas.
  –   Sintaxis: expr ARG1 OP ARG2

          $ SUMA=`expr 7 + 5`       (ojo espacios!)
          $ echo $SUMA
          12

          $ expr 7 > 5                (ojo escapar
          operadores!)
          $ expr ( 7 + 5 ) * 2




                                                                      119
Irontec – Curso básico Linux

                                                                      Shell Scripts

Control del flujo de ejecución
  –   Condiciones: test
      ●   test “$NOMBRE” == “Juan”(==, !=, >, <, >=, <=)
      ●   test $DINERO -eq 1000 (-eq, -ne, -gt, -lt, -ge, -le)
      ●   test -f /etc/passwd              (-f, -d, -l, -r, -w, -x)
  –   Modifican el valor de $?
      ●   cero = verdadero
      ●   no cero = falso             (¡¡AL REVÉS QUE EN C!!)


      http://www.ss64.com/bash/test.html




                                                                                120
Irontec – Curso básico Linux

                                                           Shell Scripts

Control del flujo de ejecución
  –   if: alternativa simple. Sintaxis:

           if condición_1
           then
             comandos
           elif condición_2
           then
             comandos
           else
             comandos
           fi




                                                                         121
Irontec – Curso básico Linux

                                                         Shell Scripts

Control del flujo de ejecución
  –   if. Ejemplo:

           if test “$NOMBRE” == “Juan”
           then
             echo “Hola Juanin, ¿qué tal?”
           elif test “$NOMBRE” == “Pedro”
           then
             echo “Pedreteee, ¡cuánto tiempo!”
           else
             echo “No te conozco”
           fi




                                                                       122
Irontec – Curso básico Linux

                                                          Shell Scripts

Control del flujo de ejecución
  –   case: cómodo para evitar alternativas anidadas. Sintaxis:

           case $VARIABLE in
             “VALOR1”) comandos
               ;;
             “VALOR2”) comandos
               ;;
             *) comandos;
           esac




                                                                        123
Irontec – Curso básico Linux

                                                         Shell Scripts

Control del flujo de ejecución
  –   case. Ejemplo:

           case $NOMBRE in
             “Juan”) echo “Hola Juanin, ¿qué tal?”
               ;;
             “Pedro”) “Pedreteee, ¡cuánto tiempo!”
               ;;
             *) echo “no te conozco”;
           esac




                                                                       124
Irontec – Curso básico Linux

                                                           Shell Scripts

Control del flujo de ejecución
  –   while. Ejecución de 0 a N veces. Sintaxis:

           while condición
           do
             comandos
           done




                                                                         125
Irontec – Curso básico Linux

                                                         Shell Scripts

Control del flujo de ejecución
  –   while. Ejemplo:

           N=1
           while [ $N -lt 100 ]
           do
             echo “Repito esta frase, ya voy $N veces”
             N=$(expr $N + 1)
             sleep 1 # Esperamos 1 segundo
           done




                                                                       126
Irontec – Curso básico Linux

                                                           Shell Scripts

Control del flujo de ejecución
  –   until. Ejecución de 0 a N veces. Idéntico a while con la
      condición negada. Sintaxis:

           until comando
           do
             comandos
           done




                                                                         127
Irontec – Curso básico Linux

                                                           Shell Scripts

Control del flujo de ejecución
  –   until. Ejecución de 0 a N veces. Idéntico a while con la
      condición negada. Sintaxis:

           N=1
           until [ $N -ge 100 ]
           do
             echo “Repito esta frase, ya voy $N veces”
             N=$(expr $N + 1)
           done




                                                                         128
Irontec – Curso básico Linux

                                                          Shell Scripts

Control del flujo de ejecución
  –   for: ejecución repetitiva asignando a una variable de
      control valores de una lista. Sintaxis:

           for VARIABLE in LISTA
           do
             comandos
           done




                                                                        129
Irontec – Curso básico Linux

                                                         Shell Scripts

Control del flujo de ejecución
  –   for. Ejemplo:

           for N in “Sopa” “Carne” “Pan de ajo”
           do
             echo “Hoy comemos $N”
           done




                                                                       130
Irontec – Curso básico Linux

                                                          Shell Scripts

Control del flujo de ejecución
  –   for: la LISTA define la separación de cada elemento por el
      valor de la variable IFS (que por defecto vale “ tn”).
      Ejemplo:

           IFS=”:”
           echo “Directorios en el PATH...”
           for DIR in $PATH
           do
             echo $DIR
           done




                                                                        131
Irontec – Curso básico Linux

                                                            Shell Scripts

Control del flujo de ejecución
  –   for. Ejemplos numéricos:

           for N in 1 2 3 4 5 6 7 8 9 10
           do
             echo “N ahora vale $N”
           done
           for N in $(seq 10)
           do
             echo “N ahora vale $N”
           done




                                                                          132
Irontec – Curso básico Linux

                                                          Shell Scripts

Control del flujo de ejecución
  –   select: muestra las opciones especificadas en LISTA y
      asigna a VARIABLE la opción escogida. Sintaxis:

           select VARIABLE in LISTA
           do
             comandos
           done




                                                                        133
Irontec – Curso básico Linux

                                                                   Shell Scripts

Control del flujo de ejecución
  –   select: Ejemplo:

           select OPCION in “Doner Kebab” “Pizza”
           do
             case $OPCION in
                “Doner Kebab”) echo “Mmmm...”
                  break;;
                “Pizza”) echo “Slurppp!”
                  break;;
               *) echo “No sé qué es eso”
             esac
           done

        IMPORTANTE: sin el break el select seguiría ejecutándose
          indefinidamente.



                                                                                134
Irontec – Curso básico Linux

                                                           Shell Scripts

function
 –   Podemos modularizar los scripts agrupando tareas en
     funciones.
 –   Es necesario que una función esté definida ANTES de que sea
     llamada.
 –   Dentro de una función, $1, $2, $3, etc. serán los parámetros
     pasados a la función, no al script en sí.




                                                                         135
Irontec – Curso básico Linux

                                                  Shell Scripts

function. Ejemplo:
        #!/bin/sh
        function suma
        {
          echo $(expr $1 + $2)
        }
        suma 4 6
        suma 3 234




                                                                136
Irontec – Curso básico Linux

                                                          Shell Scripts

source, .
  –   Con source o con “.” podemos incluir el código de otro
      script en el nuestro:

           #!/bin/sh
           source funciones.sh # ahí se define suma
           suma 1 3
           suma 12 12312




                                                                        137
Irontec – Curso básico Linux

                                                         EJERCICIO

●   Crear un script que nos pida nombre de usuario y
    contraseña.
●   Una vez tengamos los datos los añadimos al fichero
    /tmp/datos
●   A continuación nos pregunta si deseamos continuar
    insertando datos. Si la respuesta es si, volvemos a
    empezar, si es no terminamos la aplicación.




                                                                     138
Irontec – Curso básico Linux

                                                        EJERCICIO

●   Por cada fichero en /bin hacer un md5sum y archivar los
    datos en /tmp/seguridad.
●   Programar una tarea para que lo haga todos los días a
    las 10 de la noche.




                                                                    139
Irontec – Curso básico Linux

                                                          EJERCICIO

●   Crear una calculadora.
●   Si el usuario escribe 2 + 5, que le muestre el resultado
    por pantalla.
●   Se debe salir del bucle cuando el resultado de una
    operación sea 82.




                                                                      140
Irontec – Curso básico Linux

                                Redes




Redes




                                       141
Irontec – Curso básico Linux

                                          Configuración de la red
–   Las interfaces de red se configuran en el fichero:

         [root@localhost network-scripts]# cat ifcfg-eth0

         # Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
         DEVICE=eth0
         BOOTPROTO=dhcp
         HWADDR=00:0C:29:3D:90:4F
         ONBOOT=yes

         [root@localhost network-scripts]# cat ifcfg-lo
         DEVICE=lo
         IPADDR=127.0.0.1
         NETMASK=255.0.0.0
         NETWORK=127.0.0.0
         BROADCAST=127.255.255.255
         ONBOOT=yes
         NAME=loopback



                                                                       142
Irontec – Curso básico Linux

                                           Configuración de la red

Configuración manual de la red
 –   ifconfig: configura interfaces de red. Asigna IP, máscara,
     gateway, etc.
          $ ifconfig eth0 192.168.0.12 netmask 255.255.255.0 up


 –   route: añade rutas estáticas. Ejemplo típico:
          $ route add default gw 192.168.0.1
          $ route add -net 10.10.0.0 netmask 255.255.255.0 gw
          192.168.0.100
          $ route -n (muestra tabla de rutas)


 –   /etc/resolv.conf: indica los servidores DNS
          $ cat /etc/resolv.conf

          nameserver 195.235.113.3



                                                                        143
Irontec – Curso básico Linux

                                               Configuración de la red

–   IP alias: crear un interfaz de red sobre otro.
    ●
        Una misma red física puede albergar distintas redes con
        distinto direccionamiento y rango.

            $ ifconfig eth0:1 192.168.1.123 netmask 255.255.255.0


            $ ifconfig eth0:1
            eth0:1
                    Link encap:Ethernet HWaddr 00:14:85:E8:D3:AF
                    inet addr:192.168.1.123 Bcast:192.168.1.255
                    Mask:255.255.255.
                    UP BROADCAST RUNNING MULTICAST MTU:1500
                    Metric:1 Interrupt:217 Base address:0xe800




                                                                           144
Irontec – Curso básico Linux

                                          Configuración de la red

Configuración manual de la red
 –   /etc/hosts: realiza una resolución directa de nombre a IP
     sin realizar consulta DNS. Normalmente este fichero se
     mira antes de preguntar al servidor DNS (sólo para
     consulta de tipo A).
 –   Para asegurarnos que el sistema pregunte al DNS o al
     fichero '/etc/hosts' para resolver nombres de host hay que
     mirar el fichero '/etc/nsswitch.conf'




                                                                       145
Irontec – Curso básico Linux

                                                Configuración de la red

Configuración automática de la red (DHCP)
 –   Configuración para el arranque: en /etc/network/interfaces
     definimos la interfaz como “inet dhcp”
 –   Configuración manual:
     ●
         se utiliza un cliente dhcp como dhclient o pump

             # dhclient eth0
             # pump -i eth0




                                                                            146
Irontec – Curso básico Linux

                      Comandos básicos de administración de red

ping: manda un mensaje ICMP – echo request.
– Se utiliza normalmente para comprobar si un interfaz de
  red remoto está levantado.

         $ ping 212.55.8.132
         PING 212.55.8.132 (212.55.8.132) 56(84) bytes of
         data.
         bytes from 212.55.8.132: icmp_seq=1 ttl=242 time=166
         ms

¡hay conectividad!

–   Nota: Si no hay ping puede que el tráfico ICMP esté filtrado
    por algún firewall.




                                                                      147
Irontec – Curso básico Linux

                        Comandos básicos de administración de red

telnet: protocolo de terminal remoto
  –   Se utiliza para conectarse a una máquina remota.

           $ telnet IP puerto (default 23)


  –   NO es un protocolo seguro (SSH sí).
  –   Se utiliza también para comprobar estado de servicios
      remotos. Ejemplo:

           $ telnet www.euskalnet.net 80
           Connected to eui3h.euskaltel.es.
           Escape character is '^]'.

 ¡el servidor web funciona!




                                                                        148
Irontec – Curso básico Linux

                        Comandos básicos de administración de red

netstat: muestra conexiones de red
 –   Comando potente que permite mostrar casi toda la
     información de la configuración TCP/IP de la máquina
     (man netstat).
 –   Ejemplos:

          netstat   -atup # muestra tambien procesos
          netstat   -a # muestra todas las conex.
          netstat   -a | grep LISTEN
          netstat   -a | grep ESTABLISHED
          netstat   -nrv # muestra tabla de rutas




                                                                        149
Irontec – Curso básico Linux

          Comandos avanzados administración de red

iptraf:




                                                         150
Irontec – Curso básico Linux

                           Comandos avanzados administración de red

netcat (nc): “navaja suiza” de red
●
  Capaz de funcionar como cliente, como servidor, etc.
           telnet 127.0.0.1 80
                   Trying 127.0.0.1...
                   Connected to 127.0.0.1.
                   Escape character is '^]'.
           GET /
                   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2
                   Final//EN">
                   <html>
                    <head>
                   ...
   ●
       Lo mismo con netcat (nc):
           echo “GET /” | nc 127.0.0.1 80
   ●
       Cliente/Servidor:
           nc -l -p 5000
           cat fichero | nc 192.168.1.1 5000


                                                                          151
Irontec – Curso básico Linux

                      Comandos avanzados administración de red

nmap: “escaneador de red”
●
  Permite comprobar que puertos están o no abiertos.
●
  Nos dice el sistema operativo y la versión de los
  servicios que estamos escaneando.
[root@shyris punisher]# nmap -sS -O 127.0.0.1

Starting Nmap 4.65 ( http://nmap.org ) at 2008-06-13 08:40 CEST
Interesting ports on localhost.localdomain (127.0.0.1):
Not shown: 1713 closed ports
PORT    STATE SERVICE
111/tcp open rpcbind
978/tcp open unknown
Device type: general purpose
Running: Linux 2.6.X
OS details: Linux 2.6.17 - 2.6.24
Uptime: 0.013 days (since Fri Jun 13 08:22:15 2008)
Network Distance: 0 hops
                                                                      152
Irontec – Curso básico Linux

                             Iptables




IPTABLES




                                      153
Irontec – Curso básico Linux

                                                                      Iptables

●   Cortafuegos Netfilter/Iptables
    –   Remplaza a Ipchains desde el Kernel 2.3.
    –   iptables: herramienta del espacio de usuario que permite:
        ●   Reglas para filtrado de paquetes.
        ●   NAT.
    –   Firewall stateful (controla estados de conexiones).
    –   Soporte IPv6.




                                                                               154
Irontec – Curso básico Linux

                                             Iptables

●   Tablas y cadenas




                                                      155
Irontec – Curso básico Linux

                                                     Iptables

●   Destino: nuestra máquina




                                                              156
Irontec – Curso básico Linux

                                                    Iptables

●   Origen: nuestra máquina




                                                             157
Irontec – Curso básico Linux

                                                            Iptables

●   Paquetes Reenviados (Forwarded)




                                                                     158
Irontec – Curso básico Linux

                                                                     Iptables

●   Tabla mangle
    –   Para modificar paquetes:
        ●   TOS (Type of Service)
        ●   TTL (Time To Live)
        ●   MARK (marcar un paquete) -> iproute2, QoS
    –   ¡ No usar esta tabla para para DNAT, SNAT o Masquerading !




                                                                              159
Irontec – Curso básico Linux

                                                                               Iptables

●   Tabla nat
    –   Sólo para hacer NAT (Network Address Translation).
    –   DNAT:
        ●   Cambiar la IP destino.
        ●   Ej: Redirigir entrantes a una DMZ con IP's locales.
    –   SNAT:
        ●   Cambiar la IP origen a una definida (estática)
        ●   Para dar salida a equipos LAN con IP's locales.
    –   Masquerade:
        ●   Igual que SNAT con más carga de procesador.
        ●   Cada vez chequea la IP saliente que debe asignarle.
             –   Ej: Router Linux con IP pública dinámica.


                                                                                        160
Irontec – Curso básico Linux

                                                                     Iptables

●   Tabla filter
    –   Filtrado de paquetes.
    –   ¡ Se puede hacer filtrado en otras tablas, pero no es
        recomendable !
    –   Acciones como:
        ●   Aceptar un paquete (ACCEPT).
        ●   Desecharlo (DROP).




                                                                              161
Irontec – Curso básico Linux

                                                                          Iptables
●   Estado de los paquetes
    –   NEW: paquete nuevo.
    –   ESTABLISHED: comunicación ya establecida.
    –   RELATED: relaionada a otra comunicación ESTABLISHED.
        ●   Para protocolos como FTP que incluyen puerto de transmisión de
            datos dentro de datos de aplicación.
             –   Hace falta un módulo para Netfiler: ip_conntrack_ftp.
    –   --state
        ●   Para comparar el estado de un paquete.
    –   El estado de conexiones se aplica sobre:
        ●   TCP, UDP o ICMP.
             –   UPD y ICMP gracias al módulo ip_conntrack.




                                                                                   162
Irontec – Curso básico Linux

                                                                           Iptables

●   Estado de los paquetes (II)
    –   Ejemplo:
        ●   Nuestra máquina envía un paquete a otra máquina:
             –   Estado de la comunicación: NEW.
             –   Cadena OUTPUT.
        ●   La máquina destino nos responde con otro paquete.
             –   Estado de la comunicación: ESTABLISHED.
             –   Cadena PREROUTING.




                                                                                    163
Irontec – Curso básico Linux

                                                                                  Iptables

●   Listar reglas actuales
    –   iptables -L -v
    –   iptables-save
        ●   Lista las reglas en un formato válido para iptables-restore.
             –   iptables-save > fichero-reglas (salva las reglas a fichero)
             –   iptables-restore < fichero-reglas (carga reglas desde fichero)




                                                                                          164
Irontec – Curso básico Linux

                                                                    Iptables

●   Comando iptables
    –   Sintaxis para añadir una regla:
    iptables [-t tabla] comando [comparación] [objetivo/salto]

    –   Los scripts de iptables constan de muchas líneas similares.




                                                                             165
Irontec – Curso básico Linux

                                                               Iptables

●   Comandos
    -A : Añade la regla al final de la cadena.
                    iptables -A INPUT (añade una regla al final
                    de la cadena INPUT)
    -D : Borrar una regla (hay que ponerla entera).
    -R : Reemplaza una regla.
    -I : Inserta una regla en la posición indicada.
    -L : Lista todas las reglas (de la cadena especificada).
    -F : (Flush) Elimina todas las reglas (de la cadena
    especificada).




                                                                        166
Irontec – Curso básico Linux

                                                                  Iptables
●   Comparaciones
    –   Comparaciones genéricas:
    -p, --protocol : Para comprobar si es TCP, UDP o ICMP.
                    iptables -A INPUT -p tcp
    -s, --src : Comparación de IP origen.
                    iptables -A INPUT -s 192.168.1.10
                    iptables -A INPUT -s 192.168.1.0/24
                    iptables -A INPUT -s ! 192.168.1.0/24
                    (invertir)
    -d, --dst : Comparación de IP destino.
                    iptables -A INPUT -d 192.168.0.1
                    iptables -A INPUT -d 192.168.0.0/16
    -i, --in-interface : Interfaz origen.
             ●   Sólo válida en INPUT, FORWARD y PREROUTING.
                    iptables -A INPUT -i eth0
                    iptables -A INPUT -i eth+     (por cualquier
                    eth)
    -o, --out-interface : Interfaz de salida.
             ●   Sólo válida en OUTPUT, FORWARD y POSTROUTING.
                      iptables -A FORWARD -o eth0
                                                                           167
Irontec – Curso básico Linux

                                                                      Iptables

●   Comparaciones implícitas
    –   Comparaciones que se cargan implícitamente:
        ●   TCP
        ●   UDP
        ●   ICMP
    –   Estas comparaciones se cargan con la opción -p:
                  iptables -p TCP   (o UDP, ICMP)




                                                                               168
Irontec – Curso básico Linux

                                                                     Iptables

●   Comparaciones implícitas TCP
    –   -p tcp
    --sport : Puerto origen.
                    iptables -A INPUT -p tcp --sport 1003
                    iptables -A INPUT -p tcp --sport 100:200
                    (rango)
                    iptables -A INPUT -p tcp --sport ! 22
                    (invertir)
    --dport : Puerto destino (ídem)
    --tcp-flags : Flags TCP:
                 ●   SYN, FIN, ACK, ACK SYN
                          iptables -A INPUT -p tcp --tcp-flags SYN
                          iptables -A INPUT -p tcp --tcp-flags
                          SYN,FIN,ACK SYN




                                                                              169
Irontec – Curso básico Linux

                                                         Iptables

●   Comparaciones implícitas UDP
    –   -p upd
    --sport : Igual que en TCP.
    --dport : Igual que en TCP.




                                                                  170
Irontec – Curso básico Linux

                                                                  Iptables

●   Comparaciones implícitas ICMP
    –   -p icmp
    --icmp-type : Tipo de ICMP.
                    iptables -A INPUT -p icmp --icmp-type 8
             ●    Se puede ver un listado con:
                       iptables -p icmp --help




                                                                           171
Irontec – Curso básico Linux

                                                                      Iptables

●   Comparaciones explícitas
    –   Se deben cargan explícitamente con opción -m (--match).
    --state ESTADO : Verifica el estado de la conexión.
                   ●   NEW, INVALID, ESTABLISHED, RELATED
                    iptables -A INPUT -m state --state
                    RELATED,ESTABLISHED
    --limit VALOR : Limitar el nº de paquetes por tiempo.
                    iptables -A INPUT -m limit --limit 3/hour
    --mac-source : MAC origen.
                    iptables -A INPUT -m mac --mac-source
                            00:00:00:00:11:22
    --mark : Comprobar paquetes marcados anteriormente.
                    iptables -t mangle -A INPUT -m mark --mark 1
        ●   Más comparaciones:
             –   TOS, TTL, multiport...




                                                                               172
Irontec – Curso básico Linux

                                                                        Iptables

●   Objetivos/Saltos
    –   Acción que se ejecuta sobre el paquete.
                  -j ACCIÓN
        ●   Salto: Mandar el paquete a otra cadena:
                  -j cadena
             –   Podemos crear cadenas propias:
                           iptables -N cadena_tcp
                           iptables -A INPUT -p tcp -j cadena_tcp
●




                                                                                 173
Irontec – Curso básico Linux

                                                                Iptables

●   Objetivos
    ACCEPT : Aceptamos el paquete.
            ●   ¡ El paquete deja de compararse en la cadena
                actual y en las cadenas de la tabla actual !
            ●   ¡ El paquete podría ser filtrado en otra tabla
                !

    DROP : Deseacha un paquete.

    REJECT : Rechaza un paquete (envía un ICMP informativo al
    origen).

    LOG : Loguea el paquete en ssylog.

    DNAT : Cambiamos la IP destino.
            ●   Sólo en cadenas PREROUTING y OUTPUT de la
                tabla nat.
                     iptables -t nat -A PREROUTING -p tcp -d
                     85.80.23.54 --dport 80 -j DNAT --to-
                     destination 192.168.168.10:80

                                                                         174
Irontec – Curso básico Linux

                                                                     Iptables
●   Objetivos (II)
    SNAT : Cambiamos la IP origen.
                ●   Sólo en la cadena POSTROUTING de la tabla nat.
                         iptables -t nat -A POSTROUTING -p tcp -o eth0
                         -j SNAT --to-source 90.90.90.90:1024-3200

    MASQUERADE : Cambiamos la IP origen (detecta la IP)
                ●   Sólo en la cadena POSTROUTING de la tabla nat.
                         iptables -t nat -A POSTROUTING -p tcp -o eth0
                         -j MASQUERADE –-to-ports 1024-3200

    REDIRECT : Redirigir paquetes hacia la máquina.
                ●   Sólo en cadenas PREROUTING y POSTROUTING de
                    tabla nat.
                         iptables -t nat -A PREROUTING -p tcp --dport
                         80 -j REDIRECT –-to-ports 8080
                ●   Util para proxy transparente.
      ●   Otros objetivos:
           –   RETURN, QUEUE, MIRROR, MARK, TOS, TTL, ULOG

                                                                              175
Irontec – Curso básico Linux

                                                                              Iptables

●   Política por defecto
    –   Dos filosofías:
        ●   1ª: “Todo abierto y cerrar aquello que no queramos”
        ●   2ª: “Todo cerrado y abrir aquello que queramos”
        ●   ¡ Mucho más segura la 2ª !
    –   Política por defecto en cada cadena (sólo se cumple si el
        paquete no coincide con ninguna regla):
                  iptables -P cadena política

             –   Denegamos acceso a la máquina y otras máquinas:
                            iptables -P INPUT DROP
                            iptables -P FORWARD DROP
             –   Permitimos acceso total al exterior desde nuestra propia máquina:
                            iptables -P OUTPUT ACCEPT


                                                                                       176
Irontec – Curso básico Linux

                                                                      Iptables

●   Política por defecto (II)
    –   ¡ OJO con el interfaz “lo” !
        ●   “lo” es el interfaz de localhost.
        ●   Si ponemos:
            iptables -P INPUT DROP
    ¡ Estamos bloqueando los accesos por red en localhost !
        ●   Solución: Añadir:
                iptables -A INPUT -p ALL -i lo -j ACCEPT




                                                                               177
Irontec – Curso básico Linux

                                                                           Iptables

●   sysctl
    –   Para habilitar el rutado:
                #> echo “1” > /proc/sys/net/ipv4/ip_forward
        ●   Más elegante:
                #> sysctl -w net.ipv4.ip_forward=1
        ●   Para dejarlo definitivo (activo en el arranque):
    Fichero /etc/sysctl.conf:
            net/ipv4/ip_forward=1




                                                                                    178
Irontec – Curso básico Linux

                                                                         Iptables

●   Notas a recordad
    –   ¡ No bloquear todos los ICMP ! ¿¿por qué??
        ●   Supone cargarse la mitad del protocolo de internet.
    –   No olvidarse del interfaz “lo”.
    –   Cargar módulos necesarios para nuestras reglas.
        ●   ¡ Imprescindible el módulo ip_tables !




                                                                                  179
Irontec – Curso básico Linux

                                                                          Iptables

●   Ejemplo
    –   Aspectos comunes de los scripts:
        ●   Borrado de las reglas aplicadas actualmente (flush)
        ●   Aplicación de políticas por defecto para INPUT, OUPUT,
            FORWARD
        ●   Listado de reglas iptables.




                                                                                   180
Curso Basico Linux
Curso Basico Linux
Curso Basico Linux
Curso Basico Linux
Curso Basico Linux
Curso Basico Linux
Curso Basico Linux
Curso Basico Linux
Curso Basico Linux
Curso Basico Linux
Curso Basico Linux
Curso Basico Linux
Curso Basico Linux
Curso Basico Linux
Curso Basico Linux
Curso Basico Linux
Curso Basico Linux
Curso Basico Linux
Curso Basico Linux

Más contenido relacionado

La actualidad más candente (20)

Loren
LorenLoren
Loren
 
Linux
LinuxLinux
Linux
 
Software libre, open source y histroia de linux
Software libre, open source y histroia de linuxSoftware libre, open source y histroia de linux
Software libre, open source y histroia de linux
 
Distribuciones de Linux
Distribuciones de LinuxDistribuciones de Linux
Distribuciones de Linux
 
Linux
LinuxLinux
Linux
 
Historia De Linux
Historia De LinuxHistoria De Linux
Historia De Linux
 
Historia de linux y sus distribuciones
Historia de linux y sus distribucionesHistoria de linux y sus distribuciones
Historia de linux y sus distribuciones
 
sistemas operativos
sistemas operativossistemas operativos
sistemas operativos
 
Presentación Linux
Presentación LinuxPresentación Linux
Presentación Linux
 
Material gnu
Material gnuMaterial gnu
Material gnu
 
Tema a tratarse
Tema a tratarseTema a tratarse
Tema a tratarse
 
Historia de linux
Historia de linuxHistoria de linux
Historia de linux
 
Taller basico GNU / Linux
Taller basico GNU / LinuxTaller basico GNU / Linux
Taller basico GNU / Linux
 
Criminalística Cibernética
Criminalística CibernéticaCriminalística Cibernética
Criminalística Cibernética
 
Linux
LinuxLinux
Linux
 
La historia de linux
La historia de linuxLa historia de linux
La historia de linux
 
Unix y linux
Unix y linuxUnix y linux
Unix y linux
 
Linux en el mundo digital de hoy
Linux en el mundo digital de hoyLinux en el mundo digital de hoy
Linux en el mundo digital de hoy
 
Sistema operativo linux
Sistema operativo linuxSistema operativo linux
Sistema operativo linux
 
Introduccion a Linux
Introduccion a LinuxIntroduccion a Linux
Introduccion a Linux
 

Destacado

Resumen línea comandos linux para bachillerato
Resumen línea comandos linux para bachilleratoResumen línea comandos linux para bachillerato
Resumen línea comandos linux para bachilleratoaramosprofe
 
Comandos de linux
Comandos de linuxComandos de linux
Comandos de linuxyaser6700
 
Comandos basicos linux ubuntu
Comandos basicos linux ubuntuComandos basicos linux ubuntu
Comandos basicos linux ubuntuJose Diaz Silva
 
Tutorial Comandos
Tutorial ComandosTutorial Comandos
Tutorial Comandoseguzman
 
Catálogo de Servicios de Eq Soft - 2016
Catálogo de Servicios de Eq Soft - 2016Catálogo de Servicios de Eq Soft - 2016
Catálogo de Servicios de Eq Soft - 2016EQ SOFT EIRL
 
20 comandos linux que todos los administradores deben conocer
20 comandos linux que todos los administradores deben conocer20 comandos linux que todos los administradores deben conocer
20 comandos linux que todos los administradores deben conocerOpenWebinars.net
 
Servicios de Software Factory - EqSoft
Servicios de Software Factory - EqSoftServicios de Software Factory - EqSoft
Servicios de Software Factory - EqSoftEQ SOFT EIRL
 
Introducción a Kali Linux
Introducción a Kali LinuxIntroducción a Kali Linux
Introducción a Kali LinuxFrancisco Medina
 
Brochure Soluciones de Sensores Para Museos
Brochure Soluciones de Sensores Para MuseosBrochure Soluciones de Sensores Para Museos
Brochure Soluciones de Sensores Para MuseosEQ SOFT EIRL
 

Destacado (14)

Linux básico
Linux básicoLinux básico
Linux básico
 
Resumen línea comandos linux para bachillerato
Resumen línea comandos linux para bachilleratoResumen línea comandos linux para bachillerato
Resumen línea comandos linux para bachillerato
 
Comandos de linux
Comandos de linuxComandos de linux
Comandos de linux
 
Por que usar linux
Por que usar linuxPor que usar linux
Por que usar linux
 
Comandos basicos linux ubuntu
Comandos basicos linux ubuntuComandos basicos linux ubuntu
Comandos basicos linux ubuntu
 
Linux basico 1
Linux basico 1Linux basico 1
Linux basico 1
 
Tutorial Comandos
Tutorial ComandosTutorial Comandos
Tutorial Comandos
 
Catálogo de Servicios de Eq Soft - 2016
Catálogo de Servicios de Eq Soft - 2016Catálogo de Servicios de Eq Soft - 2016
Catálogo de Servicios de Eq Soft - 2016
 
20 comandos linux que todos los administradores deben conocer
20 comandos linux que todos los administradores deben conocer20 comandos linux que todos los administradores deben conocer
20 comandos linux que todos los administradores deben conocer
 
Servicios de Software Factory - EqSoft
Servicios de Software Factory - EqSoftServicios de Software Factory - EqSoft
Servicios de Software Factory - EqSoft
 
Introducción a Kali Linux
Introducción a Kali LinuxIntroducción a Kali Linux
Introducción a Kali Linux
 
Brochure Soluciones de Sensores Para Museos
Brochure Soluciones de Sensores Para MuseosBrochure Soluciones de Sensores Para Museos
Brochure Soluciones de Sensores Para Museos
 
Curso básico Linux
Curso básico LinuxCurso básico Linux
Curso básico Linux
 
Curso Linux Basico
Curso Linux BasicoCurso Linux Basico
Curso Linux Basico
 

Similar a Curso Basico Linux (20)

Presentacion GNU Linux
Presentacion GNU LinuxPresentacion GNU Linux
Presentacion GNU Linux
 
Linux papito
Linux papitoLinux papito
Linux papito
 
INTRODUCCION A GNU/LINUX - CENTOS ::: http://leymebamba.com
INTRODUCCION A GNU/LINUX - CENTOS ::: http://leymebamba.comINTRODUCCION A GNU/LINUX - CENTOS ::: http://leymebamba.com
INTRODUCCION A GNU/LINUX - CENTOS ::: http://leymebamba.com
 
Linux
LinuxLinux
Linux
 
Linux
LinuxLinux
Linux
 
Proyecto linux
Proyecto linuxProyecto linux
Proyecto linux
 
Linux
LinuxLinux
Linux
 
Curso basico de linux(guadalinex)
Curso basico de linux(guadalinex)Curso basico de linux(guadalinex)
Curso basico de linux(guadalinex)
 
Sistema Operativo Linux
Sistema Operativo LinuxSistema Operativo Linux
Sistema Operativo Linux
 
SO linux Por Elizabeth Escobar y Julian Ocampo
SO linux Por Elizabeth Escobar y Julian OcampoSO linux Por Elizabeth Escobar y Julian Ocampo
SO linux Por Elizabeth Escobar y Julian Ocampo
 
Linux
LinuxLinux
Linux
 
Linux
LinuxLinux
Linux
 
Linux. Un Sistema Operativo LIBRE.
Linux. Un Sistema Operativo LIBRE.Linux. Un Sistema Operativo LIBRE.
Linux. Un Sistema Operativo LIBRE.
 
Linux mint presentacion final
Linux mint presentacion finalLinux mint presentacion final
Linux mint presentacion final
 
Sistema operativo linux
Sistema operativo linuxSistema operativo linux
Sistema operativo linux
 
Linux2.2
Linux2.2Linux2.2
Linux2.2
 
9 -10 distribuciones linux
9 -10 distribuciones linux9 -10 distribuciones linux
9 -10 distribuciones linux
 
Presentacion De Linux
Presentacion De LinuxPresentacion De Linux
Presentacion De Linux
 
Compu
CompuCompu
Compu
 
LINUX/FEDORA
LINUX/FEDORALINUX/FEDORA
LINUX/FEDORA
 

Más de Irontec

Gestion de proyectos con GitLab en tiempos de teletrabajo
Gestion de proyectos con GitLab en tiempos de teletrabajoGestion de proyectos con GitLab en tiempos de teletrabajo
Gestion de proyectos con GitLab en tiempos de teletrabajoIrontec
 
Sobre cómo gestionamos centenares de despliegues de VoIP
Sobre cómo gestionamos centenares de despliegues de VoIPSobre cómo gestionamos centenares de despliegues de VoIP
Sobre cómo gestionamos centenares de despliegues de VoIPIrontec
 
Presente y futuro del nuevo IVOZ Provider
Presente y futuro del nuevo IVOZ ProviderPresente y futuro del nuevo IVOZ Provider
Presente y futuro del nuevo IVOZ ProviderIrontec
 
Automated Testing para aplicaciones VoIP, WebRTC
Automated Testing para aplicaciones VoIP, WebRTCAutomated Testing para aplicaciones VoIP, WebRTC
Automated Testing para aplicaciones VoIP, WebRTCIrontec
 
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...Irontec
 
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17Irontec
 
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...Irontec
 
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / Kamailio
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / KamailioEscalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / Kamailio
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / KamailioIrontec
 
VoIP2DAY 2015 - Workshop comercial ivoz provider
VoIP2DAY 2015 - Workshop comercial ivoz providerVoIP2DAY 2015 - Workshop comercial ivoz provider
VoIP2DAY 2015 - Workshop comercial ivoz providerIrontec
 
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...Irontec
 
Comparativa Firewall: IPCop vs. pfSense
Comparativa Firewall: IPCop vs. pfSenseComparativa Firewall: IPCop vs. pfSense
Comparativa Firewall: IPCop vs. pfSenseIrontec
 
Introducción a varnish cache (@irontec)
Introducción a varnish cache (@irontec)Introducción a varnish cache (@irontec)
Introducción a varnish cache (@irontec)Irontec
 
Curso de introducción a Sphinx | Irontec
Curso de introducción a Sphinx | IrontecCurso de introducción a Sphinx | Irontec
Curso de introducción a Sphinx | IrontecIrontec
 
Curso de VoIP / Parte 01: VoIP y Asterisk
Curso de VoIP / Parte 01: VoIP y AsteriskCurso de VoIP / Parte 01: VoIP y Asterisk
Curso de VoIP / Parte 01: VoIP y AsteriskIrontec
 
Curso de VoIP / Parte 03: Dialplan
Curso de VoIP / Parte 03: DialplanCurso de VoIP / Parte 03: Dialplan
Curso de VoIP / Parte 03: DialplanIrontec
 
Curso de VoIP / Parte 02: SIP
Curso de VoIP / Parte 02: SIPCurso de VoIP / Parte 02: SIP
Curso de VoIP / Parte 02: SIPIrontec
 
Curso de VoIP / Parte 04: Conceptos avanzados
Curso de VoIP / Parte 04: Conceptos avanzadosCurso de VoIP / Parte 04: Conceptos avanzados
Curso de VoIP / Parte 04: Conceptos avanzadosIrontec
 
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskera
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskeraEuskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskera
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskeraIrontec
 
Virtualizacion KVM + libvirt + HREL6
Virtualizacion KVM + libvirt + HREL6Virtualizacion KVM + libvirt + HREL6
Virtualizacion KVM + libvirt + HREL6Irontec
 
Irontec - Presentación de servicios de telefonía IP
Irontec - Presentación de servicios de telefonía IPIrontec - Presentación de servicios de telefonía IP
Irontec - Presentación de servicios de telefonía IPIrontec
 

Más de Irontec (20)

Gestion de proyectos con GitLab en tiempos de teletrabajo
Gestion de proyectos con GitLab en tiempos de teletrabajoGestion de proyectos con GitLab en tiempos de teletrabajo
Gestion de proyectos con GitLab en tiempos de teletrabajo
 
Sobre cómo gestionamos centenares de despliegues de VoIP
Sobre cómo gestionamos centenares de despliegues de VoIPSobre cómo gestionamos centenares de despliegues de VoIP
Sobre cómo gestionamos centenares de despliegues de VoIP
 
Presente y futuro del nuevo IVOZ Provider
Presente y futuro del nuevo IVOZ ProviderPresente y futuro del nuevo IVOZ Provider
Presente y futuro del nuevo IVOZ Provider
 
Automated Testing para aplicaciones VoIP, WebRTC
Automated Testing para aplicaciones VoIP, WebRTCAutomated Testing para aplicaciones VoIP, WebRTC
Automated Testing para aplicaciones VoIP, WebRTC
 
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
 
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
 
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
 
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / Kamailio
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / KamailioEscalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / Kamailio
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / Kamailio
 
VoIP2DAY 2015 - Workshop comercial ivoz provider
VoIP2DAY 2015 - Workshop comercial ivoz providerVoIP2DAY 2015 - Workshop comercial ivoz provider
VoIP2DAY 2015 - Workshop comercial ivoz provider
 
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
 
Comparativa Firewall: IPCop vs. pfSense
Comparativa Firewall: IPCop vs. pfSenseComparativa Firewall: IPCop vs. pfSense
Comparativa Firewall: IPCop vs. pfSense
 
Introducción a varnish cache (@irontec)
Introducción a varnish cache (@irontec)Introducción a varnish cache (@irontec)
Introducción a varnish cache (@irontec)
 
Curso de introducción a Sphinx | Irontec
Curso de introducción a Sphinx | IrontecCurso de introducción a Sphinx | Irontec
Curso de introducción a Sphinx | Irontec
 
Curso de VoIP / Parte 01: VoIP y Asterisk
Curso de VoIP / Parte 01: VoIP y AsteriskCurso de VoIP / Parte 01: VoIP y Asterisk
Curso de VoIP / Parte 01: VoIP y Asterisk
 
Curso de VoIP / Parte 03: Dialplan
Curso de VoIP / Parte 03: DialplanCurso de VoIP / Parte 03: Dialplan
Curso de VoIP / Parte 03: Dialplan
 
Curso de VoIP / Parte 02: SIP
Curso de VoIP / Parte 02: SIPCurso de VoIP / Parte 02: SIP
Curso de VoIP / Parte 02: SIP
 
Curso de VoIP / Parte 04: Conceptos avanzados
Curso de VoIP / Parte 04: Conceptos avanzadosCurso de VoIP / Parte 04: Conceptos avanzados
Curso de VoIP / Parte 04: Conceptos avanzados
 
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskera
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskeraEuskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskera
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskera
 
Virtualizacion KVM + libvirt + HREL6
Virtualizacion KVM + libvirt + HREL6Virtualizacion KVM + libvirt + HREL6
Virtualizacion KVM + libvirt + HREL6
 
Irontec - Presentación de servicios de telefonía IP
Irontec - Presentación de servicios de telefonía IPIrontec - Presentación de servicios de telefonía IP
Irontec - Presentación de servicios de telefonía IP
 

Último

GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 

Último (20)

GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 

Curso Basico Linux

  • 1. GNU/Linux Centos 5.1 Miguel Ángel Nieto <miguelangel@irontec.com> Irontec – Internet y Sistemas sobre GNU/Linux
  • 2. Irontec – Curso básico Linux Objetivos del curso Dominar las distintas posibilidades de GNU/Linux dentro  de la empresa. Trabajar tanto desde el entorno de consola como desde  el entorno de escritorio. Administración básica de un sistema GNU/Linux basado  en RedHat. Y por encima de todo, aprender a buscar la información  que necesitamos para solventar los posibles problemas. 2
  • 3. Irontec – Curso básico Linux Antes de nada... GNU GPL Software Libre Linux Kernel GNU/Linux Distribución Linux Debian Paquete KDE (K)Ubuntu Gnome Emule 3
  • 4. Irontec – Curso básico Linux Introducción ● Programas informáticos ● Tipos de Software – Software privativo – Shareware – Freeware – Software libre 4
  • 5. Irontec – Curso básico Linux 1 Introducción ¿Qué es eso del Software Libre? 5
  • 6. Irontec – Curso básico Linux 1 Introducción 4 Libertades: ● Libertad 0: Libertad para ejecutar el programa para cualquier propósito. ● Libertad 1: Libertad para estudiar y adaptarlo a las necesidades. ● Libertad 2: Libertad para redistribuir copias. ● Libertad 3: Libertad para mejorar el programa y publicarlo con esas modificaciones. 6
  • 7. Irontec – Curso básico Linux Introducción ● Inicios del Software libre – Richard Stallman (1983 – Funda GNU Ver.7) – Linus Torvalds (1991 – Crea Linux) – 1992 – GNU/Linux (Ver. 7) 7
  • 8. Irontec – Curso básico Linux 1 Conceptos Generales sobre GNU Linux (I) Introducción ➔ ¿Qué es GNU ? GNU is not UNIX, proyecto iniciado por Richard Stallman (1983). Objetivo: Sistema totalmente libre. Apoyado en la licencia GPL. Kernel: HURD (fracaso). ➔ ¿Qué es Linux ? Kernel liberado por Linus Torvalds en 1991 con licencia GPL. Arquitectura Mononuclear, multiplataforma (I386, AMD64, PowerPC, ...). Uso: Servidores, estaciones de trabajo, sistemas empotrados... 8
  • 9. Irontec – Curso básico Linux 1 Conceptos Generales sobre GNU Linux (II)  Introducción ➔ ¿Qué son Redhat, Debian, SuSE ... ? • Son “Distribuciones” de GNU Linux. • Diferentes formas de “empaquetar” el núcleo, las herramientas GNU y el resto de software (libre o no). • Gestionadas por: • empresas • grupos de personas. • organismos ... 9
  • 10. Irontec – Curso básico Linux 1 Distribuciones GNU Linux (I)  Introducción ➔ Debian: Proyecto fundado por Ian Murdock en 1993,  proyecto con organización jerárquica totalmente  horizontal. Objetivo principal: competir con las  distribuciones comerciales para poder garantizar el  exito de GNU Linux.  ➔ Redhat: Empresa fundada en 1994 por Marc Ewing,  ofrece soporte técnico profesional y garantías de  escalabilidad. Plataforma lider en el mercado. 10
  • 11. Irontec – Curso básico Linux 1 Distribuciones GNU Linux (II)  Introducción ➔ Mandrakesoft: Nacida en 1998, con objetivo  principal: instalación y uso diario sencillos.  Crecimiento espectacular en 2 años (3 a 100  empleados). ➔ SuSE: Proyecto de empresa aleman, iniciado en  1993. Primeras versiones basadas en Slackware. En  la actualidad distribución totalmente propia. Ofrecen  soporte profesional de calidad, similar al de RedHat. 11
  • 12. Irontec – Curso básico Linux 1 Distribuciones GNU Linux (III)  Introducción ➔ Slackware: Distribución desarrollada por Patrick  Volkerding. Primera versión publicada en Abril de  1993. No ofrece soporte técnico profesional directo. ➔ Knoppix: Es el Sistema Live (ejecución desde  CDRom sin instalación) más popular. Soporta  prácticamente todos los dispositivos hardware del  mercado. Muy popular como método de iniciación a  GNU Linux. 12
  • 13. Irontec – Curso básico Linux 1 Distribuciones GNU Linux (IV)  Introducción ➔ Ubuntu: Distribución basada en Debian, centrada en  el sistema de escritorio (aunque también dispone de  versión servidor). Nueva versión cada 6 meses. ➔ CentOS: Distribución basada en el código fuente de  Red Hat. Con cada nueva versión enterprise de  RedHat, Centos descarga el código, lo compila y crea  su propia versión. Es 100% compatible a nivel binario  con RedHat. 13
  • 14. Irontec – Curso básico Linux 1 Versiones  Sub Versión:  Introducción Par indica estable Impar indica  inestable 2.4.19 2.5.3 Versión Release ●En la práctica, se denomina  versión a todo el conjunto. 14
  • 15. Irontec – Curso básico Linux 1 Introducción Situación de GNU/Linux 15
  • 16. Irontec – Curso básico Linux 1 Situación real de GNU Linux Introducción Las estadísticas no siempre son muy objetivas, pero se  calculan las siguientes cifras: ➔ Servidores: Prácticamente todos los servidores  potentes se ejecutan sobre un derivado de UNIX  (GNU Linux, *BSD...). ➔ Equipos de escritorio: Existencia de numerosos  gestores de ventanas (KDE, GNOME, ...) apariencia  estética y usabilidad muy mejorada. ➔ Dispositivos empotrados: GNU Linux está presente  en numerosos dispositivos Wifi (802.11b/g) (Cisco  Linksys WRTG54G, SMC), en teléfonos celulares  16
  • 17. Irontec – Curso básico Linux 1 Situación real de GNU Linux en el panorama  Introducción empresarial ➔Soporte: La vía principal de ingreso en el mundo de GNU Linux es  el soporte. Servicios sobre GNU Linux. El desarrollo no copa el  mercado como en otros sistemas operativos (“La rueda ya está  inventada”). ➔Apoyo de grandes empresas: Entre otras IBM se ha posicionado  en favor de GNU Linux, afrontando directamente demandas de SCO  UNIX sobre posible violación de copyright de Linux. ➔Postura de Microsoft: 2001:“Proyecto hecho por aficionados, no es serio” 2004:“Es nuestra principal amenaza” Bill Gates 17
  • 18. Irontec – Curso básico Linux 1 Situación real de GNU Linux en el panorama   Introducción empresarial: Desarrollo y sistemas ➔Desarrollo (web): La punta de la lanza reside en  soluciones LAMP (Linux Apache MySQL, PHP): ➔ Pros: Rapidez, seguridad, integración con  prácticamente todos los protocolos y comunidad de  desarrolladores muy activa (numerosas librerías y  código reutilizable). ➔ “Contras”: Integración con soluciones MS Windows 18
  • 19. Irontec – Curso básico Linux 1 Situación real de GNU Linux en el panorama   Introducción empresarial: Desarrollo y sistemas ➔Sistemas: Es el punto fuerte de GNU Linux:  estabilidad, seguridad, escalabilidad e integración  prácticamente total: ➔ Soluciones de seguridad (VPNs, Ids, Firewalls, ...) ➔ Soluciones de tiempo real (sistemas de  monitorización, ...) ➔ Routing Avanzado (OSPF, BGP, VRRP, ....) ➔ Servidores: DNS (Bind9), Web  (Apache), FTP  (Proftpd), Netbios (Samba) ....  19
  • 20. Irontec – Curso básico Linux EJERCICIO ● Visitar los siguientes enlaces: ● http://www.kernel.org ● http://gnu.org ● http://freshmeat.net ● http://www.centos.com ● http://es.wikipedia.org/wiki/Software_libre 20
  • 21. Irontec – Curso básico Linux Instalación de CentOS Instalación de CentOS 21
  • 22. Irontec – Curso básico Linux Instalación de CentOS ● Se puede descargar CentOS desde su página web. http://www.centos.org ● Se puede descargar en distintos Cds o en un solo DVD. ● La última versión estable es 5. ● Para instalarlo es necesario disponer de espacio en el disco duro y que el ordenador pueda arrancar desde el lector de Cds. ● La instalación es del estilo siguiente-siguiente... finalizar :) 22
  • 23. Irontec – Curso básico Linux Instalación de CentOS ● Comprobación del medio. 23
  • 24. Irontec – Curso básico Linux Instalación de CentOS ● Selección de idioma. ● Se aplicará tanto al entorno de consola como al entorno de escritorio. 24
  • 25. Irontec – Curso básico Linux Instalación de CentOS ● Selección de idioma del teclado. 25
  • 26. Irontec – Curso básico Linux Instalación de CentOS ● Particionado del disco duro. ● Es necesario que el disco duro esté vacío o que en caso contrario tengamos una partición vacía en la que realizar la instalación. 26
  • 27. Irontec – Curso básico Linux Instalación de CentOS ● Selección y creación de particiones. ● Como mínimo debe existir / y swap. ● ¿Qué problemas tiene el uso exclusivo de /? 27
  • 28. Irontec – Curso básico Linux Instalación de CentOS ● Sistemas de ficheros – VFAT – Ext2 – Ext3 – RaiserFS – XFS – y muchos otros... 28
  • 29. Irontec – Curso básico Linux Sistemas de ficheros en Unix – En un sistema Unix todo son archivos: memoria física, ratón, modems, teclado... – Filosofía de diseño de grán éxito y potencia, aunque también peligrosa: un simple error de permisos puede permitir modificar todo un disco duro. – Tipos de archivos: ● ficheros planos ● directorios ● ficheros especiales (dispositivos) – orientados a carácter – orientados a bloque 29
  • 30. Irontec – Curso básico Linux Sistemas de ficheros en Unix Desplazándose por el sistema de ficheros 30
  • 31. Irontec – Curso básico Linux Sistemas de ficheros en Unix Estructura de los Sistemas de Ficheros – Estándar de la Jerarquía de Ficheros (FHS) ● Se encarga de definir los directorios principales y sus contenidos en Linux y otros sistemas Unix. ● Mayor facilidad en el uso de distintos sistemas Unix. 31
  • 32. Irontec – Curso básico Linux Instalación de CentOS ● Árbol típico de directorios de un sistema GNU/Linux (ls -p /) – bin/ – dev/ – home/ – lost+found/ – proc/ – sbin/ – usr/ – boot/ – etc/ – lib/ – mnt/ – root/ – tmp/ – var/ 32
  • 33. Irontec – Curso básico Linux Instalación de CentOS ● /sbin – Contiene los binarios esenciales para que funcione el sistema. – Incluye los programas para la administracion, configuracion del hardware y mantenimiento. – find, lilo, fdisk, init, ifconfig etc – /usr/sbin contiene los binarios para el administrador pero no esenciales para el sistema. – Este directorio es solo accesible por ROOT 33
  • 34. Irontec – Curso básico Linux Instalación de CentOS ● /bin – Contiene los comandos imprescindibles para el usuario – Accesibles para root como para los usuarios no privilegiados – bash, csh, cp, mv, rm, cat, ls... – /usr/bin contiene los binarios para el usuario pero que no son imprescindibles. 34
  • 35. Irontec – Curso básico Linux Instalación de CentOS ● /boot – Contiene el kernel y lilo deja aquí las copias de seguridad del sistema de arranque ● /dev – TODO EN LINUX ES UN FICHERO – /dev/hda1 Particion 1 del disco duro 1 master – /dev/cdrom CDROM – ... ● /etc – Ficheros de configuración del sistema – /etc/X11/xorg.conf – Sistema X – /etc/resolv.conf – /etc/lilo.conf 35
  • 36. Irontec – Curso básico Linux Instalación de CentOS ● /home – Directorios de los usuarios del sistema (Linux es multiusuario) – /home/username ● Archivos del usuario ● Configuraciones específicas del usuario ● /lib – Librerías compartidas del sistemas ● /lost+found – Directorio donde se dejan los archivos que FSCK recuperara después de una caída del sistema. (Sistemas de ficheros sin Journaling) 36
  • 37. Irontec – Curso básico Linux Instalación de CentOS ● /mnt – Punto de montaje genérico donde se montarán los dispositivos. ● /proc – Directorio especial que hace las funciones con interfaz con el nucleo ● /root – Es el directorio home de root ● /tmp – Es un directorio temporal en el que cualquier usuario puede escribir. Se borra despues de un reinicio ● /var – Directorio donde se guardan los datos variables como el correo, colas de impresion y logs... 37
  • 38. Irontec – Curso básico Linux Instalación de CentOS ● /usr – Directorio donde se encuentran todos los programas – /usr/src/linux – Kernel de Linux – /usr/doc – Documentación de los programas 38
  • 39. Irontec – Curso básico Linux Instalación de CentOS ● Grub es el gestor de arranque. Se encargará de arrancar CentOS y cualquier sistema operativo que detecte. 39
  • 40. Irontec – Curso básico Linux Instalación de CentOS ● Configuración de la red Ethernet. Puede ser por DHCP o con IP fija. 40
  • 41. Irontec – Curso básico Linux Instalación de CentOS ● Especificar contraseña para root. El usuario root es el Administrador de la máquina y tiene permiso para todo. 41
  • 42. Irontec – Curso básico Linux Instalación de CentOS ● Ahora toca seleccionar que deseamos instalar en el sistema. Por defecto se instalará el escritorio Gnome. 42
  • 43. Irontec – Curso básico Linux Instalación de CentOS ● Ya está, instalación de CentOS finalizada. Ya nos podemos autodenominar hackers. 43
  • 44. Irontec – Curso básico Linux Configuración inicial ● Con el primer inicio del sistema accederemos a un asistente de configuración. ● Se desactivará el Cortafuegos y SELinux para evitar problemas durante el curso. ● Crearemos un usuario sin privilegios. 44
  • 45. Irontec – Curso básico Linux EJERCICIO ● Navegar por el sistema de ficheros y comprobar que lo que vemos se ajusta o no al mapa. ● Comprobar la versión del núcleo y ver en la web si existe una versión nueva. ¿Se podrá actualizar? 45
  • 46. Irontec – Curso básico Linux Comandos básicos Comandos básicos 46
  • 47. Irontec – Curso básico Linux Introducción a GNU/Linux ● Shells – Existen muchas shells: sh,csh,ksh,bash... – Entorno de trabajo: ● Case sensitive: sensible a mayúsculas (ECHO != echo). ● Sintáxis: comando arg1 arg2... argn ● Si un programa no está en el PATH: ./programa ● Prompt: – $: usuario normal – #: usuario administrador (root) 47
  • 48. Irontec – Curso básico Linux Comandos básicos Comandos para el manejo del sistema de ficheros – ls (lista contenido de directorios) – cd / pwd (cambia /muestra la ruta de directorio) – touch (crea fichero vacío o actualiza existente) – cp / mv / rm (copia / mueve/ elimina fichero) – mkdir / rmdir (crea / elimina directorio) – man / info (ayuda sobre comandos) – echo (muestra una línea de texto) – date / cal (muestra la hora del sistema) – file (muestra el tipo de fichero) – halt / reboot (apaga el sistema) – sleep (cuentra atrás) 48
  • 49. Irontec – Curso básico Linux Comandos básicos Comandos para el manejo del sistema de ficheros (II) linux:~$ ls -lha / linux:~$ pwd linux:~$ cd ../../etc linux:~$ touch /home/linux/fichero linux:~$ date +%d/%m/%y linux:~$ cp -a /var/log /backup/ linux:~$ mkdir -p /tmp/prueba/creacion/directorio linux:~$ rm -rf /home/linux/carpeta/ 49
  • 50. Irontec – Curso básico Linux Comandos en GNU/Linux Comandos para búsqueda de archivos linux:~$ find / -name passwd linux:~$ locate halt linux:~$ whereis cat adduser linux:~$ which grep linux:~$ whereis cd linux:~$ find ~/ -type f -atime +5 -exec rm {} ; 50
  • 51. Irontec – Curso básico Linux EJERCICIO ● Ir a tmp. ● Crear un fichero llamado prueba. ● Renombrarlo a nominas. ● A continuación copiar nominas a nuestra home. ● Una vez hecho, buscamos en todo el disco duro los ficheros con nombre nominas y los borramos. 51
  • 52. Irontec – Curso básico Linux EJERCICIO ● Comprobar con file distintos ficheros del disco duro y comprobar los resultados que nos dá. ● Cambiar la fecha del sistema (buscar información en google). Vamos a adelantarnos al 2009. ● Programar un reinicio del sistema dentro de dos minutos. 52
  • 53. Irontec – Curso básico Linux EJERCICIO ● Localizar el comando ifconfig e intentar ejecutarlo. ● Ejecutar echo $PATH ¿Qué es esa información? ● Ejecutarlo como usuario root. ¿Qué diferencias encontramos? 53
  • 54. Irontec – Curso básico Linux Sistemas de ficheros en Unix ● Rutas en el sistema de ficheros – Absolutas: desde el directorio raiz hasta el archivo deseado. – Relativas: desde el directorio actual hasta el archivo deseado. ● Caracteres especiales – *: sustituye una cantidad cualquiera de caracteres – ?: sustituye exactamente un carácter – []: sustituye un carácter de los indicados ● Expansión de comandos y archivos 54
  • 55. Irontec – Curso básico Linux EJERCICIOS ● Ir a /home. ● Acceder a /home/consultec mediante ruta completa y relativa. ● Crear fichero nominas en nuestro home y hacer un ls con * ? y []. Haciendolo de las tres formas, nos tiene que dar como resultado únicamente el fichero nóminas ● Buscar en el disco duro todos los ficheros que empiecen por n. 55
  • 56. Irontec – Curso básico Linux Introducción a GNU/Linux ● Tuberías – Un proceso en un sistema UNIX-like tiene inicialmente abiertos 3 canales: ● 0: STDIN o entrada estándar ● 1: STDOUT o salida estándar ● 2: STDERR o salida de error – Imaginémonos una refinería: ● Metes crudo por 0 (STDIN), consigues gasolina por 1 (STDOUT) y bastantes residuos por el “desagüe” 2 (STDERR). 56
  • 57. Irontec – Curso básico Linux Introducción a GNU/Linux Tuberías – Redirigiendo la salida de un comando: ● > : redirigir STDOUT a un fichero: ls > listado.txt ● >>: redirigir STDOUT al final de un fichero (añadir): ls >> listados.txt ● 2>: redirigir STDERR a un fichero: ls 2> errores.txt ● 2>>: redirigir STDERR al final de un fichero: ls 2>> errores.txt ● 2>&1: redirigir STDOUT y STDERR a un fichero: ls > salida 2>&1 57
  • 58. Irontec – Curso básico Linux EJERCICIO ● Añadir datos al fichero nomina mediante echo. Juan 1000 euros Pedro 980 euros Jose 800 euros ● Listarlo con cat y el cat enviarlo a otro fichero nuevo llamado copia.nominas. ● Comparar los ficheros con md5sum. Modificar uno y volverlo a comparar. 58
  • 59. Irontec – Curso básico Linux EJERCICIO ● Usando STDIN, STDOUT utilizar cat para crear otro fichero llamado nominas2 con los siguientes datos: Elisa 1200 euros Pepa 1400 euros Sara 200 euros ● ¡No se puede usar echo! 59
  • 60. Irontec – Curso básico Linux Comandos en GNU/Linux Comandos para paginar y visualizar archivos – cat (muestra el contenido de ficheros por pantalla) – more / less (pagina el contenido de ficheros) – head / tail (muetra las primeras / últimas líneas de un fichero) – grep (busquedas basadas en expresiones regulares) 60
  • 61. Irontec – Curso básico Linux Comandos en GNU/Linux Comandos para paginar y visualizar archivos (II) linux:~$ cat -n /etc/passwd linux:~$ more /etc/fstab linux:~$ less /etc/passwd linux:~$ cat /etc/passwd /etc/group linux:~$ tail -f /var/log/syslog linux:~$ head -n 1 /etc/passwd linux:~$ grep -ir consultec /etc/passwd 61
  • 62. Irontec – Curso básico Linux EJERCICIO ● Mostrar la primera linea del fichero nominas. ● Mostrar la última linea del fichero nominas. ● Abrir dos consolas, en una un tail y con la otra añadir lineas con echo. ● ¿Para que nos puede servir el tail -f? ● Hacer un tail del servicio httpd y acceder a nuestra web. 62
  • 63. Irontec – Curso básico Linux Comandos en GNU/Linux Otros comandos interesantes linux:~$ df -h linux:~$ du -sh /var/log linux:~$ tar cvzf /var/log/backup.tgz /etc/ /home/ linux:~$ history linux:~$ sort -r /etc/group linux:~$ wc -l /etc/passwd 63
  • 64. Irontec – Curso básico Linux EJERCICIO ● Contar el número de líneas que tiene el fichero de nominas. ● Comprimir el fichero de nominas y comprobar su tamaño. ● Descomprimirlo y volver a comprobar su tamaño. 64
  • 65. Irontec – Curso básico Linux Introducción a GNU/Linux Tuberías – Redirigiendo la entrada de un comando: ● <: redirigir el contenido de un fichero a STDIN: tr a A < fichero.txt – | : es posible recoger la salida de un desagüe y conducirlo a la entrada de otro comando. cat fichero.txt | tr a A 65
  • 66. Irontec – Curso básico Linux EJERCICIO ● Usando los comandos ya vistos mostrar del fichero /etc/ passwd únicamente los usuarios que comiencen por s. 66
  • 67. Irontec – Curso básico Linux Comandos básicos ● El sistema es multitarea, podemos dejar multiples procesos corriendo en background. ● Con control+z llevamos el siguiente proceso a background. ● Con fb [número de proceso] lo traemos de nuevo al frente. ● Con bg listamos el último proceso enviado a background. 67
  • 68. Irontec – Curso básico Linux EJERCICIO ● Ejecutar los siguientes tres comandos e ir enviandolos a background: sleep 70 sleep 80 sleep 90 ● Una vez hecho, se debe volver a traer uno a uno al frente. 68
  • 69. Irontec – Curso básico Linux Comandos básicos ● Es posible crear alias de comandos, de forma que sea más sencillo de recordar para nosotros. ● alias apagar=halt 69
  • 70. Irontec – Curso básico Linux EJERCICIO ● Crear un alias de nombre lc que nos muestre los ficheros y directorios del lugar donde nos encontramos en colores distintivos y con todos sus datos (tamaño, propietarios, permisos...). 70
  • 71. Irontec – Curso básico Linux Compresores ● Tar es un comando que únicamente empaqueta. ● Gzip es un comando que comprime. ● Uniendo tar+gzip podemos empaquetar una serie de ficheros y comprimirlos. ● Buscar en google como empaquetar y comprimir /home/ alumno ● Una vez hecho, descomprimirlo en /tmp 71
  • 72. Irontec – Curso básico Linux Administración de usuarios Administración de usuarios 72
  • 73. Irontec – Curso básico Linux Gestión de Usuarios y Grupos Características de usuarios Unix – Los sistemas Unix son sistemas multiusuario. Cada usuario tiene una serie de características propias y asociadas: ● uid: identificativo de usuario (debe ser único) ● gid: identificativo de grupo ● home: carpeta de trabajo o personal ● shell: interprete de comandos – Comandos: ● who/whoami/id (muestra información de usuarios) ● su/sudo (cambia de usuario o privilegios) 73
  • 74. Irontec – Curso básico Linux Gestión de Usuarios y Grupos Gestión de Usuarios – adduser (crear usuarios) – usermod (modificar usuarios) – deluser (eliminar usuarios) Gestión de Grupos – groupadd (añade grupo o usuario a grupo) – groupmod (modifica grupo) – delgroup (elimina grupo o usuario de grupo) 74
  • 75. Irontec – Curso básico Linux Gestión de Usuarios y Grupos Gestión de Usuarios linux:~$ adduser alumno linux:~$ groupadd curso linux:~$ adduser –-home /home/alumno –-shell /bin/sh -–uid 5001 –-groups curso alumno linux:~$ usermod –-shell /bin/bash alumno linux:~$ usermod -G softwarelibre alumno – Esto añade a “alumno” al grupo “softwarelibre” 75
  • 76. Irontec – Curso básico Linux Gestión de Usuarios y Grupos Cambiando el propietario y grupo – Para cambiar el propietario o grupo puede hacerse a través del nombre o del identificativo (uid o gid). ● chown (cambiar el propietario y grupo) ● chmod (cambiar los permisos) 76
  • 77. Irontec – Curso básico Linux Gestión de Usuarios y Grupos Cambiando el propietario y grupo linux:~$ ls -l ~/documentos/linux.pdf -rw-rw-r-- 1 alumno alumno 2684 ene 2 21:09 linux.pdf linux:~$ chown alumno:curso ~/documentos/linux.pdf linux:~$ ls -l ~/documentos/linux.pdf -rw-rw-r-- 1 alumno curso 2684 ene 2 21:09 linux.pdf linux:~$ id alumno uid=500(alumno) gid=500(curso) grupos=500(curso) linux:~$ chown 500 ~/documentos/linux.pdf linux:~$ ls -l ~/documentos/linux.pdf -rw-rw-r-- 1 alumno curso 2684 ene 2 21:09 linux.pdf 77
  • 78. Irontec – Curso básico Linux Administración de permisos Permisos de ficheros en sistemas Unix – Todos los archivos en Unix tienen permisos que indican que y quien puede hacer o no hacer una acción con el archivo. – Es la base de la seguridad de Unix. – 2 formas de notación: ● Modo alfabético ● Modo octal 78
  • 79. Irontec – Curso básico Linux Administración de permisos Permisos de ficheros en sistemas Unix – Modo alfabético 79
  • 80. Irontec – Curso básico Linux Administración de permisos Permisos de ficheros en sistemas Unix – Modo octal 80
  • 81. Irontec – Curso básico Linux Administración de permisos Cambiando los permisos – Solo es posible alterar los permisos si el usuario que lo está haciendo es el propietario del archivo. ● chmod [ugoa][+-][rwx] archivo ● u (propietario), g (grupo), o (resto), a (todos) ● + / -: añadir / eliminar permisos ● r (lectura), w (escritura), x (ejecución) ● chmod [modo_octal] archivo 81
  • 82. Irontec – Curso básico Linux EJERCICIO ● Crear como root un fichero /tmp/nominas y darle permisos de lectura solo a consultec, no a alumno. Iniciar sesión con alumno y comprobar si lo puede leer. 82
  • 83. Irontec – Curso básico Linux EJERCICIO ● Con el usuario alumno crear una carpeta que solo la pueda ejecutar, leer y escribir el usuario alumno. Dentro de ella crear un fichero llamado prueba y comprobar si desde consultec se puede leer. 83
  • 84. Irontec – Curso básico Linux EJERCICIO ● Con alumno crear un fichero llamado privado y darle permisos para que solo el pueda acceder al fichero. Luego intentar abrirlo con root. 84
  • 85. Irontec – Curso básico Linux EJERCICIO ● Abrimos /etc/passwd y comprobarlos los cambios. Le quitamos la posibilidad de iniciar sesión a alumno. Luego probamos a iniciar sesión con el. 85
  • 86. Irontec – Curso básico Linux EJERCICIO ● Borramos el usuario alumno y comprobamos a continuación los permisos del fichero prueba y su carpeta de tmp. ● Intentar crear ficheros por todo el disco duro, comprobando así donde tenemos permiso. 86
  • 87. Irontec – Curso básico Linux Montaje de dispositivos Montaje de dispositivos 87
  • 88. Irontec – Curso básico Linux Montaje de dispositivos ● Diferencia Linux <-> Windows – En Windows los directorios se montan sobre unidades físicas: C:Carpeta D:Driversvga – En Linux los dispositivos se montan en directorios de la estructura de ficheros: /home/usuario /media/cdrom 88
  • 89. Irontec – Curso básico Linux Montaje de dispositivos ● Dispositivos y “devices” asociados – Disco duro IDE y CDROM: /dev/hdXY ● X: Número de disco/dispositivo_IDE (a, b, c...) ● Y: Número de partición (1, 2, 3...) /dev/hda /dev/hda1 /dev/hdb3 – Disco duro SCSI, SATA y externos USB: /dev/sdXY /dev/sda /dev/sda1 /dev/sdc4 89
  • 90. Irontec – Curso básico Linux Montaje de dispositivos ● Particiones primarias y lógicas – Máximo 4 primarias: /dev/hda1 /dev/hda2 /dev/hda3 /dev/hda4 – Una de ellas se puede establecer como partición extendida: /dev/hda4 – Se pueden crear varias particiones lógicas en una extendida: /dev/hda5 /dev/hda6 ... – Linux puede arrancar desde una partición lógica, no así Windows que requiere una primaria. 90
  • 91. Irontec – Curso básico Linux Montaje de dispositivos ● /etc/fstab # /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 /dev/hda1 / ext3 defaults,errors=remount-ro 0 1 /dev/hda3 /home ext3 defaults 0 2 /dev/hda2 none swap sw 0 0 /dev/hdb1 /media/hdb1 ext3 defaults 0 1 /dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0 – La opción “user” permite que un usuario normal (no root) monte la partición. 91
  • 92. Irontec – Curso básico Linux Montaje de dispositivos ● mount – Para montar dispositivos manualmente. – Si el dispositivo existe en fstab: mount punto_de_montaje ó mount /dev/dispositivo ● Ej: mount /dev/hdc = mount /media/cdrom0 – Si el dispositivo no existe en fstab: mount -t TIPO_SIS_FICHEROS /dev/dispositivo punto_montaje ● Ej: mount -t iso9660 /dev/hdc /media/cdrom0 mount -t ext3 /dev/hdb1 /media/disco_2 mount -t vfat /dev/hda2 /mnt/windowsXP 92
  • 93. Irontec – Curso básico Linux Montaje de dispositivos ● mount (II) – Notas: ● Una partición de tipo VFAT no dispone de permisos ni dueños/ grupos así que no se puede usar el comando “chown” ni “chmod” para permitir a usuarios la escritura. – La partición por defecto es del usuario que la monta (la puede montar cualquiera si tiene la opción “user”). – Se puede fijar el dueño de la partición con la opción “uid”, el grupo con “gid” y los permisos con “umask” (ojo, “umask” es la máscara invertida). – ¡¡ man mount !! 93
  • 94. Irontec – Curso básico Linux Montaje de dispositivos ● umount – Desmonta un dispositivo: umount /dev/dispositivo ó umount punto_de_montaje – ¡ Sólo si el dispositivo no está usado por ningún proceso! ● Si un usuario tiene una terminal en /media/cdrom no se podrá desmontar el dispositivo. ● Para comprobar qué procesos están usando un dispositivo: lsof punto_de_montaje Ej: lsof /media/cdrom 94
  • 95. Irontec – Curso básico Linux EJERCICIO Vamos a crear una carpeta llamada montaje y un disco duro virtual de 5 megas. Primero vemos como podriamos particionarlo. Luego montaremos el disco duro en la carpeta y trabajaremos con el. mkdir montaje dd if=/dev/zero of=fichero bs=1 count=5120000 mkfs.ext3 fichero mount -o loop fichero montaje 95
  • 96. Irontec – Curso básico Linux EJERCICIO ● Nos metemos en la carpeta y creamos un fichero. ● Abrimos otra consola y desmontamos la carpeta. ● Configuramos el fstab para que automáticamente monte el dispositivo al iniciar el sistema. 96
  • 97. Irontec – Curso básico Linux Editor VI ● Es el editor que encontraremos en todo UNIX. Es necesario conocer el funcionamiento básico para poder editar ficheros. ● Tiene varios modos de funcionamiento, visual, comando y edición. ● Tiene muchísimas opciones... http://www.infor.uva.es/~arturo/Asig/EstSO/manvi.pdf 97
  • 98. Irontec – Curso básico Linux Enlaces duros y simbólicos Enlaces duros y simbólicos 98
  • 99. Irontec – Curso básico Linux Enlaces ● Duros: En ocasiones es necesario dar a un mismo archivo distintos nombres o, para mantener la integridad de los datos, se hace necesario que un mismo archivo que va a ser modificado por varias personas pueda estar representado por un nombre distinto con distintos permisos cada uno. Dada la representación que GNU/Linux le da a los archivos es posible que dos o más nombres apunten al mismo contenido en el disco rígido.. 99
  • 100. Irontec – Curso básico Linux Enlaces duros y simbólicos ● Simbólicos: A diferencia con los enlaces duros, estos enlaces solo dan otro nombre a un archivo pero no hacen un enlace al nivel de inodo. Se puede hacer una comparación con los "Accesos directos" de Windows95. La orden ln -s genera un enlace simbólico. 100
  • 101. Irontec – Curso básico Linux Enlaces duros y simbólicos Creación de un enlace duro [punisher@shyris ~]$ touch hola [punisher@shyris ~]$ ln hola adios [punisher@shyris ~]$ ls -li hola adios 2747992 -rw-r--r-- 2 punisher users 0 jun 12 16:40 adios 2747992 -rw-r--r-- 2 punisher users 0 jun 12 16:40 hola ¿Que pasa si borramos el fichero original? 101
  • 102. Irontec – Curso básico Linux Enlaces duros y simbólicos Creación de un enlace simbólico [punisher@shyris ~]$ ln -s adios hastaluego [punisher@shyris ~]$ ls -li adios hastaluego 2747992 -rw-r--r-- 2 punisher users 0 jun 12 16:40 adios 2748015 lrwxrwxrwx 1 punisher users 5 jun 12 16:44 hastaluego -> adios ¿Que pasa si borramos el fichero original? 102
  • 103. Irontec – Curso básico Linux Crontab Crontab 103
  • 104. Irontec – Curso básico Linux Tareas periódicas cron – El demonio cron permite la ejecución programada de procesos, scripts o simples comandos. – Cron mira cada minuto si tiene que lanzar algún proceso y en caso afirmativo lo lanza. No se puede planificar una ejecución de forma más precisa. – Cada usuario tiene su tabla de planificación (crontab) aunque también existen una tabla de planificación global del sistema (/etc/crontab) y una serie de directorios especiales. 104
  • 105. Irontec – Curso básico Linux Tareas periódicas cron – La sintaxis típica de los ficheros de cron consiste en 6 campos: * * * * * [user] comando parametros minuto: 0-59. Número, rango, intervalo o lista (separada por comas). hora: 0-23. día del mes: 1-31. mes: 1-12 o nombres. día de la semana: 0-7 o nombres. usuario: sólo en ficheros comentados anteriormente. comando: el resto de la línea es el comando a ejecutar. – Nota: También puede haber líneas al principio con declaración de variables y comentarios (#). – Más info (man 5 crontab). 105
  • 106. Irontec – Curso básico Linux Tareas periódicas cron – Ejemplo de cron de un usuario (root): PATH=$PATH:/usr/bin:/usr/local/bin # los viernes cada 2 horas... * */2 * * 5 cd /root/scripts; ./generaEstadisticas.sh # cada día por la noche 20 3 * * * /root/scripts/backupDiario.sh # rotación de backups cada mes 0 1 1 * * cd /root/scripts; ./rotaBackups.sh 106
  • 107. Irontec – Curso básico Linux Tareas periódicas cron – Creación o edición del fichero de cron del usuario actual: $ EDITOR=vi $ export EDITOR $ crontab -e (se edita...) :wq (se guarda y se sale) – Mostrar el contenido del cron de un usuario: $ crontab [-u user] -l 107
  • 108. Irontec – Curso básico Linux Tareas periódicas cron – Directorios especiales: /etc/cron.daily/ /etc/cron.hourly/ /etc/cron.monthly/ /etc/cron.weekly/ – Los ficheros ejecutables que metamos en esos directorios se ejecutarán en su momento por el usuario root. NO DEBEN SER FICHEROS DE CRON, sino scripts o programas. 108
  • 109. Irontec – Curso básico Linux EJERCICIO ● Crear una tarea que se ejecute a las 13:45 los lunes una nueva linea al fichero /tmp/programado con el texto “hola”. ● Crear una tarea que se ejecute cada 3 minutos añadiendo el texto “adios” al mismo fichero. ● Crear una tarea que cada hora borre el fichero. ● Lo abrimos con tail -f y vemos el progreso. 109
  • 110. Irontec – Curso básico Linux Programación Básica en Shell Programación Básica en Shell (Bash) 110
  • 111. Irontec – Curso básico Linux Shell Scripts – Script = Guión – Tareas repetitivas se pueden agrupar en un guión y ejecutarse automáticamente (Batch Processing). ● Es sencillo ejecutar 4 comandos para crear un buzón de correo. ● No lo es tanto para crear 20.000 buzones. ● Es sencillo hacer un bucle que se repita 20.000 veces ;-) 111
  • 112. Irontec – Curso básico Linux Shell Scripts Nuestro primer shell script – Usamos un editor y creamos el fichero hola.sh: #!/bin/sh echo hola – Con #! en la primera línea indicamos quién debería interpretar el resto de comandos (/bin/sh). – Posteriormente escribimos los comandos separados por saltos de línea. 112
  • 113. Irontec – Curso básico Linux Shell Scripts Variables – Una variable tiene un nombre y un valor, y sirve para dotar de dinamismo a nuestros scripts: FECHA=”15/07/2004” echo “Hoy es $FECHA” – FECHA es el nombre de la variable. – $FECHA es su valor. – Para asignar un valor, se utiliza “=”. ¡¡¡SIN ESPACIOS!!! 113
  • 114. Irontec – Curso básico Linux Shell Scripts Variables de entorno – Al arrancar una shell, ya hay muchas variables definidas, son las variables de entorno. ● Podemos ver su valor con el comando “env”. – Ámbito de una variable: ● Si se define una variable en una shell, sólo tiene valor en esa shell, a no ser que se exporte a los programas “hijo”. ● export USUARIO=”joaquin” ● Si desde esa shell lanzamos un script u otro programa, la variable USUARIO contendrá “joaquin”. 114
  • 115. Irontec – Curso básico Linux Shell Scripts Variables: interactividad – Es posible leer del usuario el valor de una variable, dotando a nuestros scripts de interactividad. – cat hola.sh #!/bin/sh echo “Dime tu nombre:” read NOMBRE echo “Hola $NOMBRE, encantado de conocerte” 115
  • 116. Irontec – Curso básico Linux Shell Scripts Variables: argumentos – Es posible pasar los parámetros o argumentos que queramos y utilizarlos dentro del script. – cat nombre.sh #!/bin/sh echo “Nombre: $1” echo “Primer Apellido: $2” echo “Segundo Apellido: $3” – ./nombre.sh Juan López Martínez – ./nombre.sh “Maria Dolores” Pradera Sánchez – $1, $2, $3... ${10}, ${11}: argumentos – $0 es el propio script. 116
  • 117. Irontec – Curso básico Linux Shell Scripts Variables: argumentos especiales – $#: número de argumentos que nos han pasado. – $*: todos los argumentos. “$*” = “$1 $2 $3...” – $@: todos los argumentos. “$@” = “$1” “$2” “$3”... – $_: comando anteriormente ejecutado. – $$: PID del propio proceso shell. 117
  • 118. Irontec – Curso básico Linux Shell Scripts Variables: sustitución de comandos – Es posible almacenar en una variable el resultado de la ejecución de un comando. – Dos sintaxis: ● Acentos graves: compatibilidad LISTADO=`ls` ● Con $(): anidable LISTADO=$(ls) LISTADO=$(ls $(cat directorios.txt)) 118
  • 119. Irontec – Curso básico Linux Shell Scripts expr: Permite realizar operaciones aritméticas. – Sintaxis: expr ARG1 OP ARG2 $ SUMA=`expr 7 + 5` (ojo espacios!) $ echo $SUMA 12 $ expr 7 > 5 (ojo escapar operadores!) $ expr ( 7 + 5 ) * 2 119
  • 120. Irontec – Curso básico Linux Shell Scripts Control del flujo de ejecución – Condiciones: test ● test “$NOMBRE” == “Juan”(==, !=, >, <, >=, <=) ● test $DINERO -eq 1000 (-eq, -ne, -gt, -lt, -ge, -le) ● test -f /etc/passwd (-f, -d, -l, -r, -w, -x) – Modifican el valor de $? ● cero = verdadero ● no cero = falso (¡¡AL REVÉS QUE EN C!!) http://www.ss64.com/bash/test.html 120
  • 121. Irontec – Curso básico Linux Shell Scripts Control del flujo de ejecución – if: alternativa simple. Sintaxis: if condición_1 then comandos elif condición_2 then comandos else comandos fi 121
  • 122. Irontec – Curso básico Linux Shell Scripts Control del flujo de ejecución – if. Ejemplo: if test “$NOMBRE” == “Juan” then echo “Hola Juanin, ¿qué tal?” elif test “$NOMBRE” == “Pedro” then echo “Pedreteee, ¡cuánto tiempo!” else echo “No te conozco” fi 122
  • 123. Irontec – Curso básico Linux Shell Scripts Control del flujo de ejecución – case: cómodo para evitar alternativas anidadas. Sintaxis: case $VARIABLE in “VALOR1”) comandos ;; “VALOR2”) comandos ;; *) comandos; esac 123
  • 124. Irontec – Curso básico Linux Shell Scripts Control del flujo de ejecución – case. Ejemplo: case $NOMBRE in “Juan”) echo “Hola Juanin, ¿qué tal?” ;; “Pedro”) “Pedreteee, ¡cuánto tiempo!” ;; *) echo “no te conozco”; esac 124
  • 125. Irontec – Curso básico Linux Shell Scripts Control del flujo de ejecución – while. Ejecución de 0 a N veces. Sintaxis: while condición do comandos done 125
  • 126. Irontec – Curso básico Linux Shell Scripts Control del flujo de ejecución – while. Ejemplo: N=1 while [ $N -lt 100 ] do echo “Repito esta frase, ya voy $N veces” N=$(expr $N + 1) sleep 1 # Esperamos 1 segundo done 126
  • 127. Irontec – Curso básico Linux Shell Scripts Control del flujo de ejecución – until. Ejecución de 0 a N veces. Idéntico a while con la condición negada. Sintaxis: until comando do comandos done 127
  • 128. Irontec – Curso básico Linux Shell Scripts Control del flujo de ejecución – until. Ejecución de 0 a N veces. Idéntico a while con la condición negada. Sintaxis: N=1 until [ $N -ge 100 ] do echo “Repito esta frase, ya voy $N veces” N=$(expr $N + 1) done 128
  • 129. Irontec – Curso básico Linux Shell Scripts Control del flujo de ejecución – for: ejecución repetitiva asignando a una variable de control valores de una lista. Sintaxis: for VARIABLE in LISTA do comandos done 129
  • 130. Irontec – Curso básico Linux Shell Scripts Control del flujo de ejecución – for. Ejemplo: for N in “Sopa” “Carne” “Pan de ajo” do echo “Hoy comemos $N” done 130
  • 131. Irontec – Curso básico Linux Shell Scripts Control del flujo de ejecución – for: la LISTA define la separación de cada elemento por el valor de la variable IFS (que por defecto vale “ tn”). Ejemplo: IFS=”:” echo “Directorios en el PATH...” for DIR in $PATH do echo $DIR done 131
  • 132. Irontec – Curso básico Linux Shell Scripts Control del flujo de ejecución – for. Ejemplos numéricos: for N in 1 2 3 4 5 6 7 8 9 10 do echo “N ahora vale $N” done for N in $(seq 10) do echo “N ahora vale $N” done 132
  • 133. Irontec – Curso básico Linux Shell Scripts Control del flujo de ejecución – select: muestra las opciones especificadas en LISTA y asigna a VARIABLE la opción escogida. Sintaxis: select VARIABLE in LISTA do comandos done 133
  • 134. Irontec – Curso básico Linux Shell Scripts Control del flujo de ejecución – select: Ejemplo: select OPCION in “Doner Kebab” “Pizza” do case $OPCION in “Doner Kebab”) echo “Mmmm...” break;; “Pizza”) echo “Slurppp!” break;; *) echo “No sé qué es eso” esac done IMPORTANTE: sin el break el select seguiría ejecutándose indefinidamente. 134
  • 135. Irontec – Curso básico Linux Shell Scripts function – Podemos modularizar los scripts agrupando tareas en funciones. – Es necesario que una función esté definida ANTES de que sea llamada. – Dentro de una función, $1, $2, $3, etc. serán los parámetros pasados a la función, no al script en sí. 135
  • 136. Irontec – Curso básico Linux Shell Scripts function. Ejemplo: #!/bin/sh function suma { echo $(expr $1 + $2) } suma 4 6 suma 3 234 136
  • 137. Irontec – Curso básico Linux Shell Scripts source, . – Con source o con “.” podemos incluir el código de otro script en el nuestro: #!/bin/sh source funciones.sh # ahí se define suma suma 1 3 suma 12 12312 137
  • 138. Irontec – Curso básico Linux EJERCICIO ● Crear un script que nos pida nombre de usuario y contraseña. ● Una vez tengamos los datos los añadimos al fichero /tmp/datos ● A continuación nos pregunta si deseamos continuar insertando datos. Si la respuesta es si, volvemos a empezar, si es no terminamos la aplicación. 138
  • 139. Irontec – Curso básico Linux EJERCICIO ● Por cada fichero en /bin hacer un md5sum y archivar los datos en /tmp/seguridad. ● Programar una tarea para que lo haga todos los días a las 10 de la noche. 139
  • 140. Irontec – Curso básico Linux EJERCICIO ● Crear una calculadora. ● Si el usuario escribe 2 + 5, que le muestre el resultado por pantalla. ● Se debe salir del bucle cuando el resultado de una operación sea 82. 140
  • 141. Irontec – Curso básico Linux Redes Redes 141
  • 142. Irontec – Curso básico Linux Configuración de la red – Las interfaces de red se configuran en el fichero: [root@localhost network-scripts]# cat ifcfg-eth0 # Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] DEVICE=eth0 BOOTPROTO=dhcp HWADDR=00:0C:29:3D:90:4F ONBOOT=yes [root@localhost network-scripts]# cat ifcfg-lo DEVICE=lo IPADDR=127.0.0.1 NETMASK=255.0.0.0 NETWORK=127.0.0.0 BROADCAST=127.255.255.255 ONBOOT=yes NAME=loopback 142
  • 143. Irontec – Curso básico Linux Configuración de la red Configuración manual de la red – ifconfig: configura interfaces de red. Asigna IP, máscara, gateway, etc. $ ifconfig eth0 192.168.0.12 netmask 255.255.255.0 up – route: añade rutas estáticas. Ejemplo típico: $ route add default gw 192.168.0.1 $ route add -net 10.10.0.0 netmask 255.255.255.0 gw 192.168.0.100 $ route -n (muestra tabla de rutas) – /etc/resolv.conf: indica los servidores DNS $ cat /etc/resolv.conf nameserver 195.235.113.3 143
  • 144. Irontec – Curso básico Linux Configuración de la red – IP alias: crear un interfaz de red sobre otro. ● Una misma red física puede albergar distintas redes con distinto direccionamiento y rango. $ ifconfig eth0:1 192.168.1.123 netmask 255.255.255.0 $ ifconfig eth0:1 eth0:1 Link encap:Ethernet HWaddr 00:14:85:E8:D3:AF inet addr:192.168.1.123 Bcast:192.168.1.255 Mask:255.255.255. UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:217 Base address:0xe800 144
  • 145. Irontec – Curso básico Linux Configuración de la red Configuración manual de la red – /etc/hosts: realiza una resolución directa de nombre a IP sin realizar consulta DNS. Normalmente este fichero se mira antes de preguntar al servidor DNS (sólo para consulta de tipo A). – Para asegurarnos que el sistema pregunte al DNS o al fichero '/etc/hosts' para resolver nombres de host hay que mirar el fichero '/etc/nsswitch.conf' 145
  • 146. Irontec – Curso básico Linux Configuración de la red Configuración automática de la red (DHCP) – Configuración para el arranque: en /etc/network/interfaces definimos la interfaz como “inet dhcp” – Configuración manual: ● se utiliza un cliente dhcp como dhclient o pump # dhclient eth0 # pump -i eth0 146
  • 147. Irontec – Curso básico Linux Comandos básicos de administración de red ping: manda un mensaje ICMP – echo request. – Se utiliza normalmente para comprobar si un interfaz de red remoto está levantado. $ ping 212.55.8.132 PING 212.55.8.132 (212.55.8.132) 56(84) bytes of data. bytes from 212.55.8.132: icmp_seq=1 ttl=242 time=166 ms ¡hay conectividad! – Nota: Si no hay ping puede que el tráfico ICMP esté filtrado por algún firewall. 147
  • 148. Irontec – Curso básico Linux Comandos básicos de administración de red telnet: protocolo de terminal remoto – Se utiliza para conectarse a una máquina remota. $ telnet IP puerto (default 23) – NO es un protocolo seguro (SSH sí). – Se utiliza también para comprobar estado de servicios remotos. Ejemplo: $ telnet www.euskalnet.net 80 Connected to eui3h.euskaltel.es. Escape character is '^]'. ¡el servidor web funciona! 148
  • 149. Irontec – Curso básico Linux Comandos básicos de administración de red netstat: muestra conexiones de red – Comando potente que permite mostrar casi toda la información de la configuración TCP/IP de la máquina (man netstat). – Ejemplos: netstat -atup # muestra tambien procesos netstat -a # muestra todas las conex. netstat -a | grep LISTEN netstat -a | grep ESTABLISHED netstat -nrv # muestra tabla de rutas 149
  • 150. Irontec – Curso básico Linux Comandos avanzados administración de red iptraf: 150
  • 151. Irontec – Curso básico Linux Comandos avanzados administración de red netcat (nc): “navaja suiza” de red ● Capaz de funcionar como cliente, como servidor, etc. telnet 127.0.0.1 80 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. GET / <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <html> <head> ... ● Lo mismo con netcat (nc): echo “GET /” | nc 127.0.0.1 80 ● Cliente/Servidor: nc -l -p 5000 cat fichero | nc 192.168.1.1 5000 151
  • 152. Irontec – Curso básico Linux Comandos avanzados administración de red nmap: “escaneador de red” ● Permite comprobar que puertos están o no abiertos. ● Nos dice el sistema operativo y la versión de los servicios que estamos escaneando. [root@shyris punisher]# nmap -sS -O 127.0.0.1 Starting Nmap 4.65 ( http://nmap.org ) at 2008-06-13 08:40 CEST Interesting ports on localhost.localdomain (127.0.0.1): Not shown: 1713 closed ports PORT STATE SERVICE 111/tcp open rpcbind 978/tcp open unknown Device type: general purpose Running: Linux 2.6.X OS details: Linux 2.6.17 - 2.6.24 Uptime: 0.013 days (since Fri Jun 13 08:22:15 2008) Network Distance: 0 hops 152
  • 153. Irontec – Curso básico Linux Iptables IPTABLES 153
  • 154. Irontec – Curso básico Linux Iptables ● Cortafuegos Netfilter/Iptables – Remplaza a Ipchains desde el Kernel 2.3. – iptables: herramienta del espacio de usuario que permite: ● Reglas para filtrado de paquetes. ● NAT. – Firewall stateful (controla estados de conexiones). – Soporte IPv6. 154
  • 155. Irontec – Curso básico Linux Iptables ● Tablas y cadenas 155
  • 156. Irontec – Curso básico Linux Iptables ● Destino: nuestra máquina 156
  • 157. Irontec – Curso básico Linux Iptables ● Origen: nuestra máquina 157
  • 158. Irontec – Curso básico Linux Iptables ● Paquetes Reenviados (Forwarded) 158
  • 159. Irontec – Curso básico Linux Iptables ● Tabla mangle – Para modificar paquetes: ● TOS (Type of Service) ● TTL (Time To Live) ● MARK (marcar un paquete) -> iproute2, QoS – ¡ No usar esta tabla para para DNAT, SNAT o Masquerading ! 159
  • 160. Irontec – Curso básico Linux Iptables ● Tabla nat – Sólo para hacer NAT (Network Address Translation). – DNAT: ● Cambiar la IP destino. ● Ej: Redirigir entrantes a una DMZ con IP's locales. – SNAT: ● Cambiar la IP origen a una definida (estática) ● Para dar salida a equipos LAN con IP's locales. – Masquerade: ● Igual que SNAT con más carga de procesador. ● Cada vez chequea la IP saliente que debe asignarle. – Ej: Router Linux con IP pública dinámica. 160
  • 161. Irontec – Curso básico Linux Iptables ● Tabla filter – Filtrado de paquetes. – ¡ Se puede hacer filtrado en otras tablas, pero no es recomendable ! – Acciones como: ● Aceptar un paquete (ACCEPT). ● Desecharlo (DROP). 161
  • 162. Irontec – Curso básico Linux Iptables ● Estado de los paquetes – NEW: paquete nuevo. – ESTABLISHED: comunicación ya establecida. – RELATED: relaionada a otra comunicación ESTABLISHED. ● Para protocolos como FTP que incluyen puerto de transmisión de datos dentro de datos de aplicación. – Hace falta un módulo para Netfiler: ip_conntrack_ftp. – --state ● Para comparar el estado de un paquete. – El estado de conexiones se aplica sobre: ● TCP, UDP o ICMP. – UPD y ICMP gracias al módulo ip_conntrack. 162
  • 163. Irontec – Curso básico Linux Iptables ● Estado de los paquetes (II) – Ejemplo: ● Nuestra máquina envía un paquete a otra máquina: – Estado de la comunicación: NEW. – Cadena OUTPUT. ● La máquina destino nos responde con otro paquete. – Estado de la comunicación: ESTABLISHED. – Cadena PREROUTING. 163
  • 164. Irontec – Curso básico Linux Iptables ● Listar reglas actuales – iptables -L -v – iptables-save ● Lista las reglas en un formato válido para iptables-restore. – iptables-save > fichero-reglas (salva las reglas a fichero) – iptables-restore < fichero-reglas (carga reglas desde fichero) 164
  • 165. Irontec – Curso básico Linux Iptables ● Comando iptables – Sintaxis para añadir una regla: iptables [-t tabla] comando [comparación] [objetivo/salto] – Los scripts de iptables constan de muchas líneas similares. 165
  • 166. Irontec – Curso básico Linux Iptables ● Comandos -A : Añade la regla al final de la cadena. iptables -A INPUT (añade una regla al final de la cadena INPUT) -D : Borrar una regla (hay que ponerla entera). -R : Reemplaza una regla. -I : Inserta una regla en la posición indicada. -L : Lista todas las reglas (de la cadena especificada). -F : (Flush) Elimina todas las reglas (de la cadena especificada). 166
  • 167. Irontec – Curso básico Linux Iptables ● Comparaciones – Comparaciones genéricas: -p, --protocol : Para comprobar si es TCP, UDP o ICMP. iptables -A INPUT -p tcp -s, --src : Comparación de IP origen. iptables -A INPUT -s 192.168.1.10 iptables -A INPUT -s 192.168.1.0/24 iptables -A INPUT -s ! 192.168.1.0/24 (invertir) -d, --dst : Comparación de IP destino. iptables -A INPUT -d 192.168.0.1 iptables -A INPUT -d 192.168.0.0/16 -i, --in-interface : Interfaz origen. ● Sólo válida en INPUT, FORWARD y PREROUTING. iptables -A INPUT -i eth0 iptables -A INPUT -i eth+ (por cualquier eth) -o, --out-interface : Interfaz de salida. ● Sólo válida en OUTPUT, FORWARD y POSTROUTING. iptables -A FORWARD -o eth0 167
  • 168. Irontec – Curso básico Linux Iptables ● Comparaciones implícitas – Comparaciones que se cargan implícitamente: ● TCP ● UDP ● ICMP – Estas comparaciones se cargan con la opción -p: iptables -p TCP (o UDP, ICMP) 168
  • 169. Irontec – Curso básico Linux Iptables ● Comparaciones implícitas TCP – -p tcp --sport : Puerto origen. iptables -A INPUT -p tcp --sport 1003 iptables -A INPUT -p tcp --sport 100:200 (rango) iptables -A INPUT -p tcp --sport ! 22 (invertir) --dport : Puerto destino (ídem) --tcp-flags : Flags TCP: ● SYN, FIN, ACK, ACK SYN iptables -A INPUT -p tcp --tcp-flags SYN iptables -A INPUT -p tcp --tcp-flags SYN,FIN,ACK SYN 169
  • 170. Irontec – Curso básico Linux Iptables ● Comparaciones implícitas UDP – -p upd --sport : Igual que en TCP. --dport : Igual que en TCP. 170
  • 171. Irontec – Curso básico Linux Iptables ● Comparaciones implícitas ICMP – -p icmp --icmp-type : Tipo de ICMP. iptables -A INPUT -p icmp --icmp-type 8 ● Se puede ver un listado con: iptables -p icmp --help 171
  • 172. Irontec – Curso básico Linux Iptables ● Comparaciones explícitas – Se deben cargan explícitamente con opción -m (--match). --state ESTADO : Verifica el estado de la conexión. ● NEW, INVALID, ESTABLISHED, RELATED iptables -A INPUT -m state --state RELATED,ESTABLISHED --limit VALOR : Limitar el nº de paquetes por tiempo. iptables -A INPUT -m limit --limit 3/hour --mac-source : MAC origen. iptables -A INPUT -m mac --mac-source 00:00:00:00:11:22 --mark : Comprobar paquetes marcados anteriormente. iptables -t mangle -A INPUT -m mark --mark 1 ● Más comparaciones: – TOS, TTL, multiport... 172
  • 173. Irontec – Curso básico Linux Iptables ● Objetivos/Saltos – Acción que se ejecuta sobre el paquete. -j ACCIÓN ● Salto: Mandar el paquete a otra cadena: -j cadena – Podemos crear cadenas propias: iptables -N cadena_tcp iptables -A INPUT -p tcp -j cadena_tcp ● 173
  • 174. Irontec – Curso básico Linux Iptables ● Objetivos ACCEPT : Aceptamos el paquete. ● ¡ El paquete deja de compararse en la cadena actual y en las cadenas de la tabla actual ! ● ¡ El paquete podría ser filtrado en otra tabla ! DROP : Deseacha un paquete. REJECT : Rechaza un paquete (envía un ICMP informativo al origen). LOG : Loguea el paquete en ssylog. DNAT : Cambiamos la IP destino. ● Sólo en cadenas PREROUTING y OUTPUT de la tabla nat. iptables -t nat -A PREROUTING -p tcp -d 85.80.23.54 --dport 80 -j DNAT --to- destination 192.168.168.10:80 174
  • 175. Irontec – Curso básico Linux Iptables ● Objetivos (II) SNAT : Cambiamos la IP origen. ● Sólo en la cadena POSTROUTING de la tabla nat. iptables -t nat -A POSTROUTING -p tcp -o eth0 -j SNAT --to-source 90.90.90.90:1024-3200 MASQUERADE : Cambiamos la IP origen (detecta la IP) ● Sólo en la cadena POSTROUTING de la tabla nat. iptables -t nat -A POSTROUTING -p tcp -o eth0 -j MASQUERADE –-to-ports 1024-3200 REDIRECT : Redirigir paquetes hacia la máquina. ● Sólo en cadenas PREROUTING y POSTROUTING de tabla nat. iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT –-to-ports 8080 ● Util para proxy transparente. ● Otros objetivos: – RETURN, QUEUE, MIRROR, MARK, TOS, TTL, ULOG 175
  • 176. Irontec – Curso básico Linux Iptables ● Política por defecto – Dos filosofías: ● 1ª: “Todo abierto y cerrar aquello que no queramos” ● 2ª: “Todo cerrado y abrir aquello que queramos” ● ¡ Mucho más segura la 2ª ! – Política por defecto en cada cadena (sólo se cumple si el paquete no coincide con ninguna regla): iptables -P cadena política – Denegamos acceso a la máquina y otras máquinas: iptables -P INPUT DROP iptables -P FORWARD DROP – Permitimos acceso total al exterior desde nuestra propia máquina: iptables -P OUTPUT ACCEPT 176
  • 177. Irontec – Curso básico Linux Iptables ● Política por defecto (II) – ¡ OJO con el interfaz “lo” ! ● “lo” es el interfaz de localhost. ● Si ponemos: iptables -P INPUT DROP ¡ Estamos bloqueando los accesos por red en localhost ! ● Solución: Añadir: iptables -A INPUT -p ALL -i lo -j ACCEPT 177
  • 178. Irontec – Curso básico Linux Iptables ● sysctl – Para habilitar el rutado: #> echo “1” > /proc/sys/net/ipv4/ip_forward ● Más elegante: #> sysctl -w net.ipv4.ip_forward=1 ● Para dejarlo definitivo (activo en el arranque): Fichero /etc/sysctl.conf: net/ipv4/ip_forward=1 178
  • 179. Irontec – Curso básico Linux Iptables ● Notas a recordad – ¡ No bloquear todos los ICMP ! ¿¿por qué?? ● Supone cargarse la mitad del protocolo de internet. – No olvidarse del interfaz “lo”. – Cargar módulos necesarios para nuestras reglas. ● ¡ Imprescindible el módulo ip_tables ! 179
  • 180. Irontec – Curso básico Linux Iptables ● Ejemplo – Aspectos comunes de los scripts: ● Borrado de las reglas aplicadas actualmente (flush) ● Aplicación de políticas por defecto para INPUT, OUPUT, FORWARD ● Listado de reglas iptables. 180