54
BLOQUE I: ADMINISTRACIÓN BÁSICA DE S.O.S LINUX PRÁCTICA 1: INTRODUCCIÓN A LA ADMINISTRACIÓN DE LINUX FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMÁTICOS DEPARTAMENTO DE INGENIERÍA TELEMÁTICA (DIT) -I- Práctica 1 (0,2 Puntos) Introducción a la administración de Linux Fundamentos de Aplicaciones y Servicios Telemáticos 2º Curso Grado en Ingeniería de Tecnologías de Telecomunicación Departamento de Ingeniería Telemática (DIT) Universidad de Sevilla © Fco. Javier Muñoz Calle Francisco José Fernández Jiménez José Ángel Gómez Argudo Ignacio Campos Rivera Curso 2012/2013

t1 Practica

Embed Size (px)

DESCRIPTION

Linux

Citation preview

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-I-

    Prctica 1 (0,2 Puntos)

    Introduccin a la administracin de Linux

    Fundamentos de Aplicaciones y Servicios Telemticos

    2 Curso Grado en Ingeniera de Tecnologas de Telecomunicacin

    Departamento de Ingeniera Telemtica (DIT)

    Universidad de Sevilla

    Fco. Javier Muoz Calle

    Francisco Jos Fernndez Jimnez

    Jos ngel Gmez Argudo

    Ignacio Campos Rivera

    Curso 2012/2013

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-II-

    NDICE

    1. Objetivos y alcance (1 minuto) . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    1.1 Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    1.2 Objetivo de la prctica . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    1.3 Planificacin de la prctica . . . . . . . . . . . . . . . . . . . . . . . . . 3

    1.4 Documentacin de apoyo . . . . . . . . . . . . . . . . . . . . . . . . . 3

    2. Uso bsico de Linux (35 minutos) . . . . . . . . . . . . . . . . . . . . . . . . 4

    2.1 Entorno de trabajo (1 minuto) . . . . . . . . . . . . . . . . . . . . . . . 4

    2.2 Comandos de usuario del intrprete de comandos (15 minutos) . . . . . . 5

    2.3 Distribucin de consolas en modo texto y grfico (15 minutos) . . . . . . 9

    2.4 Organizacin del Sistema de Archivos de Linux (4 minutos) . . . . . . . 12

    3. Entorno grfico: Sistema X-Windows (30 minutos) . . . . . . . . . . . . . . . 14

    3.1 Funcionamiento del Sistema X-Windows (3 minutos) . . . . . . . . . . . 14

    3.2 Uso bsico del entorno grfico (11 minutos) . . . . . . . . . . . . . . . . 15

    3.3 Configuracin de acceso al servidor X (12 minutos) . . . . . . . . . . . 19

    3.4 Funcionamiento Remoto del Sistema X (4 minutos) . . . . . . . . . . . . 21

    4. Funcionamiento en modo texto: comandos de administracin del intrprete de comandos(5 minutos) (75 minutos) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    4.1 Comandos relacionados con el Sistema de Archivos (15 minutos) . . . . 23

    4.2 Comandos relacionados con el control de dispositivos (20 minutos) . . . 27

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-III-

    4.2.1 Identificacin de los dispositivos en Linux . . . . . . . . . . . . . 27

    4.2.2 Dispositivos de almacenamiento . . . . . . . . . . . . . . . . . . . 28

    4.2.2.1 Particionamiento y formateo de dispositivos de almacenamiento 28

    4.2.2.2 Montaje de dispositivos de almacenamiento . . . . . . . 30

    4.3 Comandos para la gestin de Cuentas de Usuario (20 minutos) . . . . . . . 31

    4.4 Comandos Orientados a la gestin de Procesos (15 minutos) . . . . . . . . 37

    4.5 Comandos relacionados con la instalacin de software (5 minutos) . . . . . 41

    4.5.1 Instalacin con paquetes . . . . . . . . . . . . . . . . . . . . . . . 41

    4.5.2 Instalacin a partir de archivos binarios . . . . . . . . . . . . . . . 42

    4.5.3 Instalacin a partir del cdigo fuente . . . . . . . . . . . . . . . . 42

    5. Funcionamiento en modo texto: otros comandos tiles (20 minutos) . . . . . . . 42

    5.1 Comandos relacionados con ficheros de texto (5 minutos) . . . . . . . . . 42

    5.2 Comandos relacionados con el empaquetado y compresin (5 minutos) . . 44

    5.3 Comandos relacionados con la conexin a otras mquinas (10 minutos) . . 45

    6. Ejemplo de Test (5 minutos) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-1-

    PRESENTACIN DE LAS SESIONES DE PRCTICAS

    El objetivo de las Sesiones de Prcticas es que el alumno pueda aprovechar todo el tiempoposible en la realizacin de operaciones prcticas con el ordenador. As, durante estas sesionesla misin del profesor resolver las dudas y problemas que individualmente cada alumno vayaencontrando durante la prctica; cuando el profesor considere la necesidad de realizar una explicacingeneral, lo indicar en su momento.

    En consecuencia, nada ms llegar a su puesto de trabajo en el CdC (el profesor podr darleinstrucciones sobre qu equipo/s debe utilizar), entre en el S.O. Linux Debian de la asignaturay comience con la realizacin de la prctica.

    En las distintas prcticas, cada apartado ir acompaado de un tiempo. ste corresponde conel tiempo de dedicacin estimado a dicho apartado en la sesin presencial, pero en modo algunoal tiempo total que debe utilizar para el apartado. Recuerde que las prcticas estn diseadaspara ser realizadas usando las horas presenciales y no presenciales contempladas en elProyecto Docente de la asignatura.

    PROCEDIMIENTO DE CARGA, EN EL CDC, DEL S.O. LINUX DEBIAN DE LA ASIGNATURA

    1 Tras encender el ordenador, seleccione el sistema operativo Ubuntu (usado slo comopaso intermedio para llegar al S.O. Linux Debian de la asignatura).

    3 Dentro de Ubuntu, utilice el icono ubicado en la barra de tareas. Esto arrancar directamentela mquina virtual con el S.O. Linux Debian en el que se realizarn las prcticas. En el mende arranque que aparece (Grub), seleccione la entrada de la sala en la que est trabajando.

    IMPORTANTE: Si tiene algn problema con su equipo, indquelo cuanto antes al profesorpara que le asigne otro y pueda continuar la prctica. Para salir de la mquina virtual (sin cerrarla,solo hacer que en pantalla se vea el sistema operativo anfitrin, adems de la mquina virtual)debe pulsar "Ctrl-Alt-May" y desactivar el modo de visualizacin a pantalla completa.

    NOTA: Si desea obtener una copia de la mquina virtual VMWare, para trabajar desde casa,siga las instrucciones indicadas en el fichero "Instalacin y ejecucin de la mquina virtualde Linux.htm", ubicado en la carpeta de Utilidades dentro de la pgina de la Asignatura enEnseanza Virtual.

    TAREAS

    Tanto en la memoria de prcticas que est leyendo, como en la del resto de temas de la asignatura,encontrar explicaciones acompaadas de ejercicios que deber realizar usted en el ordenador.Para ayudarle a distinguir lo que son explicaciones de lo que son actividades que usted deberealizar (solamente debe realizarlas, no hace falta que entregue nada), stas ltimas se encuentransealadas con la palabra "TAREAS".

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    1 El anlisis de las diferencias con otros intrpretes, tales como sh o csh ser abordado en la prctica 3.

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-2-

    RECUERDE...

    Las indicaciones anteriores son comunes a todas las prcticas de la asignatura, por lo que nose repetirn en los dems enunciados de prcticas. Recurdelas.

    1. Objetivos y alcance (1 minuto)

    1.1 Introduccin

    Linux Debian es un sistema operativo multitarea (tipo Unix) diseado inicialmente para trabajaren PCs, aunque actualmente existen versiones para otro tipo de mquinas. La gran difusin deeste sistema operativo se debe en parte al hecho de ser un software de libre distribucin. Linuxproporciona una buena plataforma para el desarrollo de servicios de informacin. Existen multitudde libreras de desarrollo y de paquetes software que aaden gran funcionalidad y servicios.

    Como peculiaridades de la distribucin Debian podemos citar las siguientes:

    C Lneas de desarrollo: se mantienen 3 lneas o ramas: Stable (totalmente probada y estable,aunque con software con un ao de antiguedad o ms), Testing (en fase de pruebas paraconvertirse en estable, actualizada diaria casi diariamente) y unstable o "sid" (en desarrollo,convirtindose los paquetes a testing tras un periodo de migracin de varios dias).

    C Versiones de la rama Stable: cada vez que se alcanza una nueva versin Stable, se le asociaun nombre en clave: Wheezy (7.0), Squeeze (6.0), Lenny (5.0), Etch (4.0), Sarge (3.1),...

    Linux dispone de numerosas herramientas que permiten su administracin tanto de forma grficacomo en modo texto desde la shell o intrprete de comandos. Asimismo, al igual que todas lasplataformas Unix, dispone de mecanismos y herramientas de administracin que facilitan el mantenimientodel sistema operativo.

    1.2 Objetivo de la prctica

    El objetivo fundamental de esta prctica es que se familiarice con las diferentes interfaces grficasy de texto que posee Linux Debian. Concretamente se centrar la atencin en las interfaces GNOMEy KDE as como en el uso del shell Bash (Bourne again shell)1. Adems se proporcionarn lasnociones necesarias para la administracin bsica del sistema operativo.

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-3-

    1.3 Planificacin de la prctica

    Sesiones de Prcticas de este Tema Apartados a realizar de esta memoria

    Sesin 1 1, 2, 3, 4/4.1/4.2

    Sesin 2 4.3/4.4/4.5, 5, 6 (+ Test Prctica)

    1.4 Documentacin de apoyo

    C "The Debian system: concepts and techniques". Martin F. Krafft. 2005. ISBN: 1593270690.C "Linux bible". Christopher Negus. Indianapolis, IN. Wiley, 2011. ISBN: 9780470929988.C "Pro Linux System Administration". James Turnbull, Peter Lieverdink, Dennis Matotek.

    Berkeley, CA. Apress, 2009. ISBN: 978-1-4302-1912-5.

    C "Linux Network Administrator's Guide (Openbook)". Olaf Kirch, Terry Dawson. O'Reilly,2000. ISBN: 1-56592-400-2

    C Relacin cronolgica entre las distintas distribuciones Linux: http://futurist.se/gldt/C Pgina Web de Linux Debian: http://www.debian.org/C Recopilatorio de las distintas versiones de la rama Testing de la distribucin Debian, por

    fechas: http://snapshot.debian.org/

    C Versiones de Linux Debian: http://es.wikipedia.org/wiki/DebianC Documentacin de Debian: http://www.debian.org/doc/manuals/, http://wiki.debian.org/C Gestores de sesin para X: http://wiki.debian.org/DisplayManagerC Gestores de ventana y escritorio para X: http://wiki.debian.org/WindowManager,

    http://wiki.debian.org/DesktopEnvironment, http://xwinman.org/

    C Estndar de la jerarqua del sistema de archivos en sistemas Unix: http://www.pathname.com/fhsC Estndar de intrprete de comandos de la especificacin POSIX (IEEE Standard 1003.1

    2004/ISO 9945.2): http://pubs.opengroup.org/onlinepubs/009695399/

    C Documentacin de KDE: http://docs.kde.org/C Documentacin de Gnome: http://library.gnome.org/

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-4-

    C Estadstica de uso de Sistemas Operativos para alojamiento de aplicaciones Web:http://w3techs.com/technologies/overview/operating_system/all

    2. Uso bsico de Linux (35 minutos)

    2.1 Entorno de trabajo (1 minuto)

    Todos los equipos tienen definidos dos usuarios:

    Usuario Clave

    afast fastfastroot root-fast

    RECUERDE...

    Los anteriores usuarios y claves de acceso sern necesarios en todas las prcticas para accederal S.O. Linux Debian. Recurdelos.

    Tras el proceso de arranque, el sistema est configurado para que muestre la interfaz grfica. Accedaal sistema usando el usuario "afast" (por motivos de seguridad, el entorno grfico est configuradopara que el usuario "root" no pueda usarse para abrir una sesin grfica).

    De forma habitual, trabaje con el usuario "afast", empleando el usuario "root" cuando realice tareasde administracin del sistema. Con esto se evitar posibles problemas como consecuencia de algunaoperacin incorrecta. Cuando trabaje en una consola de comandos, puede cambiar entre usuariosusando el comando "su nombre_usuario" (volviendo al usuario anterior con "exit").

    Existen muchas distribuciones de Linux (SUSE, Caldera, Slackware, Mandriva, Debian, Gentoo,Ubuntu, Guadalinex, etc). En el laboratorio se utilizar la distribucin Debian. El nmero de laversin de Debian que actualmente est utilizando se encuentra en el fichero de texto"/etc/debian_version" (NOTA: en Linux, la mayora de los archivos de configura-cin/administracin corresponden a ficheros de texto, por lo que podr consultarlos con cualquierade las herramientas aptas para ellos: cat, emacs, nedit, ...).

    TAR

    EAS

    Entre en el entorno grfico con el usuario "afast". Usando los iconos del escritorio, abraun terminal y mire el contenido de dicho archivo en su equipo.

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    2 Un comando es cualquier orden pasada a un "intrprete de comandos (shell)" para que sea procesada por ste (laorden de interpretacin se realiza al pulsar la tecla [Enter], salvo que el ltimo carcter sea el escape \, en cuyocaso el comando contina en la siguiente lnea). El comando ms simple sera la invocacin de un fichero ejecutable.

    3 La notacin usada a lo largo de las prcticas es escribir entre corchetes [x] aquellos parmetros opcionales.

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-5-

    2.2 Comandos de usuario del intrprete de comandos (15 minutos)

    Durante el desarrollo de las distintas prcticas deber emplear los comandos2 bsicos de los intrpretesde comandos de Linux que han sido objeto de uso en asignaturas anteriores. A continuacin seresumen algunos que debe recordar (si tiene alguna duda siempre puede consultar la ayuda conel comando man):

    a) Comandos bsicos: ls, clear, cd, grep, egrep, pwd, rm, mkdir,mv, echo, cat, ps, kill,

    b) Redirecciones: uso de los descriptores de ficheros y operadores de redireccin (,>>, |, ...).

    c) Manuales de ayuda: man [x] comando/fichero3 (q para salir, espacio pginasiguiente, / buscar, "n" siguiente ocurrencia de la palabra buscada, ...). Los manualesde ayuda se clasifican en secciones (valor de "x") segn el tipo de informacin que contienen,siendo stas las siguientes en distribuciones Debian:

    Seccin (x) Tipo

    1 Programas ejecutables o comandos del interprete de ordenes

    2 Llamadas de sistema

    3 Llamadas de bibliotecas

    4 Archivos especiales (alojados normalmente en /dev)

    5 Formatos de archivo y convenciones

    6 Juegos

    7 Miscelnea

    8 Comandos de administracin del sistema

    9 Rutinas no estndar del ncleo

    n Documentacin nueva, que podra ser trasladada posteriormente

    l Documentacin local especifica de su sistema

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-6-

    A veces un mismo trmino puede hacer referencia a distintas informaciones (comandos,ficheros, funciones de programacin) cada una de las cuales tiene una seccin de mandistinta. Si no se indica la seccin, al escribir solamente "man comando", se ver lainformacin de la primera seccin (por ejemplo, "man 2 signal" y "man 7 signal" danresultados diferentes; si se usa "man signal" se obtiene lo mismo que con "man 2 signal").

    Igualmente, tambin puede usar los manuales de informacin: info comando/fichero(use "h" para ayuda y "q" para salir). Adems de mediante la consola de comandos, estosdocumentos pueden consultar de forma grfica, por ejemplo con el navegador konqueror(escribiendo "man:comando" o "info:comando" en la barra de navegacin). Recuerdeque si en algn momento de las prcticas se le pide que ejecute algn comando y no recuerdacomo funciona, debe consultar la ayuda de dicho comando.

    d) Directorios/ficheros especiales del sistema: "/", "./", "../", "~/".

    Nombre Significado

    / Raz del sistema de ficheros./ Directorio actual../ Directorio padre

    ~/Directorio personal del usuario (cd, cd ~, cd $HOME cd

    /carpeta_personal son equivalente). El carcter "~" puede obtenerse conla pulsacin "Alt Gr-4" (alternativamente, con Alt Gr- + Espacio).

    .fichero Fichero oculto (visualizables con ls a)../ y ../ son ficheros(directorios) ocultos

    Asimismo, recuerde que los nombres de ficheros y directorios son "case sensitive" (distinguenentre maysculas y minsculas). Por ejemplo,"/tmp/file" y "/tmp/File" son ficheros distintos.

    e) Sistema de permisos: Usuario/grupo propietarios y permisos de lectura, escritura y ejecucinde ficheros/directorios.

    f) Insercin rpida de comandos (si bien estas caractersticas son dependientes del intrpretede comandos, suelen ser comunes a todos ellos):

    C Se pueden escribir varios comandos en una misma lnea separndolos por ; ("comando1;comando2", aqu "comando2" se ejecuta tras terminar "comando1"), "&&"("comando1&&comando2", aqu "comando2" slo se ejecuta si "comando1" terminasin devolver ningn cdigo de error), "||" ("comando1||comando2", aqu "comando2"slo se ejecuta si "comando1" termina con error), "&" ("comando1&comando2", aqu"comando1" se ejecuta en background y simultneamente se ejecuta "comando2").

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-7-

    C Scroll de pantalla ("May-RePag" y "May-AvPag"), C Autocompletado (tecla de "Tabulacin"): si slo existe una opcin, se completa; si

    existe ms de una, muestra la lista de los mismos. Recuerde que si se usa en la primerapalabra completa el nombre del comando, mientras que si se emplea en la segunda ysucesivas completa los nombres de ficheros que estn en el directorio en curso.

    C Histrico de comandos: comando "history" (muestra los comandos anteriormente introducidos,almacenados en el histrico de comandos -para el intrprete Bash, fichero ".bash_his-tory" ubicado en el directorio personal del usuario-), cursores arriba/abajo (muestranlos comandos anteriores y posteriores del histrico). Asimismo, se dispone de las siguientesinstrucciones para obtener rpidamente comandos del histrico:

    Comando Funcin

    ! Ejecuta el ltimo comando introducido que empiece por""

    !! Ejecuta el ltimo comando introducido (equivale a "!-1")

    ! Ejecuta el comando nmero "" ("history" da el nmerode cada comando)

    !- Ejecuta el comando empezando por el ltimo!?? Ejecuta el ltimo comando introducido que contenga

    Ctrl-RBusca "interactivamente" y ejecuta el ltimo comando introducidoque contenga una determinada cadena ("history|grep "slo realiza la bsqueda esttica)

    !$ $_ Valor del ltimo argumento (incluyendo el argumento "0" onombre del comando) del ltimo comando introducido

    !^ Valor del primer parmetro (argumento "1") del ltimo comandointroducido

    !* Valor de todos los parmetros (argumentos "1" en adelante)del ltimo comando introducido

    ^^^ ltimo comando introducido sustituyendo por

    C Pulsaciones rpidas tiles en el intrprete de comandos (no se exige que memoriceestas pulsaciones):

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-8-

    Pulsacin Funcin

    resetResetea el terminal (til cuando manifiesta un comportamiento anmalo,mostrando caracteres extraos)

    Ctrl-K Borra hasta el final de la lnea

    Ctrl-U Borra hasta el principio de la lnea

    Esc+Retroceso Borra hasta el principio de la palabra

    Ctrl-L Limpia la pantalla

    Ctrl-C Anula el comando

    Alt-B Ubica el cursor al principio de la palabra actual

    Alt-F Ubica el cursor al final de la palabra actual

    Ctrl-A Ubica el cursor al principio de la lnea actual

    Ctrl-E Ubica el cursor al final de la lnea actual

    Alt-UConvierte a maysculas desde el cursor hasta el final de la palabra actual(bajo consolas de comandos grficas, podr necesitar usar "May-Alt-U"dado que la tecla "Alt" activa el men de la ventana)

    Recuerde asimismo que en Linux, tanto los comandos como los nombres de ficheros son sensiblesa maysculas y minsculas.

    TAR

    EAS

    Para practicas con estos comandos y herramientas, realice las siguientes operaciones:

    1 Usando el terminal que abri antes, ejecute los siguientes comandos y analice cuales la funcin que realiza cada uno de ellos (haga uso de las herramientas antes citadaspara la insercin rpida de comandos, as como de las pulsaciones rpidas indicadas):

    echo Holacat /etc/passwdclearcd /tmp/pwdcd $HOMEpwdcd /tmp/; pwdcdpwdcat [Ctrl-C para terminar]cat

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-9-

    TAR

    EAS

    man datepwdmkdir -p /tmp/dir/subdirecho "hola" > /tmp/dir/subdir/ficherocat /etc/fstab > /tmp/dir/subdir/fichero2rm -Rf /tmp/dircd /home/afastpwdls la | morecdpwd

    2 Escribir el prefijo "ba" y haga uso del autocompletado (pulse "Tabulacin") paraobtener los distintos comandos que poseen ese prefijo. Tras ello, haga uso delautocompletado para escribir el comando "cat /home/afast/.bashrc".

    3 Cree el directorio "/tmp/pruebas" y ubquese dentro de l.

    4 Usando el comando "echo", cree en el directorio /tmp/pruebas el fichero "cabecera"que contenga la cadena "Lista".

    5 Usando el comando "ls", cree en el directorio /tmp/pruebas el fichero "listado",de modo que su contenido incluya el listado de carpetas y ficheros que directamente(sin recursividad) se encuentran en el directorio raz "/".

    6 Aada al fichero "cabecera" el contenido del fichero "listado".

    7 Usando el comando "rm", borre recursivamente y sin confirmacin el directorio"/tmp/pruebas", incluyendo todos los ficheros que contiene.

    8 Cambia al usuario "root" con el comando "su -" y ejecute el comando "ifconfiga". Vuelva al usuario anterior "afast" con el comando "exit".

    9 Cierre la consola de comandos con el comando "exit".

    2.3 Distribucin de consolas en modo texto y grfico (15 minutos)

    Las consolas virtuales proporcionan varias pantallas a travs de las cuales el usuario puedeentrar al sistema y ejecutar programas (en cada momento slo se muestra una de estas pantallas,no pueden mostrarse varias simultneamente). En los sistemas Linux habituales se crean, el menos,siete consolas virtuales, cada una de las cuales tiene asignada una tecla de funcin [Fz] (F1, F2,etc.):

    C "6" consola virtuales en modo texto: con las teclas de funcin respectivas F1, ..., F6. Laentrada a cada consola es controlada mediante un "login/password" (tarea realizada porel programa "/bin/login", el cual es ejecutado automticamente por el sistema para controlar

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-10-

    el acceso a cada una de estas consolas). Una vez identificados con un usuario determinado,el sistema cargar el intrprete de comandos configurado para dicho usuario (i.e. "/bin/bash"),disponiendo ya de una lnea para la introduccin de comandos (as pues, todas estas consolascorresponden a"consolas de comandos").

    C "1" consola virtual, al menos, en modo grfico (en general, cada consola es responsabilidadde un servidor X): aunque depende del sistema, suele tener asignada la tecla de funcinF7 o F8 (segn si se ha reservado una consola para la salida de los mensajes duranteel proceso de arranque del sistema); podran existir ms consolas grficas, asocindoseleslas siguientes teclas de funcin F8 o F9, F10, ... La entrada a una sesin grfica suele sercontrolada por un "gestor de sesiones" (i.e. gdm para Gnome), igualmente mediante un"login/password". Una vez identificados, el gestor de sesiones cargar las distintas aplicacionesX que componen el escritorio. Desde el modo grfico pueden abrirse "emuladores de terminal"(programas tales como "konsole, gnome-terminal, rxvt, kvt, xterm, nxterm o eterm") queofrecen consolas de comandos; al entrar en cualquiera de ellas, se cargar el intrpretede comandos configurado para el usuario que ha abierto la sesin grfica, disponiendoya de una lnea para la introduccin de comandos.

    Para conmutar entre las diferentes consolas, saltando a la consola virtual asociada a la teclade funcin "[Fz]", se utiliza la combinacin de teclas "[Control]-[Alt]-[Fz]" (para saltar entreconsola en modo texto basta usar "[Alt]-[Fz]").

    TAR

    EAS Conmute entre las distintas consolas y averige cual es la tecla de funcin Fx en que se

    encuentra su consola grfica. Tras ello, abra una sesin en una consola en modo texto yotra en la consola grfica. Compruebe que el sistema es multitarea ejecutando distintoscomandos en cada consola.

    Puede determinar qu aplicaciones se ejecutan en cada consola virtual usando el comando (silo necesita, consulte la ayuda del comando "man ps"):

    ps aux

    La notacin empleada por dicho comando (y en general dentro del sistema Linux) para identificarlas consolas virtuales desde la que se ha invocado cada proceso es la siguiente:

    Identificador Tipo de consola de comandos

    tty/X Consolas virtuales en modo texto (consolas de coman-dos) locales (Ctrl-Alt-F1/F6)

    pts/x Consolas de comandos bajo modo grfico (emuladoresde terminal) o sesiones remotas (SSH, ...)

    Carcter"?"

    Procesos invocados desde una consola virtual en modogrfico (sin usar consolas de comandos)

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-11-

    Para obtener el identificador de la consola en la que actualmente est trabajando basta ejecutarel comando "tty".

    Puede obtener las consolas virtuales y consolas de comandos abiertas, y/o el usuario que las abrimediante cualquier de los siguientes los comandos (la consola virtual en entorno grfico sueleser identificada mediante "pts/0"): "who, w, users, last". Tenga en cuenta que cadaconsola pertenece al usuario que introduce el "login/pasword" al abrir la consola; cuando se haceuso del comando "su" o "su -", se est cambiando de usuario, pero no abriendo una nueva consolao sesin.

    TAR

    EAS Ejecute el comando "ps aux" y analice la informacin que se le muestra sobre las consolas.

    Utilice los comandos "who, w, users, last". Consute el manual de cada uno paradeterminar la diferencia entre ellos

    Es posible restringir a qu usuarios, de todos los definidos en el sistema, se les permite el accesoa cada consola. Para ello se emplean los siguientes ficheros (usados por "/bin/login"):

    Fichero Funcionalidad

    /etc/securettyContiene las consolas virtuales en modo texto locales "tty/X"(no las emuladas "pts/X") y grficas ("X") para las que se permiteacceso como usuario "root"

    /etc/nologin Si existe, slo se permite el acceso al usuario "root" (afecta a lasconsolas virtuales en modo texto locales "tty/X" y grficas "X").

    /etc/pam.d/loginControla la activacin de los ficheros anteriores: securetty (requierela directiva "auth requisite pam_securetty.so"), nologin (requierela directiva "auth requisite pam_nologin.so").

    Adems de estos ficheros, en el control de acceso al entorno grfico tambin influye la configuracindel gestor de sesiones empleado kdm/KDE (este es el activo en su sistema), gdm3/Gnome, ....La configuracin del gestor de ventanas activo puede modificarse usando el icono Preferenciasdel sistema (Gnome) o botn KDE / Mquina / Preferencias del sistema / Avanzado / Gestorde acceso" (KDE), o directamente mediante el comando "kcmshell4 kdm" (para kdm) o "gdmsetup"(para gdm3), siempre como superusuario "root".

    En cuanto a las sesiones remotas, el control de acceso depender del servidor. Por ejemplo, elservidor "telnet" aplica el fichero "/etc/securetty", mientras que el servidor SSH controla directamentesi el usuario "root" tiene permiso de acceso (en la directiva "PermiRootLogin" de su fichero deconfiguracin "/etc/ssh/sshd_config").

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-12-

    TAR

    EAS

    Desde una consola virtual en modo texto, y empleando el usuario "root", cree el fichero"/etc/nologin" y compruebe como no puede usar el usuario "afast" para entrar a ningunade las otras consolas virtuales en modo texto. Tras ello, elimine el fichero "/etc/nologin"para dejar el sistema como estaba.

    Cierre las sesiones que haya abierto (las consolas en modo comandos se cierran medianteel comando "exit").

    2.4 Organizacin del Sistema de Archivos de Linux (4 minutos)

    A continuacin se comenta de forma muy bsica la estructura y organizacin del sistema de archivosque utiliza el sistema operativo Linux (sigue el estndar FHS -Filesystem Hierarchy Standard-,que puede consultar en la ayuda man hier):

    Directorio Contenido

    /

    [Obligatorio] Directorio raz. Es la base de la jerarqua del rbol de directorios.Si el directorio /root no existiese (puesto que es opcional), el directorio "/" serael directorio home del usuario root. Este directorio "/" est pensado para permanecerlo ms ordenado posible en el sentido de que el usuario debe evitar la creacinde subdirectorios que dependan jerrquicamente de forma directa de l.

    /bin

    [Obligatorio] Contiene ejecutables que son necesarios en modo monousuariosin tener en cuenta los privilegios de ejecucin que tengan asignados. Este directoriono est pensado para tener subdirectorios, de tal forma que, aquellos comandosque estn pensados para que sean ejecutados por los usuarios, debern estarubicados en el directorio "/usr/bin".

    /boot [Obligatorio] Contiene todos los archivos que se necesitan para arrancar el sistemaa excepcin de los archivos de configuracin.

    /dev [Obligatoria] Contiene archivos que representan a los dispositivos del equipo(de tipo carcter y bloque).

    /etc[Obligatorio] Contiene archivos de configuracin para la mquina. A medidaque ha ido pasando el tiempo, este directorio se ha ramificado en subdirectoriospara incluir de forma estructurada los archivos de configuracin de determinadasaplicaciones.

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    Directorio Contenido

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-13-

    /home

    [Opcional] Contiene los subdirectorios propios de cada uno de los usuariosindividuales. Algunos administradores prefieren ubicar los anteriores subdirectoriosbajo el directorio "/var/users" o bajo el directorio "/usr/users". Enocasiones el directorio /home es realmente un enlace simblico a /usr/home ocualquier otro directorio jerrquicamente inferior a /usr. Esto ltimo no parecemuy acertado puesto que el directorio /usr est pensado para ser de slo lectura.

    /lib

    [Obligatorio] Contiene libreras compartidas que se utilizan en el momento dearranque del sistema o que usan algunos comandos de alto nivel que estn ubicadosen el directorio "/bin". Por su parte, las libreras que se utilizan para dar soportea los comandos contenidos en el directorio /usr estn contenidas en el directorio"/usr/lib".

    /media [Opcional] Suele contener acceso a dispositivos de almacenamiento (discos duros,USB, ).

    /opt [Opcional] Est pensado para contener todos los datos requeridos para dar soportea los paquetes software que se aadan al sistema original.

    /proc[Opcional] Contiene un sistema de archivos virtual, es decir: que no correspondea ningn dispositivo fsico. Dicho sistema de archivos contiene informacindel kernel y procesos que actualmente se est ejecutando en esa mquina.

    /root [Opcional] Contiene informacin y archivos de configuracin necesarios parala cuenta del usuario root.

    /sbin [Obligatorio] Contiene ejecutables orientados a la administracin y que son deuso exclusivo para el administrador del sistema.

    /srv [Obligatorio] Debe contener los datos de los servicios que este sistema proporciona.

    /sys [Opcional] Sistema de archivos virtual (sysfs) que contiene informacinsobre el hardware del equipo.

    /tmp[Obligatorio] Se usa cuando una aplicacin necesita escribir un archivo que serborrado cuando dicho programa termine su ejecucin. Normalmente se limpiacada vez que se reinicia el sistema.z

    /usr[Obligatorio] Contiene datos de slo lectura que van a ser compartidos. Por ello,si este directorio descansa sobre una particin propia, dicha particin puedemontarse como de slo lectura.

    /var [Obligatorio] Contiene archivos de datos variables como por ejemplo archivosde log y ciertos archivos de datos especficos de los procesos.

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-14-

    TAR

    EAS Como ejercicio muvase a lo largo de la jerarqua de directorios comentada, en modo grfico

    o consola de comandos, e inspeccione el contenido de dichos directorios de forma que puedacontrastar la informacin suministrada anteriormente.

    3. Entorno grfico: Sistema X-Windows (30 minutos)

    Los entornos grficos ofrecen al usuario un entorno ms amigable que el funcionamiento en modotexto, haciendo uso de iconos, barras de herramientas, interfaces grficas y un uso intensivo delratn. Cada entorno grfico se caracteriza por su aspecto y comportamiento particulares aunquetodos suelen tener caractersticas en comn. Linux ofrece un entorno grfico basado en el sistemaX, que veremos a continuacin.

    3.1 Funcionamiento del Sistema X-Windows (3 minutos)

    A diferencia de otros sistemas operativos como MS Windows, el entorno grfico de Linux seofrece mediante una comunicacin entre procesos basada en el modelo cliente-servidor medianteel protocolo de aplicacin X11 (sobre TCP o UDP y puerto estndar 6000):

    a) Servidor X (por ejemplo, Xorg o Xfree86): ofrece el servicio de representar en pantallala informacin (as como gestionar la entrada de informacin mediante teclado y ratn)de los clientes X que los soliciten.

    b) Clientes X: cualquier aplicacin basada en las X (i.e. xemacs o firefox) que solicita alservidor X que la represente en pantalla.

    Al conjunto de clientes X que ofrecen una solucin completa de interfaz grfica de usuario sele denomina Entorno de escritorio. Linux dispone de mltiples entornos de escritorio (KDE, Gnome,XFCE, ...). Para ofrecer el entorno grfico habitual de los sistemas Linux, suelen intervenir ciertosclientes X con una funcionalidad especial, entre los que merece la pena distinguir (cada escritorioofrece una implementacin propia de estos clientes, pudiendo usar esa u otra implementacin):

    C Gestor de sesiones/inicio X o "display manager" (gdm3/Gnome, kdm/KDE, xdm, ...):se encarga de mostrar la pantalla de entrada al entorno grfico, solicitando al usuario quese identifique y decida, entre otros aspectos, el entorno de escritorio que desea usar. Dichogestor est implicado en el control acceso al servidor X, no slo mediante la entrada estndar,sino tambin cuando se accede remotamente mediante TDP/IP. El gestor de sesiones aemplear se configura en el fichero "/etc/X11/default-display-manager" (man5 Xsession), haciendo que su contenido sea /usr/bin/kdm (el configurado en su sistema),/usr/sbin/gdm3, ...

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-15-

    C Gestor de ventanas o "window manager" (kwin/KDE, mutter-metacity/Gnome, xfwm/XFCE,twm, openbox, fluxbox, compiz, ...): controla la apariencia de las ventanas, mejorandosu representacin. Cambiando de gestor de ventanas podemos cambiar la apariencia detodas las ventanas (botones de cerrado, minimizado, maximizado, situacin del ttulo dela ventana, etc.) as como su comportamiento. Si bien lo habitual es que al cargar un escritorioest configurado para cargar su gestor de ventanas (esta es la configuracin de su equipo),el gestor de ventanas es una aplicacin independiente, por lo que sera posible emplearcualquier gestor de ventanas con cualquier escritorio (por ejemplo, metacity con KDE).Puede obtener los gestores de ventanas disponibles en el equipo mediante el comando"update-alternatives --list x-window-manager".

    Bajo un uso local, la funcionalidad ofrecida por el sistema X Window es completamente anlogaa la de cualquier otro sistema operativo como MS Windows. La ventaja del sistema X-Windowse obtiene cuando el cliente y servidor X se encuentran en mquinas remotas. En este caso, elSistema X permite ejecutar aplicaciones en un sistema remoto y que los resultados de tal procesose presenten en otra mquina como si toda la ejecucin estuviese teniendo lugar en esta ltima.Bajo dicho uso en mquinas remotas debe advertirse que los conceptos de cliente y servidorson ligeramente distintos a lo que intuitivamente cabra pensar; el servidor X se encuentra enla mquina que est representando grficamente al cliente X, y el cliente X se encuentra en lamquina donde se est ejecutando la aplicacin grfica (i.e. firefox).

    3.2 Uso bsico del entorno grfico (11 minutos)

    Estas prcticas asumen que usted est habituado al uso de entornos grficos, al menos a nivelde usuario. Puede acceder al panel de control de Gnome mediante el comando gno-me-control-center (o mediante el men Sistema / Centro de Control) y al de KDE medianteel comando systemsettings (o mediante botn KDE / Mquina / Preferencias del sistema).A continuacin se le proponen algunas actividades para que se familiarice con los dos entornosde escritorio (KDE y Gnome) disponibles en su equipo:

    TAR

    EAS

    1 Resetee el sistema X usando la pulsacin especial: [Alt Gr] - [Impr Pant] - K

    2 En el gestor de sesiones activo (kdm), seleccione el tipo de sesin Gnome, e inicieuna sesin con el usuario "afast". Para descubrir las posibilidades del entorno deescritorio Gnome, acceda a la ayuda del mismo mediante los siguientes pasos:

    C Haga clic en el botn "Sistema" del men principal y seleccione la opcin Ayuda(equivalente al comando gnome-help). Al seleccionar esta opcin aparecernvarios enlaces de ayuda. Recorra las diferentes secciones para descubrir cmotrabaja esta interfaz grfica.

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    4 El gestor de sesin controla el acceso remoto TCP/IP al servidor X. Por eso es necesario ejecutar estos comandosdesde fuera del entorno grfico, dado que requieren reiniciar el servidor X.

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-16-

    TAR

    EAS

    C Al arrancar Gnome, en su sistema ste est configurado para que use su propiogestor de ventanas metacity. Haga uso del comando ps para comprobar queefectivamente ste es el gestor de ventanas cargado, y no el de KDE kwin.Cada usuario posee su propia configuracin de metacity, guardada en la carpeta~/.gconf/apps/metacity/. Puede modificar la configuracin de metacity desdelas aplicaciones grficas (accesibles a travs del men Sistema / Preferencias)Ventanas (o comando gnome-window-properties), Combinacionesde teclas (o comando gnome-keybinding-properties).

    C Mediante un terminal de comandos, haga uso del comando ps para comprobarque el gestor de sesiones que est cargado en su sistema es efectivamente kdmy no gdm3 (a pesar de estar usando el escritorio Gnome). Acceda a la configuracinde dicho gestor de sesiones kdm mediante el comando "kcmshell4 kdm"(o botn KDE / Mquina / Preferencias del sistema / Avanzado / Gestor de acceso")y vea qu opciones de acceso al entorno grfico permite configurar.

    C A continuacin cambie el gestor de sesiones para que sea gdm3. Para ello,en primer lugar cierre la sesin usando la opcin "Sistema/Cerrar la sesin delmen principal de Gnome. Tras ello, vaya a una consola en modo texto (por ejemplo,pulse Ctrl-Alt-F1), acceda con el usuario afast (el usuario directo como rootest deshabilitado) y luego cambie al s7uperusuario con el comando su - . Coneste usuario, modifique el contenido del fichero /etc/X11/default-display-manager"para que su contenido sea /usr/sbin/gdm3, para lo que puede usar el siguientecomando (alternativamente podra usar el comando dpkg-reconfiguregdm3):

    echo "/usr/sbin/gdm3" > /etc/X11/default-display-manager

    Tras ello, ejecute el siguiente comando para descargar el actual gestor de sesioneskdm y cargar el nuevo gdm34:

    service kdm stop; service gdm3 start

    Vuelva a la consola grfica (en general, con Ctrl-Alt-F7) y observe como la pantallade control de acceso del gestor de sesiones ha cambiado, siendo la de gdm3.Acceda al entorno grfico usando el escritorio Gnome, para comprobar que funcionacorrectamente.

    C Acceda a la configuracin de su gestor de sesiones gdm3 mediante el comando"gdmsetup" y vea qu opciones de acceso al entorno grfico permite configurar.

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-17-

    TAR

    EAS

    Tras ello, cierre la sesin usando la opcin "Sistema/Cerrar la sesin del menprincipal de Gnome.

    3 En el gestor de sesiones (ahora gdm3), seleccione en este caso el tipo de sesinKDE (si no se selecciona ningn tipo de sesin, por omisin de usa el empleadoen la anterior entrada de sesin del usuario indicado), e inicie una sesin con elusuario "afast". Para descubrir las posibilidades del entorno de escritorio KDE,acceda a la ayuda del mismo mediante los siguientes pasos:

    C Haga clic en el botn KDE (el que est en el margen inferior izquierdo de lapantalla y tiene un icono en forma de letra K) y seleccione Aplicaciones / Ayuda(equivalente al comando "khelpcenter"). Aparecer una pantalla con dosventanas. En la ventana de la izquierda se presenta un ndice con los contenidosde la ayuda para KDE. Entre estos estn: Bienvenido a KDE, Manual de usuariode KDE y Tutoriales (dentro de este ltimo se encuentra el enlace Gua Rpida).Recorra las diferentes secciones del sistema de ayuda para descubrir cmo trabajaesta interfaz grfica.

    C Para obtener un listado de las distintas herramientas integradas en el entornoKDE, abra una consola de comandos (para ello, en el botn Botn KDE, puedeseleccionar Ejecutar, escribir "konsole" y pulsar en"Ejecutar konsole") y ejecuteel comando "kcmshell4 --list".

    C Como ejemplo de uso de una herramienta bajo entorno grfico, se le proponea continuacin que utilice el "Monitor del sistema", encargado de monitorizarciertos parmetros relativos a las prestaciones y funcionamiento del sistema.Para ello, arranque el Centro de Informacin de KDE ejecutando el comando"kinfocenter" y acceda a la entrada "Memoria" (desde una consola o desde elmen Acciones -> Ejecutar comando...). Ahora abra el navegador Iceweasely compruebe como afecta a la memoria del sistema. La misma prueba puedeser realizada con la aplicacin "gnome-system-monitor".

    C Al arrancar KDE, en su sistema ste est configurado para que use su propiogestor de ventanas kwin. Haga uso del comando ps para comprobar queefectivamente ste es el gestor de ventanas cargado, y no el de Gnome metacity.Cada usuario posee su propia configuracin de kwin, guardada en el fichero~/.kde/share/config/kwinrc, pudiendo modificarla de forma grfica usandobotn KDE / Mquina / Preferencias del sistema / Escritorio.

    C Mediante un terminal de comandos, haga uso del comando ps para comprobarque el gestor de sesiones que est cargado en su sistema es gdm3 (a pesar deestar usando el escritorio KDE).

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-18-

    TAR

    EAS

    C A continuacin, vuelva a cambiar el gestor de sesiones para que sea nuevamentekdm. Para ello, en primer lugar cierre la sesin usando la opcin "Salir / Cerrarla sesin a travs del botn de KDE.. Tras ello, vaya nuevamente a la consolaen modo texto en la que estaba autenticado como superusuario (Ctrl-Alt-F1)y modifique el contenido del fichero /etc/X11/default-display-manager" paraque su contenido sea /usr/bin/kdm, para lo que puede usar el siguiente comando(alternativamente podra usar el comando dpkg-reconfigure kdm):

    echo "/usr/bin/kdm" > /etc/X11/default-display-manager

    Tras ello, ejecute el siguiente comando para descargar el actual gestor de sesionesgdm3 y cargar de nuevo kdm:

    service gdm3 stop; service kdm start

    Cierra la consola en modo texto (comando exit). Vuelva a la consola grfica(en general, con Ctrl-Alt-F7) y observe como la pantalla de control de accesodel gestor de sesiones ha vuelto a cambiar, siendo nuevamente la de kdm. Accedaal entorno grfico usando el escritorio KDE, para comprobar que funcionacorrectamente. Use el comando ps para comprobar que el gestor de sesionesahora cargado en su sistema es efectivamente kdm.

    Tras ello, cierre la sesin usando la opcin "Salir / Cerrar la sesin a travs delbotn de KDE.

    4 En el gestor de sesiones (kdm), el tipo de sesin "Predeterminada" puede ser configuradopor cada usuario para que arranque el escritorio que desee. Para ello:

    C Vaya a una consola en modo texto (por ejemplo, Ctrl-Alt-F1) y entre con el usuario"afast". Tras ello, edite el fichero "~/.xsession" con el contenido:

    exec startkde

    para que el entorno predeterminado sea KDE; o bien con el contenido:

    exec gnome-session

    para que el entorno preterminado sea Gnome (el sistema est configurado paraque si el fichero "~/.xsession" no existe, se use Gnome como escritoriopredeterminado).

    C Vuelva a la consola grfica, seleccione el tipo de sesin "Predeterminado", einicie una sesin con el usuario "afast". Deber comprobar que el entorno grficocargado se corresponde con el indicado en el fichero "~/.xsession".

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-19-

    3.3 Configuracin de acceso al servidor X (12 minutos)

    Los programas que utilizan el sistema X tienen que conocer la ubicacin del servidor X y la pantallao consola en la que desean ser representados. El formato para indicar dicha pantalla es:

    direccin_IP_servidor_X:nmero_pantalla.nmero_monitor

    De forma habitual, el nmero de pantalla "0" est asociado a la consola "Ctrl-Alt-F7/F8", el "1"a la consola "Ctrl-Alt-F9", y as sucesivamente. Si no se indica ningn monitor, se asume el "0".Cuando el cliente y el servidor X se encuentran en equipos remotos, la comunicacin entre ellosse realiza mediante el protocolo X11 sobre sockets TCP (puerto "6000" por defecto). Si no seindica "direccin_IP", la comunicacin se realizar de forma local (mediante sockets UNIX).

    El valor de la pantalla a usar por omisin es guardado en la variable de entorno "DISPLAY",normalmente inicializada al valor :0.0 (para usar el servidor X de la mquina local mediantesockets UNIX, y la pantalla "0"). Este es el motivo por el cual si se ejecuta una aplicacin grfica(por ejemplo, el comando "firefox &"), es representada en la pantalla de nuestro equipo.

    Si no se desea usar la pantalla por omisin de la variable DISPLAY, puede indicarse un nuevovalor de forma explcita, de tres formas posibles:

    C Asignar un nuevo valor a la variable DISPLAY (lo que afectar a todos los comandosejecutados en el shell actual): por ejemplo:

    export DISPLAY=:0.0 #igual a export DISPLAY=:0

    C Indicando un valor de la variable DISPLAY nicamente para un comando concreto. Ejemplo:DISPLAY=:0.0 firefox

    C En aquellos comandos que lo soporten, pasndole el valor deseado para la variable DISPLAYcomo argumento. Ejemplo:

    emacs -d $DISPLAY

    Es posible arrancar ms de un servidor X en el mismo equipo (en general, cada consola grficaF7 o F8, F9, ... es gestionada por un servidor X distinto). Para comprobarlo, y hacer uso de lasanteriores explicaciones sobre la forma de indicar en que pantalla (servidor X) se desea representaruna aplicacin grfica, realice las siguientes operaciones:

    TAR

    EAS 1 Desde una consola de comandos, abra una sesin como usuario root, ejecutando:

    "su -".

    2 Para arrancar solamente el servidor X (sin gestor de ventanas ni aplicaciones adicionales):

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-20-

    TAR

    EAS

    C Ejecute el siguiente comando para arrancar un segundo servidor X en la pantalla"1": xinit -- :1 &

    C Vaya a la nueva pantalla grfica "1" (Ctrl-Alt-Fx) y compruebe como apareceuna ventana grfica.

    C Vuelva a la consola desde la que estaba trabajando y abra una nueva sesin decomandos ahora con el usuario "afast". Tras ello, ejecute el navegador "Firefox"indicndole que se represente en la pantalla "1":

    DISPLAY=:1 firefox &

    C Vuelva a la pantalla grfica "1" y compruebe como aparece el navegador ejecutado(con los permisos del usuario root).

    C Vuelva a la consola desde la que estaba trabajando como "root" y elimine el servidorX anterior usando el comando "kill".

    3 Para arrancar solamente el servidor X, acompaado un gestor de ventanas y demsaplicaciones del escritorio (en el ejemplo Gnome al ser el Predeterminado):

    C Desde la anterior consola de comandos en la que estaba trabajando como "root",ejecute el comando ("--" es usado por startx y xinitd para separar los parmetrosde los clientes X de los parmetros del servidor X):

    startx -- :2 &

    Alternativamente, si se desea ejecutar este comando como "root" estando en unasesin del usuario "afast" podra usarse:

    su - root -c "/usr/X11R6/bin/startx -- :2 &

    C Vaya a la pantalla grfica "2" (Ctrl-Alt-Fx) y compruebe como aparece un entornoGnome completo.

    C Vuelva a la consola desde la que estaba trabajando y abra una nueva sesin decomandos ahora con el usuario "afast". Tras ello, ejecute el navegador "Firefox"indicndole que se represente en la pantalla "2":

    DISPLAY=:2 firefox &

    C Vuelva a la pantalla grfica "2" y compruebe como aparece el navegador ejecutado.C Vuelva a la consola desde la que estaba trabajando como "root" y elimine el servidor

    X anterior usando el comando "kill".

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-21-

    3.4 Funcionamiento Remoto del Sistema X (4 minutos)

    Una de las principales ventajas del funcionamiento del sistema X bajo un modelo cliente/servidores la posibilidad de ejecutar programas grficos en un ordenador y que su ventana se muestreen otro. Este apartado intentar hacer uso de esta capacidad, ejecutando aplicaciones en un sistemaremoto y obteniendo la salida en su equipo local:

    TAR

    EAS

    1 Usando el comando "ifconfig" (como root), averige la direccin IP de su equipoy la direccin IP de otro equipo de su sala que est encendido (si alguno de losPCs adyacentes al que est empleando se encuentra disponible, use dicho PC; enotro caso, solictele a su compaero que le indique la direccin IP de su equipo).

    2 Inicie una sesin remota SSH hacia ese segundo PC del que ha obtenido su direccinIP (el parmetro "-X" hace que el cliente SSH solicite al servidor SSH que le canalicetoda la salida grfica de las aplicaciones ejecutadas hacia la mquina del cliente,encapsulando el protocolo X11 sobre el tnel SSH):

    ssh -X afast@IP_otro_PC

    3 Sobre esa sesin remota, ejecute el comando "ifconfig", debiendo comprobarcomo obtiene la direccin IP de la mquina remota. Tras ello, ejecute una aplicacingrfica, por ejemplo "firefox &", comprobando como la ventana grfica dela misma es representada en su ordenador local, aunque est siendo ejecutada enla mquina remota (puede comprobar esto usando la opcin "Guardar" del navegador,observando que el sistema de archivos que se le presenta es el de la mquina remotay no el de su equipo).

    Si en lugar de usar SSH se hiciese uso de telnet para el acceso remoto, sera necesario hacer usode la variable DISPLAY para indicar al cliente X la direccin IP de la mquina que contiene elservidor X, as como hacer uso del comando "xhost +IP_cliente_X" para autorizar al equipocon el cliente X el acceso al servidor X. Adems de esta necesidad de configuracin adicional,dado su transporte inseguro, el uso de "telnet" se encuentra totalmente en desuso, por lo que omitiremossu utilizacin.

    4. Funcionamiento en modo texto: comandos de administracindel intrprete de comandos (5 minutos) (75 minutos)

    Cada consola de comandos (o interfaz de lnea de comando CLI) ofrece acceso a un intrpretede comandos. El interprete de comandos o shell es un programa que recoge los comandos queun usuario introduce por el teclado y los enva al sistema operativo para que los ejecute. En Linux

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-22-

    existen mltiples intrpretes de comandos, tales como bash, sh, ksh, tcsh, csh, sh, zsh, ... Los shellsdisponibles en su sistema se encuentran recogidos en el fichero "/etc/shells".

    TAR

    EAS

    Compruebe cules de los intrpretes de comandos citados existen en su equipo y consultesu ayuda.

    Su sistema est configurado para que al abrir una consola de comandos con los usuarios "afast"o "root", se cargue el intrprete de comandos "bash" (Bourne Again SHell), el cual es el intrpreteusado por defecto para los usuarios en la mayora de los sistemas Linux. "bash" ofrece una consolade comandos de gran potencia (puede consultar info bash y "man bash" para ver las mltiplesopciones que ofrece).

    El funcionamiento de cualquier intrprete de comandos esta condicionado por el valor que tienesus denominadas "variables de entorno" (variables propias del shell que permiten configurar sucomportamiento), tales como "HOME", "PATH", "LANG", "PWD", ... (las variables de entornotambin son sensibles a maysculas y minsculas). Entre todas ellas, resulta de especial relevanciala variable de entorno PATH, que contiene los directorios (separados por :) donde el shell buscalos comandos cuando se invocan slo a partir de su nombre (sin indicar explcitamente la rutacompleta del comando; el shell usa la variable PATH cuando el nombre del comando a ejecutarno contiene el carcter /.). Puede ver el valor de dicha variable con el comando:

    echo $PATH

    Para modificar su valor en la sesin actual del intrprete de comandos se puede usar el comando:

    export PATH=$PATH:/directorio_nuevo

    Es frecuente que el directorio actual . no se encuentre en la variable PATH, en cuyo caso paraejecutar un comando ubicado en el directorio actual habra que indicar su ubicacin explcitamente,por ejemplo de forma relativa mediante:

    ./comando

    Por otro lado, el intrprete permite definir alias de comandos mediante el comando alias (manalias).

    TAR

    EAS

    Realice las siguientes operaciones relativas a las variables de entorno:

    1 Abra una consola de comandos y consulte en la ayuda del intrprete Bash las distintasvariables de entorno que utiliza.

    2 Consulte el valor actual de todas las variables (de entorno y usuario) definidas enel intrprete de comandos actual mediante el comando: "typeset -p".

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-23-

    TAR

    EAS

    3 Modifique el valor de las variables "HOME", "LANG" y "PWD", y compruebeen que afectan al comportamiento del intrprete de comandos.

    Durante el proceso de arranque del sistema, las variables de entorno son configuradas en mltiplesficheros, destacando: "/etc/profile" (comn para todos los usuarios, salvo para el usuarioroot, para el que aplica una configuracin particular) y"$HOME/.bashrc", "$HO-ME/.bash_profile" (particulares de cada usuario y dependientes del intrprete de comandos;los ficheros indicados son los empleados por el intrprete Bash). La lectura de dichos ficheros(que corresponden a scripts del shell) por parte del sistema se realiza en el mismo orden en quese han mencionado.

    TAR

    EAS Compruebe cuales de los ficheros anteriores existen en su sistema y para aquellos que estn,

    observe su contenido, analizando como van modificando el valor de la variable "PATH".Compruebe como el valor que se obtiene de la variable "PATH" al ejecutar "echo $PATH"corresponde con el valor configurado mediante dichos ficheros.

    A continuacin se analizan los principales comandos destinados a la administracin bsica deun equipo dotado del sistema operativo Linux (exceptuando los comandos de red, que sern objetode la siguiente prctica):

    4.1 Comandos relacionados con el Sistema de Archivos (15 minutos)

    Linux dispone de mltiples comandos relacionados con el uso del sistema de archivos y su controlde permisos, entre los que destacan:

    Bsicosln, chown, chmod, find, whereis, which, lsattr,chattr

    ParaProfundizar

    chgrp, chroot, locate

    PARA PROFUNDIZAR...

    La informacin acompaada del ttulo "Para Profundizar..." se incluye para aquellos alumnosque deseen ahondar en la prctica, pero su conocimiento no se exigir en las evaluaciones dela Asignatura.

    Por su elevado uso, deben destacarse los siguientes comandos:

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-24-

    Comando Funcin

    ln [-s] fichero enlace1 enlace2 Crea enlaces duros (sin -s) o simblicos(con -s) al fichero indicado

    chmod [-R] xxx dir/fileAsigna los permisos "xxx" (en formatonumrico o literla "rwx") al fichero odirectorio indicado

    chown [-R] user[:group] dir/file

    Asigna el usuario (y grupo) propietarios alfichero o directorio indicado. Para cambiarlos propietarios de un fichero es necesariodisponer de permisos de superusuario.

    findBuscar ficheros. Por ejemplo "find /dir/-name file" busca un ficheros que tenga elnombre "file" indicado en la carpeta "dir".

    whereis comandoBusca la aplicacin indicada (sus binarios,fuentes y man) en un conjunto de carpetaspredefinidas

    which comando Busca el comando indicado en las carpetasrecogidas en la variable PATH

    lsattr, chattr

    Permiten ver y asignar permisos especialesa los ficheros. Por ejemplo, con "chattr +i fichero", se protege al fichero indicadopara que no pueda ser eliminado mientrasno se le quite antes el atributo (con "chattr-i fichero").

    Respecto a los enlaces, resultan relevantes las siguientes aclaraciones:

    C Un enlace simblico no tiene permisos (ls los muestra con todos los permisos activos).La aplicacin del comando chmod sobre un enlace simblico cambiar los permisosdel fichero real apuntado por el enlace. Sin embargo, el enlace simblico s pertenecea un determinado usuario y grupo (inicialmente, al usuario que lo crea). La aplicacindel comando chown sobre un enlace simblico cambiar los propietarios del ficheroapuntado, sin afectar al enlace; por el contrario, la aplicacin del comando chown -hsobre un enlace simblico cambiar sus propietarios sin afectar al fichero apuntado.

    C Un enlace duro usa el mismo i-nodo (entrada al sistema ficheros) que el fichero apuntado.Para localizar los distintos enlaces duros que apuntan a un mismo fichero puede usarseel comando find /ruta -inum nmero_inodo -print.

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-25-

    C Por defecto, los sistemas Linux no permiten la creacin de enlaces duros a directoriospara evitar bucles infinitos. Por su parte, los enlaces simblicos s pueden apuntar a directoriosal ser ficheros especiales que resultan detectables, pudiendo no seguirse para romperlos bucles (por ejemplo, el comando find no sigue los enlaces simblicos por omisin;para seguirlos hay que indicarlo expresamente con find -follow ...)

    TAR

    EAS

    1 Consulte el manual de ayuda de los distintos comandos mencionados para conocersu funcionalidad.

    2 Trabajando como superususario, cree el fichero /tmp/archivo con el contenidotexto.

    3 Use el comando adecuado para que el usuario y grupo propietarios de/tmp/archivo pasen a ser afast.

    4 Abra una sesin con el usuario afast e intente cambiar el usuario propietario de/tmp/archivo para que vuelva a ser root. Analice qu sucede.

    5 Con el usuario afast, intente cambiar cambiar los permisos de /tmp/archivoa 644. Analice si el sistema se lo permite.

    6 Vuelva a la sesin del superusuario e intente cambiar otra vez el grupo propietariode /tmp/archivo para que vuelva a ser root, comprobando que ahora ses posible.

    7 Abra de nuevo una sesin con el usuario afast. Cree la carpeta /tmp/dir/y haga una copia de /tmp/archivo con el nombre /tmp/dir/otro. Analicecuales eran los permisos y propietarios del fichero /tmp/archivo y cualesson los del resultado de la copia /tmp/dir/otro.

    8 Con el usuario afast y usando el comando echo, cree el fichero/tmp/dir/otro2 con el contenido linea. Mire cuales son los permisos delfichero /tmp/dir/otro2 y analice por qu se ha creado con dichos permisos(a esta tarea le puede ayudar consultar man umask y el comando "umask").

    9 Trabajando como superusuario, cree un nuevo usuario y grupo denominados afast2.Modifique el grupo propietario del directorio /tmp/dir/ para que ahora seaafast2.

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-26-

    TAR

    EAS

    11 Trabajando como superusuario, modifique los permisos del directorio /tmp/dir/para que sean 700. Abra una sesin con el usuario afast y vea el contenidodel archivo /tmp/dir/otro2. Abra ahora una sesin con el usuario afast2y vuelva a intentar ver el contenido del archivo /tmp/dir/otro2, comprobandoque ahora no es posible, a pesar de que dicho usuario posee (a travs del grupopropietario) permisos de lectura sobre el archivo. Justifique a que se debe esto.

    12 Modifique el grupo afast2 para que el usuario afast sea miembro del mismo.Cree un tercere usuario afast3.

    13 Trabajando como superusuario,vuelva a modificar los permisos del directorio/tmp/dir/ para que sean 777, y los del archivo /tmp/dir/otro2 paraque sean 046 (compruebe que dicho archivo pertenece al usuario afast y algrupo afast2). Abra una sesin con el usuario:

    C afast3: compruebe que puede ver y modificar el archivo /tmp/dir/otro2.

    C afast2: compruebe que puede ver pero no modificar el archivo/tmp/dir/otro2.

    C afast: compruebe que no puede ver ni modificar el archivo/tmp/dir/otro2.

    Justifique estos resultados.

    14 Trabajando como superusuario,vuelva a modificar los permisos del archivo/tmp/dir/otro2 para que sean 000. Intente ver su contenido con los usuariosafast y root. Analice qu sucede.

    15 Trabajando como superusuario, cree el fichero /tmp/prueba con contenidonulo. Tras ello, aplique el comando chattr con el atributo especial necesariopara protegerlo contra escritura. Consulte con el comando lsattr que ha sidobien aplicado. Intente borrar el fichero (rm /tmp/prueba) y compruebe queno es posible. Quite el atributo especial al fichero e intente eliminarlo de nuevocon el comando rm, comprobando que ahora s puede.

    16 Utilice los comandos find, whereis y which para localizar el directorioen que se encuentre el comando ifconfig. Analice la diferencia de funcionamientoentre dichos comandos.

    17 Para el fichero /tmp/dir/otro2, cree el enlace simblico /tmp/link-softy el enlace duro /tmp/link-hard. Vea el resultado con el comando ls.

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-27-

    TAR

    EAS

    18 Use el comando cat sobre losn archivos /tmp/link-soft y /tmp/link-hard y compruebe que el resultado es el mismo. Borre /tmp/link-softy compruebe que el comando cat /tmp/dir/otro2 sigue funcionando.Borre el fichero /tmp/dir/otro2 y compruebe que el comando cat/tmp/link-hard s funciona. Justifique el motivo.

    19 Para el directorio /tmp/dir/, intente crear el enlace simblico /tmp/link-soft-dir y el enlace duro /tmp/link-hard-dir. Analice qu sucede.Haga uso del comando ls sobre el enlace simblico /tmp/link-soft-diry sobre el directorio /tmp/dir/, y compruebe que coinciden. Haga uso delcomando cd /tmp/link-soft-dir y compruebe como equivale a cd/tmp/dir/ (para ello puede usar el comando pwd).

    4.2 Comandos relacionados con el control de dispositivos (20 minutos)

    4.2.1 Identificacin de los dispositivos en Linux

    Los dispositivos fsicos en Linux tienen asociados unos ficheros especiales en el directorio /dev(denominados ficheros de dispositivo). Cada vez que se accede a estos ficheros en realidad seest ejecutando un controlador de dispositivo (driver), que a su vez permite el acceso al hardware.Por tanto, los ficheros en /dev se comportan de manera diferente a los ficheros ordinarios. A continuacinse resumen los dispositivos ms comunes.

    a) Discos duros: dentro de un PC pueden haber normalmente hasta cuatro discos IDE entotal (dos por canal). Los discos duros (incluyendo los USBs) en Linux se identificancon el valor "/dev/sda", "/dev/sdb", ...

    b) Unidades de disquete: las unidades de disquete en Linux se llaman /dev/fd0 (floppy disk0).

    c) Unidades de cdrom: suelen tener asociado el identificador "/dev/sr0", "/dev/sr1", ..., aunquese les suele vincular un alias "/dev/cdrom0", "/dev/cdrw1", ...

    d) Puertos serie: los dos dispositivos mas comunes que se conectan a los puertos serie suelenser ratones y mdems. En Linux los dispositivos son /dev/ttyS0 (COM1 en DOS) y /dev/ttyS1(COM2 en DOS). Por lo general, aquellos que tengan un ratn conectado a un puertode serie lo tendrn en /dev/ttyS0. Si el ratn es tipo PS/2 entonces estar conectado enun dispositivo especial llamado /dev/psaux y no usar ningn puerto serial.

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-28-

    e) Puertos paralelo: el uso ms habitual para un puerto paralelo en el PC es la conexin ala impresora. El primer puerto paralelo, donde se suele conectar la impresora, se llamabajo Linux /dev/lp0 (line printer 0).

    f) Consolas y terminales: las consolas virtuales en modo texto utilizan dispositivos especialesdel tipo /dev/ttyXX (terminal). Las consolas de comandos bajo modo grfico o remotasusan los dispositivos "/dev/pts/X".

    Los puertos USB no tienen asignado un identificador concreto, sino que depender del tipo dedispositivo USB conectado (disco de almacenamiento, ratn, impresora, ...).

    4.2.2 Dispositivos de almacenamiento

    4.2.2.1 Particionamiento y formateo de dispositivos de almacenamiento

    En Linux existen mltiples comandos para la segmentacin de los discos de almacenamiento yasignacin de un sistema de ficheros (man filesystems) determinado, destacando:

    Bsicosmount, umount, df, lsusb, fdisk, parted, gparted,mkfs.ext3, mkfs.vfat, mkfs.ntfs

    ParaProfundizar

    du, udisks,, cfdisk, sfdisk,, e2label, mkfs,,mlabel, ntfslabel, mkswap, swapoff, swapon, de-bugfs, fsck, e2fsck, tune2fs, dumpe2fs, resize2fs,findfs, blkid, dd, partimage, hdparam, fsarchive,fdformat, mformat

    Todos estos comandos corresponden a tareas de administracin, por lo que en general ser necesariotrabajar como root para poderlos utilizar.

    Como operaciones bsicas con estos comandos pueden hacerse las siguientes:

    a) Para obtener un listado de los dispositivos de almacenamiento actualmente conectadoal equipo y su identificador, basta ejecutar el comando:

    fdisk l

    b) Para particionar el disco /dev/sda puede usarse el comando:

    fdisk /dev/sda

    Ello abre una consola en la que las principales pulsaciones son las siguientes:

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-29-

    Pulsacin Funcionalidad

    h Ayuda

    p Listado de particiones del disco

    n Crear nueva particin o unidad lgica

    d Borrar una particin o unidad lgica

    l Listar los cdigos de los sistemas de ficheros

    tCambiar el sistema de ficheros de una particin (advirtase que slo lo establecve,no le da formato)

    wAplicar al disco los cambios antes realizados y salir (no olvidar invocar esta pulsacin,si no los cambios se pierden)

    q Salir sin aplicar cambios

    c) Para arreglar el sistema de ficheros de la particin /dev/sda1 puede ejecutar:

    e2fsck f y /dev/sda1

    d) Para formatear un disco USB en vfat con identificador /dev/sda3 (consultar "man mkfs")el comando sera:

    mkfs.vfat /dev/sda3

    TAR

    EAS

    Realice las siguientes tareas como superusuario:

    1 Usando la herramienta "gparted", analice cual es el particionamiento que tiene aplicadoel disco de su equipo. Observe que hay espacio sin particionar al final del disco.

    2 Empleando el comando "fdisk", corrobore que efectivamente hay espacio sin particionaral final del disco y calcular su tamao.

    3 Sobre el espacio vaco que tiene su disco, use "gparted" para crear una nueva particinprimaria con sistema FAT32, de 60 MB (este sistema de ficheros no admite particionesinferiores a 32 MB). Tras ello, intente crear otra particin primaria o extendiday compruebe que no es posible (aunque hay espacio libre en el sistema).

    4 Usando "fdisk", elimine la particin primaria que cre en el paso anterior (con cuidadode no eliminar las otras particiones del disco). Tras ello, cree una particin extendidaque ocupe todo el espacio libre existente. Dentro de ella cree dos unidades lgicas,una de 40 MB y otra hasta el final del disco.

    5 Use los comandos "mkfs.ext3" y "mkfs.vfat" para formatear ambas unidades lgicas,la primera con sistema de ficheros FAT32, y la segunda con ext3.

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-30-

    4.2.2.2 Montaje de dispositivos de almacenamiento

    Los archivos disponibles para sistemas Unix estn dispuestos de forma jerrquica en un rbolcuya raz est en /. Estos ficheros pueden estar distribuidos sobre varios dispositivos y sobrediferentes mquinas. Con el comando "mount" es posible acceder (montar) a otros sistemas dearchivos (ubicados en otros dispositivos) al sistema de archivos de la mquina en la que se utilizadicho comando. La sintaxis general de este comando es:

    mount t tipo dispositivo dir

    Le indica al ncleo del sistema operativo que anexe el sistema de archivos que encuentre en "dispositivo"(que es del tipo tipo) al directorio "dir". En muchos casos, el tipo de ficheros "-t tipo" no es necesarioindicarlo, al reconocerlo el comando automticamente (lo que equivale a "-t auto").

    El comando "umount" realiza el proceso inverso. Slo se pueden desmontar dispositivos que previamentese han montado y que no estn en uso en ese momento.

    En el fichero "/etc/fstab" (man fstab) se guardan los dispositivos que se desean montar enel arranque del sistema (pasando su informacin al comando "mount"), o aquellos que se deseanpreparar para su automontaje (e.g., dispositivos USB). Los comandos "mount a o "umount -a"intentan montar o desmontar, respectivamente, todos los dispositivos recogidos en el fichero "/etc/fstab".

    El fichero "/etc/mtab" contiene los dispositivos actualmente montados en el sistema, que tambinpueden obtenerse con los comandos "mount o cat /proc/mounts.

    Salvo que se configure lo contrario, el des/montaje de dispositivos es una tarea de administracin,slo permitida al superusuario.

    En el caso de los dispositivos USB, las disribuciones Linux modernas suelen disponer de un serviciode automontaje, encargado de des/montar el disco nada mas conectarlo (en un directorio de lacarpeta /media), sin necesidad de ejecutar manualmente el comando "mount". Si no funcionasecorrectamente, siempre podr montarlo manualmente. Por ejemplo, para realizar el montaje deun disco USB con identificador /dev/sdb1 en el directorio /media/usb con el sistema de archivosFAT32 bastara ejecutar:

    mkdir /media/usb

    mount -t vfat /dev/sdb1 /media/usb

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-31-

    TAR

    EAS

    Realice las siguientes operaciones:

    1 Trabajando como superusuario, monte la unidad lgica "ext3" que cre y formateen el apartado anterior, y cree en ella un fichero. Tras ello, desmntela.

    2 Monte la unidad lgica "FAT32" que cre y formate en el apartado anterior, ycree en ella un fichero. Tras ello, desmntela.

    4.3 Comandos para la gestin de Cuentas de Usuario (20 minutos)

    En Linux, los usuarios existentes en el sistema estn definidos en el fichero "/etc/passwd", enel que cada lnea pertenece a un usuario y presenta los siguientes parmetros separados por ":"(si el campo shell est vaco, se asume /bin/sh):

    login:clave:uid:gid:descripcin:carpeta_personal:shell

    Por ejemplo, el contenido del fichero podra ser el siguiente:

    /etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologinsql:x:2:2:sql::/dev/null:/sbin/nologin...afast:x:1000:1000:Alumno FAST,s2,s3,s4:/home/afast:/bin/bash

    El campo "descripcin" consta de cuatro partes separadas por coma subcampo1, subcampo2,subcampo3, subcampo4, siendo: subcampo 1 el nombre completo, subcampos 2, 3 la direccionde la oficina y subcampo 4 el numero de telfono. El valor e interpretacin de dichos subcamposes realizada por algunos comandos como por ejemplo el comando "finger" (por ejemplo, ejecuteel comando finger afast). Si no se ponen las comas, simplemente se interpreta que todoel campo es el "Nombre completo del usuario" (por ejemplo, ejecute el comando finger root).

    Debe advertirse que en este fichero se definen todos los usuarios del sistema, los cuales puedenclasificarse en dos categoras conforme a su utilidad:

    C Usuarios humanos o reales: estn pensados para que los usuarios fsicos (personas)deseados puedan acceder y usar el sistema. En el ejemplo, seran los usuarios root yafast.

    C Usuarios virtuales: son usuarios empleados nicamente por procesos internos del sistemacon objeto de asegurar un control adecuado de los permisos de acceso. Dado que estosusuarios no requieren autenticarse (normalmente, un proceso perteneciente al root secambia a uno de estos usuarios), en el fichero /etc/passwd se les indica como shell

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-32-

    /sbin/nologin, de modo que ninguno de estos usuarios podr entrar al sistema autenticndosecon un login/clave. En el ejemplo, seran los usuarios bin y sql.

    El parmetro numrico "uid" corresponde al identificador (nico) del usuario. De entre los diferentesgrupos definidos en el sistema (en el fichero /etc/group explicado mas adelante), el fichero /etc/passwdasocia a cada usuario un grupo determinado (se dice que dicho grupo es el grupo principal, primarioo de usuario del usuario, dado que el usuario pertenece a dicho grupo independientemente dela definicin del grupo en el fichero etc/group; los grupos de /etc/group se denominan grupossuplementarios). El parmetro numrico "gid" corresponde al identificador (nico) de ese grupoprincipal al que pertenece el usuario.

    Para permitir que las aplicaciones puedan conocer las caractersticas de cada usuario, es necesarioque el fichero "/etc/passwd" tenga permisos de lectura para todos los usuarios del sistema. Porejemplo:

    C Cada fichero tiene asociado el uid y gid del usuario y grupo a los que pertenece. Elcomando ls requiere poder leer el fichero /etc/passwd para poder mostrar el nombredel usuario propietario de cada fichero en lugar del uid.

    C Un navegador web requiere conocer la carpeta personal de los usuarios para mostrar supgina personal ante las URLs http://IP/~login/.

    El segundo parmetro (clave) correspondera a la clave del usuario en texto plano (si este parmetroestuviese vaco, se permitira el acceso del usuario sin clave). Dado que, como se ha justificado,es necesario que el fichero /etc/passwd pueda ser ledo por cualquier usuario, la insercin delas claves en este fichero sera insegura. Por dicho motivo, las claves de los usuarios reales sesuelen insertar en el fichero "/etc/shadow" (usndose el valor x para el campo clave de /etc/passwd),el cual slo puede ser ledo por el usuario root (los distintos programas encargados del controlde acceso al sistema, tales como /bin/login, /bin/su, ..., son ejecutados con permisos de usuarioroot, lo que les permite por tanto leer este fichero). Cada lnea del fichero corresponde a unusuario y presenta el siguiente formato:

    login:clave_encriptada:f1:f2:f3:f4:f5:f6:reservado_sin_uso

    donde los campos que siguen a la clave encriptada corresponden a las siguientes fechas: nmerode das (desde el 1/1/1970) del ltimo cambio de la clave (f1), nmero de das (desde la fechaactual) hasta los que el usuario no puede cambiar la clave (f2), nmero de das (desde la fechaactual) tras los que el usuario debera volver a cambiar la clave (f3), nmero de das (desde lafecha actual) tras los que se empezar a avisar al usuario que cambie la clave (f4), nmero dedas (desde la fecha actual) que la cuenta permanecer an activa tras expirar (f5), nmero dedas (desde el 1/1/1970) en los que la cuenta expirar (f6). Si estos campos estn vacos, no seaplica su funcin.

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-33-

    Si en el parmetro clave_encriptada aparece un carcter no vlido de clave tal como * o !,no se permite el login del usuario. Una clave encriptada que comienza por ! suele indicar queel usuario est bloqueado (lo que aparece despus de ! es la clave encriptada del usuario, perose ha aadido dicho carcter para impedirle temporalmente su acceso). Los usuarios con clave"!!" suelen ser usuarios "de sistema" (usados desde el superusuario para arrancar procesos conese usuario). Si esta campo est vaco, se permite el acceso del usuario sin clave.

    Como algoritmo de encriptacin pueden usarse varias opciones (DES, MD5, SHA1, ... vase mancrypt), siendo el algoritmo DES la opcin por defecto en su sistema. En cualquiera de los casos,el algotirmo de encriptacin siempre ser en un slo sentido, de modo que a partir de la claveencriptada no puede obtenerse la clave en texto plano. Cuando un usuario introduce su login yclave para abrir una sesin, el sistema encripta la clave introducida por el usuario. Tras ello, comparala cadena resultante de la encriptacin con la existente para ese usuario en el fichero "/etc/shadow",slo permitiendo el acceso si coinciden. Este mecanismo proporciona un control de acceso seguro,garantizando al mismo tiempo que ningn usuario (incluyendo el "root") pueda obtener la claveen texto plano de los dems usuarios del sistema.

    Adems de los usuarios, el sistema de permisos de Linux tambin define grupos. Al igual quecon los usuarios, cada grupo queda identificado unvocamente con un gid. Un grupo no es msque un nombre bajo el cual se referencia a mltiples usuarios. La utilidad de los grupos es asignarpermisos a un conjunto de usuarios (distintos al usuario propietario) en una sola operacin. Losgrupos estn definidos en el fichero "/etc/group", en el que cada lnea define un grupo y tieneel siguiente formato (los miembros de un determinado grupo sern los usuarios indicados en estefichero /etc/group, ms los usuarios que en el fichero /etc/passwd usan este grupo como grupoprincipal):

    nombre_grupo:x:gid:user1,user2,...,userN

    Al igual que para los usuarios, es posible definir una clave para los grupos, contenidas encriptadasen el fichero "/etc/gshadow", aunque no suele ser utilizada.

    El comando ls l n mostrara los ficheros indicando el UID/GID numricos (en lugarde traducirlos a su valor literal consultando /etc/passwd y "/etc/group"). Usualmente "ls" (aldefinirse como alias de ls --color=auto) representa en verde los ficheros que tienen permisosde ejecucin (lo cual es modificable con el comando dircolors, que cambia la variable LS_COLORS).Si ejecute /bin/ls -l no se aplicar el alias, pudiendo apreciarse la diferencia de coloreado.

    Resulta importante que diferencie entre los usuarios definidos existentes en el sistema (los recogidosen el fichero "/etc/passwd"), de las carpetas del directorio "/home" (que pueden ser carpetas personaleso no, y no todos los usuarios tienen que tener aqu su carpeta personal) y de los usuarios con sesionesabiertas ya analizados anteriormente (comandos "who, w, users, last").

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    5 De forma precisa, ste es el comportamiento si en /etc/login.defs la variable USERGROUPS_ENAB tomael valor yes (o siempre que a adduser se le indique el parmetro --user-group). Si la variable vale no (oa adduser se le indica el parmetro --no-user-group), se configurar como grupo principal del usuario el GIDindicado en la variable GROUP de /etc/default/useradd, o 100 por omisin.

    6 "useradd usuario" crea el usuario sin clave ("adduser usuario" s solicita la clave), por loque no puede usarse para abrir una sesin (su campo clave en /etc/shadow vale "!"). Para que el usuario puedeser empleado para abrir una consola de comandos o grfica, se le debe asignar una clave mediante "passwdusuario".

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-34-

    Linux dispone de mltiples comandos para la gestin de los usuarios y grupos del sistema, entrelos que destacan:

    Bsicossu, sudo, kdesu, gksu, adduser, useradd, userdel,passwd, usermod, addgroup, groupadd, groupdel, id,groups, finger, users, who, w, last

    ParaProfundizar

    whoami, login, newgrp, newusers, chsh, chfn,groupmod, gpasswd, chpasswd, login, pwck, grpck,umask, quota, edquota, quotacheck, quotaon, quo-ta_nld, repquota, warnquota

    Por su frecuente uso, deben resaltarse especialmente los siguientes comandos:

    Comando Funcin

    adduser user

    Crea el usuario "user" y, al mismo tiempo, crea ungrupo con ese mismo nombre "user" (si el grupo yaexiste, aade el usuario al mismo), indicndolo enel fichero "/etc/passwd" como grupo "principal" delusuario5. Tambin crea la carpeta personal del usuario(en /home/user por omisin).

    adduser [-gid GID] user Crea el usuario configurndole como grupo principalel grupo con el GID indicado (el grupo debe existir).

    adduser user grupo Aade user a grupo (ambos existentes).useradd [-g grupo] user Idem adduser, con distintos parmetros (POSIX)6.

    userdel [-r] user

    Borra el usuario (su entrada en /etc/passwd). Tambinborra la carpeta personal si se indica -r Tras borrarun usuario, su UID est libre para un nuevo usuario(heredara los ficheros, aun existentes en el sistema,del usuario borrado).

    passwd [user] Cambiar la contrasea de un usuario.

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    Comando Funcin

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-35-

    usermod [-d dir | -u UID| -g grupo | -l login | -s shell | ... ] user

    Cambia la configuracin (carpeta personal, UID, grupoprincipal, nombre de usuario, shell, ...) del usuario

    addgroup grupo Crea un grupo (los usuarios se aaden con "adduser").groupadd grupo Idem addgroup, con distintos parmetros (POSIX).groupdel grupo Elimina el grupo.

    gpasswd grupo [-d/a user] Modificar la clave o los miembros de un grupo (editael fichero /etc/group)

    id [user]groups [user] Muestra los grupos a los que pertenece un usuario.

    finger user Informacin detallada de un determinado usuarioobtenida de /etc/passwd.

    finger, users, who, wMuestran los usuarios a los que pertenece cada sesinde shell (local o remota) actualmente abierta en elsistema

    last Muestra un listado de las ltimas conexiones de shellrealizadas en el sistema

    Asimismo, merecen una explicacin adicional los siguientes comandos:

    C su [-] [user]: ejecuta el intrprete de comandos el usuario login indicado, consu uid y gid de su grupo principal; si el usuario al que se desea cambiar es "root",puede omitirse el login, usando simplemente "su"; para volver al usuario anterior alcambio hay que ejecutar el comando "exit" (no usar nuevamente su dado que elloprovoca una anidacin de sesiones que puede llevar a una sitacin inestable por desbordamiento).Entre las dos opciones "su user" y "su - user", la segunda asegura que todas lasvariables de entorno se configuren a las esperadas para el usuario "user", tal como seesperara tras un inicio de sesin normal ("/bin/login"); por ejemplo, la variable "PWD"(directorio actual), con "su" no se cambia, mientras que con "su -" se cambia a la carpetapersonal del usuario "user".

    C "sudo comando": permite que un usuario pueda ejecutar ciertos comandos (i.e. mount)como otro usuario (incluso segn la segn IP), segn se configure en /etc/sudoers.El contenido bsico de dicho fichero suele ser "%sudo ALL=(ALL) ALL", cuyo efectoes que cuando cualquier usuario del grupo "sudo" ejecute "sudo comando", se intentarinvocar dicho comando como superusuario. No obstante, debe tenerse en cuenta que "sudoers"admite muchas ms configuraciones (man sudoers).

  • BLOQUE I: ADMINISTRACIN BSICA DE S.O.S LINUX PRCTICA 1: INTRODUCCIN A LA ADMINISTRACIN DE LINUX

    FUNDAMENTOS DE APLICACIONES Y SERVICIOS TELEMTICOS DEPARTAMENTO DE INGENIERA TELEMTICA (DIT)-36-

    TAR

    EAS

    1 Consulte el manual de ayuda de los distintos comandos mencionados para conocersu funcionalidad.

    2 Usando el usuario root, vea el contenido de los ficheros /etc/passwd,/etc/shadow, /etc/group y /etc/gshadow.

    3 Editando manualmente los ficheros anteriores (salvo la generacin de la clave, quedeber hacerla mediante el comando "passwd"), cree el usuario user1 (con clavede acceso 12345, carpeta personal /home/user1, y shell /bin/bash) pertenecientea group1 como grupo principal.

    4 Usando los comandos apropiados (sin editores de texto), cree el usuario user2(con clave de acceso 12345, carpeta personal /home/user2, y shell /bin/bash)tambin perteneciente a group1 como grupo principal.

    5 Usando el comando adecuado, cree el grupo group2 al que pertenezca el usuariouser1.

    6 Usando el comando adecuado, cambia la definicin de user2 para que su grupoprincipal sea group2.

    7 Usando el comando adecuado, modifique group2 para que contenga los usuariosafast, user1 y user2.

    8 Usando el comando adecuado, modifique el shell del usuario user1 para que