Centro de Informática. Sistemas Operativos II. Curso 2000, reedición 2o. Semestre, versión "c"

Prueba parcial 2/2c

1. Escribir un script que reciba un nombre de máquina y la busque en el archivo /etc/hosts. Si la máquina existe, devolverá su número IP; si no existe, emitirá un mensaje adecuado. El diálogo tendrá esta forma:

Si la máquina existe:

Resolución de número IP.

Nombre máquina: ampere.iie.edu.uy

La máquina ampere.iie.edu.uy tiene número IP 164.73.224.40

Si la máquina no existe:

Resolución de Número IP.

Nombre máquina: ampe

La máquina ampe no existe.

Recordar que los caracteres de separación en /etc/hosts pueden ser espacios o tabuladores. El nombre de una máquina debe ser una palabra, no sólo una cadena: en el ejemplo, la máquina ampe no existe, pero sí existe ampere. (15 puntos)

 

Estructura del archivo /etc/hosts:

#número_IP nombre_máquina alias

10.137.137.250    liebre.cdi.edu.uy liebre localhost mailhost

 

2. Los intentos fallidos de login se registran con líneas del tipo
  Set 5 6:29:57 liebre login[486]: invalid password for `UNKNOWN' on `ttyp2' from `tero'
  Oct 11 16:33:48 liebre login[492]: invalid password for `victor' on `ttyp2' from `liebre'
  Dec 15 19:49:01 liebre login[492]: invalid password for `cristina' on `ttyp2' from `nutria'
en el archivo auth.log en el directorio /var/log. Cuando este archivo se hace muy grande, se aplica una rotación de archivos que genera auth.log.0, authlog.1.gz, auth.log.2.gz, ..., auth.log.9.gz. Los archivos terminados en .gz están comprimidos, pero pueden visualizarse con zcat, comando análogo a cat.
Construir un script que examine todos los archivos auth.log* y emita un listado de nombres de login fallidos (mensaje "invalid password") y su cantidad, en un listado del tipo
      9 UNKNOWN
      3 cristina
      6 root
      3 victor
(15 puntos).
 

3. La lista de correos electrónicos de interesados en recibir un boletín mensual de novedades se encuentra en un archivo de este formato:
  # LISTA ENVIO BOLETIN ELECTRONICO
  # nombre alumno:dirección e-mail:situación
  Julio Pérez:jperez@adinet.com.uy:enlista
  Mariela Lombardo::notiene
  Adán Paz:apaz@netgate.com.uy:noenvio
  Gabriel Giménez:ggime@multi.com.uy:enlista
Las categorías son: enlista (desea recibir el boletín), noenvio (no desea recibir el boletín), notiene (no tiene correo electrónico). Escribir un script que muestre cantidad y porcentaje de cada categoría. ¿Qué modificación habría que hacer al script si no se conocen a priori los nombres de las categorías? (20 puntos).