Administración de sistemas UNIX/Linux Práctica Colección de

Anuncio
Administración de sistemas UNIX/Linux
Práctica Colección de scripts para la configuración de
una infraestructura de máquinas UNIX
Curso 2013/2014
Introducción
Esta práctica consiste en la elaboración de un conjunto de scripts de administración
de servidores y clientes UNIX para facilitar el proceso de instalación y configuración
de dichas máquinas a un administrador. El trabajo se realizará de forma individual,
y su calificación supondrá la totalidad de la nota de la parte práctica de UNIX en la
convocatoria de julio de 2014.
Fechas importantes
• Entrega final: 30 de junio de 2014.
La entrega se debe hacer por correo electrónico, directamente a los profesores de la
parte de UNIX de la asignatura: jhernando@fi.upm.es, jmontes@fi.upm.es.
1 Sistema objetivo
El sistema sobre el que se debe realizar la práctica está formado por dos máquinas
virtuales de VirtualBox con sistema operativo GNU/Linux Ubuntu 13.10, versión Server
para el servidor y Client para el cliente. El trabajo debe realizarse obligatoriamente
en estas máquinas. Las mismas máquinas virtuales serán utilizadas después para la
evaluación de las prácticas entregadas. Las máquinas se encuentran disponibles para su
descarga en las siguientes URLs:
• http://laurel.datsi.fi.upm.es/~jhernando/ASI_2013_Server.tar.gz
• http://laurel.datsi.fi.upm.es/~jhernando/ASI_2013_Client.tar.gz
Dado el tamaño de los ficheros, en caso de tener problemas con la descarga de las
máquinas, el alumno deberá ponerse en contacto con los profesores de la asignatura
para obtener una copia en mano. Para su uso, una vez desempaquetado cada tar.gz
Administración UNIX/Linux - Práctica Colección de scripts
pag.1
y antes de arrancar las máquinas con VirtualBox, deberán descomprimirse los ficheros
bzip2 con la imagen de disco de cada una de las máquinas (Server-root.vdi.bz2 y
Client-root.vdi.bz2. En sistemas Linux basta con hacer bunzip2 nombre fichero.bz2 .
Ambas máquinas tienen un usuario creado con el mismo nombre y contraseña:
• Nombre: practicas
• Contraseña: .practic@s
En ambas máquinas se han instalado las extensiones de cliente para facilitar el intercambio de ficheros entre la máquina virtual y la máquina anfitrión. En caso de anfitriones
Linux, se han preconfigurado una carpeta compartida de VirtuaBox y /etc/fstab en
el cliente para poder montar el directorio raı́z del anfitrión en /mnt/host dentro de la
máquina virtual, para ello basta con hacer sudo mount host.
1.1 Máquina servidora
La primera de las dos máquinas virtuales preparadas para la práctica se denomina
máquina servidora y su nombre de host es asi2013-server. Contiene una instalación
básica de Ubuntu 13.10 Server, dos interfaces de red y cinco discos duros virtuales. El
primero de estos discos contiene el sistema operativo en una única partición. Los otros
cuatro deben ser utilizados durante la realización de la práctica. Una de las interfaces
de red está configurada para tener salida a Internet a través del NAT de VirtualBox.
La otra está configurada para conectarse a una LAN virtual compartida con la máquina
cliente. Dicha interfaz está configurada además para hacer enrutado de paquetes y NAT,
de manera que proporciona a la máquina cliente salida a Internet.
En esta máquina el alumno deberá programar una serie de scripts bash. Tras la ejecución de dichos scripts, la máquina deberá tener instalados y configurados los siguientes
servicios:
• Directorio /home/ alojado en un sistema RAID 5.
• Servidor de autenticación NIS.
• Directorio /home/ exportado por NFS.
• Scripts de generación automática de usuarios y grupos disponibles al administrador.
Los scripts necesarios para conseguir dichas funcionalidades se describen en detalle
más adelante.
1.2 Máquina cliente
La segunda de las dos máquinas virtuales preparadas para la práctica se denomina
máquina cliente y su nombre de host es asi2013-client. Contiene una instalación
básica de Ubuntu 13.10 Desktop, una interfaz de red y un disco duro virtual con el sistema
Administración UNIX/Linux - Práctica Colección de scripts
pag.2
operativo instalado. La interfaz de red tiene configurada una IP estática para conectarse
a la LAN virtual compartida con la máquina servidora y utilizar a ésta como pasarela.
También se han instalado las extensiones de cliente de VirtualBox y preconfigurado una
carpeta compartida para montar el directorio raı́z del anfitrión en /mnt/host.
En esta máquina el alumno deberá programar una serie de scripts bash. Tras la ejecución de dichos scripts, la máquina deberá tener instalados y configurados los siguientes
servicios:
• Directorio /home/ montado por NFS desde la máquina servidora.
• Autenticación remota contra el servidor NIS de la máquina servidora.
Los scripts necesarios para conseguir dichas funcionalidades se describen en detalle
mas adelante.
2 Realización de la práctica
Para completar la práctica, el alumno deberá realizar las siguientes tareas:
1. Programación del script configurar RAID.sh para la máquina servidora.
2. Programación del script configurar servidor NIS.sh para la máquina servidora
y del script configurar cliente NIS.sh para la máquina cliente.
3. Programación del script configurar servidor NFS.sh para la máquina servidora
y del script configurar cliente NFS.sh para la máquina cliente.
4. Programación del script generar usuarios.sh para la máquina servidora.
5. Programación del script maestro del la máquina servidora (configurar servidor.sh)
y del script maestro del la máquina cliente (configurar cliente.sh).
6. Redacción de una memoria que describa el funcionamiento y proceso de elaboración
de los scripts anteriores.
IMPORTANTE: Todas la operaciones de administración deberán realizarse dentro
de los scripts (inclyendo la instalación de los paquetes necesarios, por ejemplo). El
objetivo es que dichos scripts funcionen correctamente ejecutados como superusuario
sobre las máquinas virtuales tal cual se proporcionan, obteniéndose la funcionalidad
requerida sin ninguna operación manual adicional. Cualquier script que no cumpla con
este requisito será considerado incorrecto.
Administración UNIX/Linux - Práctica Colección de scripts
pag.3
2.1 Script configurar RAID.sh
Este script bash se utilizará en la máquina servidora. Se debe programar de forma que se
pueda ejecutar con la máquina “limpia”, es decir, tal y como se proporciona al alumno.
El resultado de su ejecución debe ser el siguiente:
• Se habrá creado un sistema RAID 5 utilizando los 4 discos disponibles en la
máquina y el servicio mdadm.
• Se habrá creado un sistema de ficheros ext4 en dicho RAID.
• Se habrá copiado toda la información contenida en el directorio /home/ al RAID
• Se habrá configurado el sistema para que el nuevo RAID se monte automáticamente
en /home/ al arranque de la máquina.
Todas estas operaciones deberán realizarse dentro de dicho script.
2.2 Scripts configurar servidor NIS.sh y configurar cliente NIS.sh
Estos scripts bash servirán para configurar el servidor (en la máquina servidora) y el
cliente (en la máquina cliente) de autenticación remota NIS. Al igual que el resto de
scripts, se deben programar de forma que se pueda ejecutar con la máquina “limpia”,
es decir, tal y como se proporciona al alumno. El resultado de su ejecución debe ser el
siguiente:
• El servidor de NIS debe estar instalado y funcionando en la máquina servidora.
• El cliente de NIS debe estar instalado y funcionando en la máquina cliente.
Todas las operaciones de administración necesarias (instalación de software, modificación de ficheros de configuración, etc.) deberán realizarse desde dentro de los scripts.
2.3 Scripts configurar servidor NFS.sh y configurar cliente NFS.sh
Estos scripts bash servirán para configurar el servidor (en la máquina servidora) y el
cliente (en la máquina cliente) de NFS. Al igual que el resto de scripts, se deben programar de forma que se pueda ejecutar con la máquina “limpia”, es decir, tal y como se
proporciona al alumno. El resultado de su ejecución debe ser el siguiente:
• El servidor de NFS debe estar instalado y funcionando en la máquina servidora, y
el directorio /home/ exportado.
• El directorio exportado por el servidor debe estar montado en la ruta /home/ de
la máquina cliente.
Todas las operaciones de administración necesarias (instalación de software, modificación de ficheros de configuración, etc.) deberán realizarse desde dentro de los scripts.
Administración UNIX/Linux - Práctica Colección de scripts
pag.4
2.4 Script generar usuarios.sh
Este script bash servirá para automatizar el proceso de creación de usuarios y grupos en
la máquina servidora. El script debe ser capaz de crear conjuntos de usuarios de forma
rápida. El script creará una serie de grupos y usuarios dentro de éstos. Los nombres
de dichos usuarios estarán formados por una cadena base (nombre del grupo), seguida
de un número entero que los diferencie. Si algún usuario ya existı́a, deberá añadirlo
al grupo solicitado como grupo adicional. En ningún caso el programa debe fallar por
causa de grupos o usuarios ya existentes.
El script no debe esperar ninguna información adicional por parte del usuario que
lo ejecuta. En el caso de las contraseñas para los usuarios creados, estas deben consistir
en cadenas de 12 caracteres aleatorios generadas automáticamente por el script. Para
su consulta y gestión por el administrados dichas claves deben ser almacenadas en un
fichero denominado claves que contenga por cada lı́nea el nombre de cada usuario
creado seguido de su contraseña separada por un único espacio en blanco.
El script debe recibir una lista variable de parámetros. Estos parámetros serán pares
nombre de grupo y número de usuarios. El script creará cada uno de los grupos indicados
y el número de usuarios correspondientes. Un posible ejemplo de uso de dicho script
podrı́a ser:
$ crear_usuarios.sh dev 2 ventas 1 publi 3
Esto crearı́a los siguientes usuarios y grupos:
• Grupo dev con los usuarios dev1 y dev2.
• Grupo ventas con el usuario ventas1.
• Grupo publi con los usuarios publi1 y publi2
2.5 Scripts maestros
Los scripts maestros facilitarán mas aún la tarea del administrador, ejecutando de manera secuencial los scripts anteriores. Esto permite la configuración completa de cada
máquina de manera totalmente automatizada.
La ejecución del script configurar servidor.sh en la máquina servidora, además
de ejecutar los scripts de configuración de servicios, deberá ejecutar también el script
de creación de cuentas. Los argumentos de entrada recibidos deberán ser redirigidos
integramente al script generar usuarios.sh. El resultado final deberá ser:
• Sistema RAID configurado y montado en /home/.
• Servidor NIS funcionando.
• Directorio /home/ exportado por NFS.
Administración UNIX/Linux - Práctica Colección de scripts
pag.5
• Creación de las cuentas de usuario y grupos especificados a través de los parámetros
de entrada.
De igual forma, la ejecución del script configurar cliente.sh en la máquina cliente
deberá producir los siguientes resultados:
• Ciente NIS funcionando y conectado a la máquina servidora.
• Directorio /home/ montado por NFS desde la máquina servidora.
IMPORTANTE: Los scripts maestros deberán hacer uso de los demás scripts programados para esta práctica. En ningún caso se deberá replicar código de éstos.
2.6 Memoria de la práctica
Por último, el alumno deberá elaborar una breve memoria de la práctica, explicando
el funcionamiento de cada script programado, ası́ como cualquier dificultad o aspecto
de interés. La memoria debe ser un documento formal, correctamente estructurado,
redactado y formateado usando alguna herramienta de procesamiento y edición de textos
(Microsoft Word, LATEX, etc.). Debe contener figuras explicativas, tablas y otros recursos
que ayuden a la comprensión del documento. No se debe descuidar la redacción
de la memoria, ya que podrı́a afectar negativamente a la nota final.
IMPORTANTE: La memoria NO debe contener el código de los scripts, que se entregarán aparte.
3 Entrega
El alumno deberá entregar la práctica por correo electrónico, a cualquiera de los profesores de la parte de UNIX de la asignatura: jhernando@fi.upm.es, jmontes@fi.upm.es.
La entrega deberá constar de un único fichero comprimido (zip, rar, tgz, ...). El
contenido de dicho fichero debe ser:
• Script configurar RAID.sh.
• Script configurar servidor NIS.sh.
• Script configurar cliente NIS.sh.
• Script configurar servidor NFS.sh.
• Script configurar cliente NFS.sh.
• Script generar usuarios.sh.
• Script configurar servidor.sh.
• Script configurar cliente.sh.
• Cualquier otro fichero auxiliar del que hagan uso los scripts anteriores.
• Memoria de la práctica (en pdf).
Administración UNIX/Linux - Práctica Colección de scripts
pag.6
4 Evaluación
La evaluación de la práctica se llevará a cabo usando las misma maquinas virtuales
puestas a disposición del alumno para su realización. La calificación otorgada será de 0
a 10 puntos, repartidos de la siguiente forma:
Parte
Configuración RAID
(configurar RAID.sh)
Configuración NIS
(configurar servidor NIS.sh,
configurar cliente NIS.sh.)
Configuración NFS
(configurar servidor NFS.sh,
configurar cliente NFS.sh.)
Generación de usuarios
(generar usuarios.sh)
Scripts maestros
(configurar servidor.sh,
configurar cliente.sh) y
documento de memoria
Puntuación máxima
2 puntos
2 puntos
2 puntos
2 puntos
2 puntos
La calificación obtenida supondrá el total de la parte práctica de UNIX (40%
de la nota total de la asignatura) para la convocatoria de julio.
Administración UNIX/Linux - Práctica Colección de scripts
pag.7
Descargar